public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf-event/cgroup: explicitly init the early_init field
@ 2014-04-22  5:28 Jianyu Zhan
  2014-04-22  6:06 ` Ingo Molnar
  0 siblings, 1 reply; 5+ messages in thread
From: Jianyu Zhan @ 2014-04-22  5:28 UTC (permalink / raw)
  To: a.p.zijlstra, paulus, mingo, acme; +Cc: linux-kernel, nasa4836

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.

Signed-off-by: Jianyu Zhan <nasa4836@gmail.com>
---
 kernel/events/core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/events/core.c b/kernel/events/core.c
index f83a71a..b3a8916 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -8062,5 +8062,6 @@ struct cgroup_subsys perf_event_cgrp_subsys = {
 	.css_free	= perf_cgroup_css_free,
 	.exit		= perf_cgroup_exit,
 	.attach		= perf_cgroup_attach,
+	.early_init	= 0,
 };
 #endif /* CONFIG_CGROUP_PERF */
-- 
2.0.0-rc0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] perf-event/cgroup: explicitly init the early_init field
  2014-04-22  5:28 [PATCH] perf-event/cgroup: explicitly init the early_init field Jianyu Zhan
@ 2014-04-22  6:06 ` Ingo Molnar
  2014-04-22  6:42   ` Jianyu Zhan
  2014-04-22  7:12   ` Jianyu Zhan
  0 siblings, 2 replies; 5+ messages in thread
From: Ingo Molnar @ 2014-04-22  6:06 UTC (permalink / raw)
  To: Jianyu Zhan; +Cc: a.p.zijlstra, paulus, mingo, acme, linux-kernel


* Jianyu Zhan <nasa4836@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.
> 
> Signed-off-by: Jianyu Zhan <nasa4836@gmail.com>
> ---
>  kernel/events/core.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index f83a71a..b3a8916 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -8062,5 +8062,6 @@ struct cgroup_subsys perf_event_cgrp_subsys = {
>  	.css_free	= perf_cgroup_css_free,
>  	.exit		= perf_cgroup_exit,
>  	.attach		= perf_cgroup_attach,
> +	.early_init	= 0,

How can that field ever be nonzero?

I.e. under what exact circumstances does this patch make sense?

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] perf-event/cgroup: explicitly init the early_init field
  2014-04-22  6:06 ` Ingo Molnar
@ 2014-04-22  6:42   ` Jianyu Zhan
  2014-04-22  7:12   ` Jianyu Zhan
  1 sibling, 0 replies; 5+ messages in thread
From: Jianyu Zhan @ 2014-04-22  6:42 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: a.p.zijlstra, paulus, mingo, acme, LKML

On Tue, Apr 22, 2014 at 2:06 PM, Ingo Molnar <mingo@kernel.org> wrote:
> How can that field ever be nonzero?
>
> I.e. under what exact circumstances does this patch make sense?

Hi, Ingo,

For cpuset subsystem, this filed is nonzero; for other subsystems, this is zero.
Actually none of these subsystem will change this field,  I just
thought that  this is
a little subtle. as the comment in patches says, this is mainly for
document reason
to inform other maintainers that css_alloc implementation should be
taken care of ,
depending on this field is zero or not.

Thanks,
Jianyu Zhan

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] perf-event/cgroup: explicitly init the early_init field
  2014-04-22  6:06 ` Ingo Molnar
  2014-04-22  6:42   ` Jianyu Zhan
@ 2014-04-22  7:12   ` Jianyu Zhan
  2014-04-22  9:31     ` Li Zefan
  1 sibling, 1 reply; 5+ messages in thread
From: Jianyu Zhan @ 2014-04-22  7:12 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: a.p.zijlstra, paulus, mingo, acme, LKML

On Tue, Apr 22, 2014 at 2:06 PM, Ingo Molnar <mingo@kernel.org> wrote:
> How can that field ever be nonzero?
>
> I.e. under what exact circumstances does this patch make sense?

Hi, Ingo,

More explanation.

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 could resend the patch with  more comment.

Thanks,
Jianyu Zhan

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] perf-event/cgroup: explicitly init the early_init field
  2014-04-22  7:12   ` Jianyu Zhan
@ 2014-04-22  9:31     ` Li Zefan
  0 siblings, 0 replies; 5+ messages in thread
From: Li Zefan @ 2014-04-22  9:31 UTC (permalink / raw)
  To: Jianyu Zhan; +Cc: Ingo Molnar, a.p.zijlstra, paulus, mingo, acme, LKML

On 2014/4/22 15:12, Jianyu Zhan wrote:
> On Tue, Apr 22, 2014 at 2:06 PM, Ingo Molnar <mingo@kernel.org> wrote:
>> How can that field ever be nonzero?
>>
>> I.e. under what exact circumstances does this patch make sense?
> 
> Hi, Ingo,
> 
> More explanation.
> 
> 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 could resend the patch with  more comment.
> 

nack

As I said in another mail thread, this change makes no sense.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-04-22  9:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-22  5:28 [PATCH] perf-event/cgroup: explicitly init the early_init field Jianyu Zhan
2014-04-22  6:06 ` Ingo Molnar
2014-04-22  6:42   ` Jianyu Zhan
2014-04-22  7:12   ` Jianyu Zhan
2014-04-22  9:31     ` Li Zefan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox