[PATCH] net: unix: make some variables constant

Subsystems: networking [general], networking [unix sockets], the rest

STALE5793d

4 messages, 3 authors, 2010-10-19 · open the first message on its own page

[PATCH] net: unix: make some variables constant

From: Changli Gao <hidden>
Date: 2010-10-19 05:24:20

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 <redacted>
---
 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[] = {
 	{
 		.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", },
 	{ },

Re: [PATCH] net: unix: make some variables constant

From: Eric Dumazet <hidden>
Date: 2010-10-19 05:47:49

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



Re: [PATCH] net: unix: make some variables constant

From: Stephen Hemminger <hidden>
Date: 2010-10-19 06:03:24

On Tue, 19 Oct 2010 13:24:02 +0800
Changli Gao [off-list ref] wrote:
quoted hunk
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 <redacted>
---
 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

-- 

Re: [PATCH] net: unix: make some variables constant

From: Changli Gao <hidden>
Date: 2010-10-19 06:03:54

On Tue, Oct 19, 2010 at 1:47 PM, Eric Dumazet [off-list ref] wrote:
Le mardi 19 octobre 2010 à 13:24 +0800, Changli Gao a écrit :
quoted
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.

-- 
Regards,
Changli Gao(xiaosuo@gmail.com)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help