| Submitter | Lucian Adrian Grijincu |
|---|---|
| Date | April 2, 2011, 2:53 a.m. |
| Message ID | <89845283d0ed5cfbb63b2b3b5a1f52e425d239d6.1301711868.git.lucian.grijincu@gmail.com> |
| Download | mbox | patch |
| Permalink | /patch/89396/ |
| State | Deferred |
| Delegated to: | David Miller |
| Headers | show |
Comments
Patch
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 6833fcb..6ac29d0 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -4512,8 +4512,8 @@ static int __addrconf_sysctl_register(struct net *net, char *dev_name, addrconf_ctl_path[ADDRCONF_CTL_PATH_DEV].procname = t->dev_name; - t->sysctl_header = register_net_sysctl_table(net, addrconf_ctl_path, - t->addrconf_vars); + t->sysctl_header = register_net_sysctl_table_with_parent(net, + addrconf_ctl_path, t->addrconf_vars, net->ipv6.sysctl.conf_hdr); if (t->sysctl_header == NULL) goto free_procname;
This halves the time it takes to add an interface: $ time modprobe dummy numdummies=$n Without this patch: - n=5000 => real: 9:14m, sys: 8:46m - n=2000 => real: 1:19m, sys: 1:17m - n=1000 => real: 0:14m, sys: 0:14m With this patch: - n=5000 => real: 4:43m, sys: 4:32m - n=2000 => real: 0:39m, sys: 0:39m - n=1000 => real: 0:07m, sys: 0:07m Signed-off-by: Lucian Adrian Grijincu <lucian.grijincu@gmail.com> --- net/ipv6/addrconf.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)