Re: [PATCH] blk-cgroup: explicitly init the early_init field

From: Jens Axboe
Date: Tue Apr 22 2014 - 17:15:58 EST


On 04/22/2014 08:18 AM, Jianyu Zhan wrote:
> On Tue, Apr 22, 2014 at 10:16 PM, Jens Axboe <axboe@xxxxxxxxx> wrote:
>> The rest of the members will be zero-filled by default, so your patch should
>> not change anything.
>
> Hi, Jens
>
> I'm sorry I should have made this more clear.
>
> Sure, for this global variable struct, if not initailized, its all
> fields will be initialized
> to 0 or null(depending on its type). The point here is no to deprive
> the rights of compiler/linker of doing this initialization, it is mainly for
> documentation reason. Actually this field's value would affect how ->css_alloc
> should implemented.
>
> Concretely, if early_init is nonzero, then ->css_alloc *must not* call kzalloc,
> because in cgroup implementation, ->css_alloc will be called earlier before
> mm_init().
>
> I don't think that the value of one field(early_init) has a so subtle
> restrition on the another field(css_alloc) is a good thing, but since
> it is there, docment it should be needed.

Then just add the comment instead. The fact the members following the
last " = something," are zeroed is a common theme in the kernel, if you
just add a patch that blindly (and unnecessarily) zeroes one other
member, somebody else will likely find that odd and remove it again.

To be honest, I don't see much of a need to do anything here, really.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/