This halves the time it takes to add an interface:
$ time modprobe dummy numdummies=$n
Without this patch:
- n=5000 => real: 17:31m, sys 15:29m
- n=2000 => real: 2:23m, sys 2:19m
- n=1000 => real: 0:25m, sys 0:24m
With 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
Signed-off-by: Lucian Adrian Grijincu <redacted>
---
net/ipv4/devinet.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index a31cc90..2a10365 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -1656,8 +1656,8 @@ static int __devinet_sysctl_register(struct net *net, char *dev_name,
devinet_ctl_path[DEVINET_CTL_PATH_DEV].procname = t->dev_name;
- t->sysctl_header = register_net_sysctl_table(net, devinet_ctl_path,
- t->devinet_vars);
+ t->sysctl_header = register_net_sysctl_table_with_parent(net,
+ devinet_ctl_path, t->devinet_vars, net->ipv4.conf_hdr);
if (!t->sysctl_header)
goto free_procname;
--
1.7.5.rc0