Message ID | 8194561cfef6eec0ea462ef2e8e77546a226b499.1301711868.git.lucian.grijincu@gmail.com |
---|---|
State | Deferred, archived |
Delegated to: | David Miller |
Headers | show |
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;
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 <lucian.grijincu@gmail.com> --- net/ipv4/devinet.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)