Message ID | 1287465842-2958-1-git-send-email-xiaosuo@gmail.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
Le mardi 19 octobre 2010 à 13:24 +0800, Changli Gao a écrit : > And since ctl_table.data is initialized later, we don't need to initialize > the data member of the template variable unix_table. > The init cost is nothing, since its a data blob that must be there anyway. We could even avoid the kmemdup() if CONFIG_NET_NS is not set -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, 19 Oct 2010 13:24:02 +0800 Changli Gao <xiaosuo@gmail.com> wrote: > And since ctl_table.data is initialized later, we don't need to initialize > the data member of the template variable unix_table. > > Signed-off-by: Changli Gao <xiaosuo@gmail.com> > --- > net/unix/sysctl_net_unix.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > diff --git a/net/unix/sysctl_net_unix.c b/net/unix/sysctl_net_unix.c > index 397cffe..1114ccc 100644 > --- a/net/unix/sysctl_net_unix.c > +++ b/net/unix/sysctl_net_unix.c > @@ -15,10 +15,9 @@ > > #include <net/af_unix.h> > > -static ctl_table unix_table[] = { > +const static ctl_table unix_table[] = { Typical convention is "static const" rather than "const static" git grep 'const static' | wc -l => 5 git grep 'static const' | wc -l => 18589
On Tue, Oct 19, 2010 at 1:47 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > Le mardi 19 octobre 2010 à 13:24 +0800, Changli Gao a écrit : >> And since ctl_table.data is initialized later, we don't need to initialize >> the data member of the template variable unix_table. >> > > The init cost is nothing, since its a data blob that must be there > anyway. Yes. I have tried to avoid global variable unix_table and unix_path, then I got a bigger kernel image, so I gave it up. > > We could even avoid the kmemdup() if CONFIG_NET_NS is not set > > It is a good idea. We can check if the NS is init_net before kmalloc and kfree. I'll send a update patch later. Thanks.
diff --git a/net/unix/sysctl_net_unix.c b/net/unix/sysctl_net_unix.c index 397cffe..1114ccc 100644 --- a/net/unix/sysctl_net_unix.c +++ b/net/unix/sysctl_net_unix.c @@ -15,10 +15,9 @@ #include <net/af_unix.h> -static ctl_table unix_table[] = { +const static ctl_table unix_table[] = { { .procname = "max_dgram_qlen", - .data = &init_net.unx.sysctl_max_dgram_qlen, .maxlen = sizeof(int), .mode = 0644, .proc_handler = proc_dointvec @@ -26,7 +25,7 @@ static ctl_table unix_table[] = { { } }; -static struct ctl_path unix_path[] = { +const static struct ctl_path unix_path[] = { { .procname = "net", }, { .procname = "unix", }, { },
And since ctl_table.data is initialized later, we don't need to initialize the data member of the template variable unix_table. Signed-off-by: Changli Gao <xiaosuo@gmail.com> --- net/unix/sysctl_net_unix.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html