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....@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 <srost...@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 <mche...@redhat.com> Tested-by: Mauro Carvalho Chehab <mche...@redhat.com> Signed-off-by: Steven Rostedt <rost...@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 -- 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/