Re: [PATCH] hugetlb_cgroup: explicitly init the early_init field

2014-04-22 Thread Li Zefan
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

2014-04-22 Thread Jianyu Zhan
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

2014-04-22 Thread Hillf Danton
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

2014-04-22 Thread Hillf Danton
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

2014-04-22 Thread Jianyu Zhan
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

2014-04-22 Thread Li Zefan
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/