diff mbox

net: unix: make some variables constant

Message ID 1287465842-2958-1-git-send-email-xiaosuo@gmail.com
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

Changli Gao Oct. 19, 2010, 5:24 a.m. UTC
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

Comments

Eric Dumazet Oct. 19, 2010, 5:47 a.m. UTC | #1
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
stephen hemminger Oct. 19, 2010, 6:03 a.m. UTC | #2
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
Changli Gao Oct. 19, 2010, 6:03 a.m. UTC | #3
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 mbox

Patch

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", },
 	{ },