lkml.org 
[lkml]   [2013]   [Jul]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 06/19] perf ftrace: Add support for --pid option
Date
Hi Jiri,

On Thu, 11 Jul 2013 16:56:54 +0900, Namhyung Kim wrote:
> On Wed, 10 Jul 2013 16:18:20 +0200, Jiri Olsa wrote:
>> On Wed, Jun 26, 2013 at 04:14:09PM +0900, Namhyung Kim wrote:
>>> From: Namhyung Kim <namhyung.kim@lge.com>
>>>
>>> The -p (--pid) option enables to trace existing process by its pid.
>>
>> hi,
>> I can't get any output from -p for live subcommand:
>>
>> [jolsa@krava perf]$ pgrep yes
>> 6443
>> [jolsa@krava perf]$ sudo ./perf ftrace live -p `pgrep yes`
>
> Hmm... looks like it's stuck on polling the trace_pipe:
>
> $ sudo strace ./perf ftrace -p `pgrep yes'
> ...
> poll([{fd=3, events=POLLIN}], 1, 4294967295
>
>
> Need to investigate it more.

What's your kernel version? My kernel was 3.6.9. I guess there's a
problem with trace_pipe's poll implementation on pre-3.10 kernels which
was fixed by:

commit cc60cdc952be09bca5b0bff9fefc7aa6185c3049
Author: Steven Rostedt <srostedt@redhat.com>
Date: Thu Feb 28 09:17:16 2013 -0500

tracing: Fix polling on trace_pipe_raw

The trace_pipe_raw never implemented polling and this was casing
issues for several utilities. This is now implemented.

Blocked reads still are on the TODO list.

Reported-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Tested-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>


It seems recent kernel doesn't have this issue. Could you confirm that?

Anyway, I decided not to use poll() here since all recorders only read
one file and it'll provide better compatibility. I will use
non-blocking read() + nanosleep() as trace-cmd does.

Thanks,
Namhyung


\
 
 \ /
  Last update: 2013-07-18 09:01    [W:0.065 / U:0.472 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site