Re: [PATCH 3/3] perf events: Change perf parameter --pid to process-widecollection instead of thread-wide

From: Li Zefan
Date: Thu Mar 25 2010 - 04:54:58 EST


>>> Parameter --pid (or -p) of perf currently means a thread-wide collection.
>>> For exmaple, if a process whose id is 8888 has 10 threads, 'perf top -p 8888'
>>> just collects the main thread statistics. That's misleading. Users are
>>> used to attach a whole process when debugging a process by gdb. To follow
>>> normal usage style, the patch change --pid to process-wide collection and
>>> add --tid (-t) to mean a thread-wide collection.
>>>
>>> Usage example is:
>>> #perf top -p 8888
>>> #perf record -p 8888 -f sleep 10
>>> #perf stat -p 8888 -f sleep 10
>>> Above commands collect the statistics of all threads of process 8888.
>>>
>>> Signed-off-by: Zhang Yanmin <yanmin_zhang@xxxxxxxxxxxxxxx>
>>>
>> Seems this patch causes seg faults:
>>
>> # ./perf sched record
>> Segmentation fault
>> # ./perf kmem record
>> Segmentation fault
>> # ./perf timechart record
>> Segmentation fault
>
> Thanks for reporting it. Arnaldo, could you pick up below patch?
> Zefan, Could you try it?
>

The fix works. Thanks!

> mmap_array[][][] is not reset to 0 after malloc. Below patch against
> tip/master of March 24th fixes it with a zalloc.
>
> Reported-by: Li Zefan <lizf@xxxxxxxxxxxxxx>
> Signed-off-by: Zhang Yanmin <yanmin_zhang@xxxxxxxxxxxxxxx>
>
--
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/