diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2012-01-08 02:45:12 -0500 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2012-01-24 19:40:30 -0500 |
commit | 9e3d47df35abd6430fed04fb40a76c7358b1e815 (patch) | |
tree | 8c7fe500d2cefdf99b1128e60178045a39f1a864 /include/linux | |
parent | e54012cede6749528899f66a72312522a179d427 (diff) |
sysctl: Make the header lists per directory.
Slightly enhance efficiency and clarity of the code by making the
header list per directory instead of per set.
Benchmark before:
make-dummies 0 999 -> 0.63s
rmmod dummy -> 0.12s
make-dummies 0 9999 -> 2m35s
rmmod dummy -> 18s
Benchmark after:
make-dummies 0 999 -> 0.32s
rmmod dummy -> 0.12s
make-dummies 0 9999 -> 1m17s
rmmod dummy -> 17s
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/sysctl.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index cec59415b3ce..36dec756ef9d 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
@@ -1047,10 +1047,10 @@ struct ctl_table_header | |||
1047 | struct ctl_dir { | 1047 | struct ctl_dir { |
1048 | /* Header must be at the start of ctl_dir */ | 1048 | /* Header must be at the start of ctl_dir */ |
1049 | struct ctl_table_header header; | 1049 | struct ctl_table_header header; |
1050 | struct list_head list; | ||
1050 | }; | 1051 | }; |
1051 | 1052 | ||
1052 | struct ctl_table_set { | 1053 | struct ctl_table_set { |
1053 | struct list_head list; | ||
1054 | int (*is_seen)(struct ctl_table_set *); | 1054 | int (*is_seen)(struct ctl_table_set *); |
1055 | struct ctl_dir dir; | 1055 | struct ctl_dir dir; |
1056 | }; | 1056 | }; |