Re: [PATCH] hugetlb_cgroup: explicitly init the early_init field
On 2014/4/22 15:01, Jianyu Zhan wrote: > Hi, hillf, > > On Tue, Apr 22, 2014 at 2:47 PM, Hillf Danton wrote: >> But other fields still missed, if any. Fair? > > yep, it is not fair. > > 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. > I don't see how things can be improved by initializing it to 0 explicitly, if anything needs to be improved. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] hugetlb_cgroup: explicitly init the early_init field
Hi, hillf, On Tue, Apr 22, 2014 at 2:47 PM, Hillf Danton wrote: > But other fields still missed, if any. Fair? yep, it is not fair. 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. Thanks, Jianyu Zhan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] hugetlb_cgroup: explicitly init the early_init field
On Tue, Apr 22, 2014 at 1:30 PM, Jianyu Zhan wrote: > For a cgroup subsystem who should init early, then it should carefully > take care of the implementation of css_alloc, because it will be called > before mm_init() setup the world. > > Luckily we don't, and we better explicitly assign the early_init field > to 0, for document reason. > But other fields still missed, if any. Fair? > Signed-off-by: Jianyu Zhan > --- > mm/hugetlb_cgroup.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c > index 595d7fd..b5368f8 100644 > --- a/mm/hugetlb_cgroup.c > +++ b/mm/hugetlb_cgroup.c > @@ -405,4 +405,5 @@ struct cgroup_subsys hugetlb_cgrp_subsys = { > .css_alloc = hugetlb_cgroup_css_alloc, > .css_offline= hugetlb_cgroup_css_offline, > .css_free = hugetlb_cgroup_css_free, > + .early_init = 0, > }; > -- > 2.0.0-rc0 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] hugetlb_cgroup: explicitly init the early_init field
On Tue, Apr 22, 2014 at 1:30 PM, Jianyu Zhan nasa4...@gmail.com wrote: For a cgroup subsystem who should init early, then it should carefully take care of the implementation of css_alloc, because it will be called before mm_init() setup the world. Luckily we don't, and we better explicitly assign the early_init field to 0, for document reason. But other fields still missed, if any. Fair? Signed-off-by: Jianyu Zhan nasa4...@gmail.com --- mm/hugetlb_cgroup.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c index 595d7fd..b5368f8 100644 --- a/mm/hugetlb_cgroup.c +++ b/mm/hugetlb_cgroup.c @@ -405,4 +405,5 @@ struct cgroup_subsys hugetlb_cgrp_subsys = { .css_alloc = hugetlb_cgroup_css_alloc, .css_offline= hugetlb_cgroup_css_offline, .css_free = hugetlb_cgroup_css_free, + .early_init = 0, }; -- 2.0.0-rc0 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] hugetlb_cgroup: explicitly init the early_init field
Hi, hillf, On Tue, Apr 22, 2014 at 2:47 PM, Hillf Danton dhi...@gmail.com wrote: But other fields still missed, if any. Fair? yep, it is not fair. 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. Thanks, Jianyu Zhan -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] hugetlb_cgroup: explicitly init the early_init field
On 2014/4/22 15:01, Jianyu Zhan wrote: Hi, hillf, On Tue, Apr 22, 2014 at 2:47 PM, Hillf Danton dhi...@gmail.com wrote: But other fields still missed, if any. Fair? yep, it is not fair. 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. I don't see how things can be improved by initializing it to 0 explicitly, if anything needs to be improved. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/