On Fri, 17 Jul 2020 21:26:50 +0800 Changbin Du <changbin...@gmail.com> wrote:
> On Thu, Jul 16, 2020 at 12:36:30PM -0300, Arnaldo Carvalho de Melo wrote: > > Em Sat, Jul 11, 2020 at 08:40:21PM +0800, Changbin Du escreveu: > > > This allows us to trace single thread instead of the whole process. > > > > > > Signed-off-by: Changbin Du <changbin...@gmail.com> > > > --- > > > tools/perf/Documentation/perf-ftrace.txt | 4 ++++ > > > tools/perf/builtin-ftrace.c | 2 ++ > > > 2 files changed, 6 insertions(+) > > > > > > diff --git a/tools/perf/Documentation/perf-ftrace.txt > > > b/tools/perf/Documentation/perf-ftrace.txt > > > index d79560dea19f..e204bf6d50d8 100644 > > > --- a/tools/perf/Documentation/perf-ftrace.txt > > > +++ b/tools/perf/Documentation/perf-ftrace.txt > > > @@ -38,6 +38,10 @@ OPTIONS > > > --pid=:: > > > Trace on existing process id (comma separated list). > > > > > > +-t:: > > > +--tid=:: > > > + Trace on existing thread id (comma separated list). > > > + > > > > > > Humm, I just tried: > > > > [root@five ~]# yes > /dev/null & > > [1] 18265 > > [root@five ~]# perf ftrace --tid 18265 > > ^C[root@five ~]# > > > > After waiting for a while, nothing, what am I doing wrong? > > > I got it wrong. Currently ftrace only can filter by pid. If the pid is not > the main thread it won't work. Wait what? The "pid" for ftrace is really a "task id" which is a thread id. [root@bxtest ~]# yes > /dev/null & [1] 6799 [root@bxtest ~]# trace-cmd record -e all -P 6799 Hit Ctrl^C to stop recording ^CCPU 0: 3573031 events lost CPU0 data recorded at offset=0x838000 627675136 bytes in size CPU1 data recorded at offset=0x25ed1000 0 bytes in size CPU2 data recorded at offset=0x25ed1000 0 bytes in size CPU3 data recorded at offset=0x25ed1000 0 bytes in size CPU4 data recorded at offset=0x25ed1000 0 bytes in size CPU5 data recorded at offset=0x25ed1000 0 bytes in size CPU6 data recorded at offset=0x25ed1000 0 bytes in size CPU7 data recorded at offset=0x25ed1000 0 bytes in size [root@bxtest ~]# trace-cmd report | head CPU 1 is empty CPU 2 is empty CPU 3 is empty CPU 4 is empty CPU 5 is empty CPU 6 is empty CPU 7 is empty cpus=8 yes-6799 [000] 67825.580902: sys_exit: NR 1 = 8192 yes-6799 [000] 67825.580903: sys_exit_write: 0x2000 What's different about tid vs pid? -- Steve > > So this patch makes no sense. will drop this. >