lkml.org 
[lkml]   [2011]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 3/4] perf cgroup: Clean up perf_cgroup_create()
From
Ok,


I checked and yes, alloc_percpu() does return zeroed out memory.
So the patch looks good to me.
Thanks.


On Thu, Mar 3, 2011 at 9:37 AM, Stephane Eranian <eranian@google.com> wrote:
> Li,
>
> I have to NACK this patch or at least request more information.
>
> The for_each_possible_cpu() is initializing
> what's allocated via alloc_percpu(), jc->info and NOT jc.
>
> I don't think this gets zeroed by this allocator. But I could
> be wrong.
>
>
> On Thu, Mar 3, 2011 at 7:26 AM, Li Zefan <lizf@cn.fujitsu.com> wrote:
>> - Use kzalloc() to replace kmalloc() + memset().
>> - Remove redundant initialization, since alloc_percpu() returns
>>  zero-filled percpu memory.
>>
>> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
>> ---
>>  kernel/perf_event.c |   11 +----------
>>  1 files changed, 1 insertions(+), 10 deletions(-)
>>
>> diff --git a/kernel/perf_event.c b/kernel/perf_event.c
>> index dca92b2..d6b3d16 100644
>> --- a/kernel/perf_event.c
>> +++ b/kernel/perf_event.c
>> @@ -7341,26 +7341,17 @@ static struct cgroup_subsys_state *perf_cgroup_create(
>>        struct cgroup_subsys *ss, struct cgroup *cont)
>>  {
>>        struct perf_cgroup *jc;
>> -       struct perf_cgroup_info *t;
>> -       int c;
>>
>> -       jc = kmalloc(sizeof(*jc), GFP_KERNEL);
>> +       jc = kzalloc(sizeof(*jc), GFP_KERNEL);
>>        if (!jc)
>>                return ERR_PTR(-ENOMEM);
>>
>> -       memset(jc, 0, sizeof(*jc));
>> -
>>        jc->info = alloc_percpu(struct perf_cgroup_info);
>>        if (!jc->info) {
>>                kfree(jc);
>>                return ERR_PTR(-ENOMEM);
>>        }
>>
>> -       for_each_possible_cpu(c) {
>> -               t = per_cpu_ptr(jc->info, c);
>> -               t->time = 0;
>> -               t->timestamp = 0;
>> -       }
>>        return &jc->css;
>>  }
>>
>> --
>> 1.6.3
>>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2011-03-03 09:43    [W:0.107 / U:22.280 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site