• Arnaldo Carvalho de Melo's avatar
    perf trace: Handle multiple threads better wrt syscalls being intermixed · e596663e
    Arnaldo Carvalho de Melo authored
     $ trace time taskset -c 0 usleep 1
       0.845 ( 0.021 ms): time/16722 wait4(upid: 4294967295, stat_addr: 0x7fff17f443d4, ru: 0x7fff17f44438 ) ...
       0.865 ( 0.008 ms): time/16723 execve(arg0: 140733595272004, arg1: 140733595272720, arg2: 140733595272768, arg3: 139755107218496, arg4: 7307199665339051828, arg5: 3) = -2
       2.395 ( 1.523 ms): taskset/16723 execve(arg0: 140733595272013, arg1: 140733595272720, arg2: 140733595272768, arg3: 139755107218496, arg4: 7307199665339051828, arg5: 3) = 0
       2.411 ( 0.002 ms): taskset/16723 brk(                                                                  ) = 0x1915000
       3.300 ( 0.058 ms): usleep/16723 nanosleep(rqtp: 0x7ffff4ada190                                        ) = 0
     <SNIP>
       3.305 ( 0.000 ms): usleep/16723 exit_group(
       3.363 ( 2.539 ms): time/16722  ... [continued]: wait4()) = 16723
       3.366 ( 0.001 ms): time/16722 rt_sigaction(sig: INT, act: 0x7fff17f44160, oact: 0x7fff17f44200, sigsetsize: 8) = 0
    
    We we're not seeing this line:
    
      0.845 ( 0.021 ms): time/16722 wait4(upid: 4294967295, stat_addr: 0x7fff17f443d4, ru: 0x7fff17f44438 ) ...
    
    just the one when it finishes:
    
      3.363 ( 2.539 ms): time/16722  ... [continued]: wait4()) = 16723
    
    Still some issues left till we move to ordered_samples when multiple
    CPUs/threads are involved...
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Don Zickus <dzickus@redhat.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/n/tip-zq9x30a1ky3djqewqn2v3ja3@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    e596663e
builtin-trace.c 70.2 KB