summaryrefslogtreecommitdiff
path: root/include/linux/sysctl.h
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2012-01-08 11:45:12 +0400
committerEric W. Biederman <ebiederm@xmission.com>2012-01-25 04:40:30 +0400
commit9e3d47df35abd6430fed04fb40a76c7358b1e815 (patch)
tree8c7fe500d2cefdf99b1128e60178045a39f1a864 /include/linux/sysctl.h
parente54012cede6749528899f66a72312522a179d427 (diff)
downloadlinux-9e3d47df35abd6430fed04fb40a76c7358b1e815.tar.xz
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/sysctl.h')
-rw-r--r--include/linux/sysctl.h2
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
struct ctl_dir {
/* Header must be at the start of ctl_dir */
struct ctl_table_header header;
+ struct list_head list;
};
struct ctl_table_set {
- struct list_head list;
int (*is_seen)(struct ctl_table_set *);
struct ctl_dir dir;
};