[PATCH 21/24] sysctl: ipv6: register addrconf tables as private children

From: Lucian Adrian Grijincu
Date: Fri Apr 01 2011 - 22:55:54 EST


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@xxxxxxxxx>
---
net/ipv6/addrconf.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

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;

--
1.7.5.rc0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/