All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benny Halevy <bhalevy@panasas.com>
To: "J. Bruce Fields" <bfields@fieldses.org>,
	Tom Tucker <tom@opengridcomputing.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: [PATCH 01/11] svcrdma: Add a type for keeping NFS RPC mapping
Date: Tue, 24 Jun 2008 23:31:14 +0300	[thread overview]
Message-ID: <48615992.3080007@panasas.com> (raw)
In-Reply-To: <20080624195838.GE15786@fieldses.org>

J. Bruce Fields wrote:
> On Mon, Jun 23, 2008 at 09:58:21PM -0500, Tom Tucker wrote:
>> J. Bruce Fields wrote:
>>> On Sat, Jun 21, 2008 at 11:31:43AM -0500, Tom Tucker wrote:
>>>   
>>>> J. Bruce Fields wrote:
>>>>     
>>>>> On Thu, May 29, 2008 at 12:54:46PM -0500, Tom Tucker wrote:
>>>>>> diff --git a/net/sunrpc/xprtrdma/svc_rdma.c b/net/sunrpc/xprtrdma/svc_rdma.c
>>>>>> index 88c0ca2..545ea72 100644
>>>>>> --- a/net/sunrpc/xprtrdma/svc_rdma.c
>>>>>> +++ b/net/sunrpc/xprtrdma/svc_rdma.c
>>>>>> @@ -69,6 +69,9 @@ atomic_t rdma_stat_rq_prod;
>>>>>>  atomic_t rdma_stat_sq_poll;
>>>>>>  atomic_t rdma_stat_sq_prod;
>>>>>>  +/* Temporary NFS request map cache */
>>>>>> +struct kmem_cache *svc_rdma_map_cachep = NULL;
>>>>>>             
>>>>> No need to initialize globals to NULL.
>>>>>
>>>>>         
>>>> I thought only static objects were initialized per the C standard. Or 
>>>>  are you saying that this particular
>>>> global doesn't need to be initialized because of the way it is used?
>>>>     
>>> I don't know if the initialization is mandated by the standards or
>>> whether it's just gcc behavior, but I know I get a complaint every time
>>> somebody finds one of those....

The implicit initialization to zero was defined back then by K&R:
http://www.cs.utah.edu/~phister/K_n_R/chapter4.html#s4.9
"In the absence of explicit initialization, external and static variables
are guaranteed to be initialized to zero"

AFAIK this convention was kept by the C standards ever since.

>>>
>>>   
>> In this case, the initialization is unnecessary, so it can be safely dumped.
>>
>>> That may partly just be a preference for conciseness, but I think it may
>>> also allow gcc to put the thing in a different section and save some
>>> space in the on-disk kernel--I don't know.
>>>
>>>   
>> Right -- un-initialized data goes in a different section, the .bss  
>> section in particular. Since the .bss section is not "initialized",  
>> there are no values (zeroes in this case) sitting in the object file  
>> ready to be mapped into whatever location becomes .bss. By contrast, the  
>> .data section contains initialized data and the initial values are  
>> sitting in the object file.
>>
>> So my question here is a little subtler:
>>
>> A. Do we discard _all_ zero initializations of non-static globals  
>> because we can safely assume that .bss is initialzed (not a fan of  
>> this),  or

Also static locals...  What matters is that the variable has
static allocation, its scope is irrelevant to the initialization
issue.

Benny

>>
>> B. Don't be an idiot and initialize objects unnecessarily because it  
>> bloats the kernel object file?
>>
>> An idiot voting for  B,
> 
> My understanding is that it's A--e.g. checkpatch.pl has a dumb regex
> that just checks for these assignments and whines about them however
> they're used.
> 
> Google doesn't find me any more detailed discussion of the policy.
> 
> --b.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


  reply	other threads:[~2008-06-24 20:31 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <12120836962076-git-send-email-tom@opengridcomputing.com>
2008-05-29 22:10 ` [PATCH 0/11] svcrdma: WR context management bug fixes and cleanup J. Bruce Fields
2008-05-29 22:25   ` Tom Tucker
     [not found]     ` <1212099937.22478.3.camel-SMNkleLxa3ZimH42XvhXlA@public.gmane.org>
2008-05-29 22:26       ` Roland Dreier
     [not found] ` <12120836962324-git-send-email-tom@opengridcomputing.com>
2008-06-16 19:48   ` [PATCH 01/11] svcrdma: Add a type for keeping NFS RPC mapping J. Bruce Fields
2008-06-21 16:31     ` Tom Tucker
2008-06-23 18:27       ` J. Bruce Fields
2008-06-24  2:58         ` Tom Tucker
2008-06-24 19:58           ` J. Bruce Fields
2008-06-24 20:31             ` Benny Halevy [this message]
2008-06-24 20:38             ` Trond Myklebust
     [not found]   ` <12120836963727-git-send-email-tom@opengridcomputing.com>
2008-06-16 21:04     ` [PATCH 02/11] svcrdma: Use RPC reply map for RDMA_WRITE processing J. Bruce Fields
2008-06-21 16:26       ` Tom Tucker
2008-06-23 18:21         ` J. Bruce Fields
2008-06-24  2:29           ` Tom Tucker
2008-06-21 16:51       ` Tom Tucker
2008-06-23 18:51         ` J. Bruce Fields
2008-06-24  3:02           ` Tom Tucker
     [not found]     ` <1212083697950-git-send-email-tom@opengridcomputing.com>
     [not found]       ` <1212083697236-git-send-email-tom@opengridcomputing.com>
     [not found]         ` <12120836973390-git-send-email-tom@opengridcomputing.com>
     [not found]           ` <12120836973638-git-send-email-tom@opengridcomputing.com>
     [not found]             ` <12120836973072-git-send-email-tom@opengridcomputing.com>
     [not found]               ` <12120836972503-git-send-email-tom@opengridcomputing.com>
     [not found]                 ` <12120836973166-git-send-email-tom@opengridcomputing.com>
     [not found]                   ` <12120836972648-git-send-email-tom@opengridcomputing.com>
2008-06-16 21:24                     ` [PATCH 10/11] svcrdma: Create a kmem cache for the WR contexts J. Bruce Fields
2008-06-21 17:08                       ` Tom Tucker
2008-07-03  2:27 [PATCH 00/11] svcrdma: WR context management bug fixes and cleanup Tom Tucker
2008-07-03  2:27 ` [PATCH 01/11] svcrdma: Add a type for keeping NFS RPC mapping Tom Tucker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48615992.3080007@panasas.com \
    --to=bhalevy@panasas.com \
    --cc=bfields@fieldses.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=tom@opengridcomputing.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.