• Arnaldo Carvalho de Melo's avatar
    perf trace: Read thread's COMM from /proc when not set · 073e5fca
    Arnaldo Carvalho de Melo authored
    We get notifications for threads that gets created while we're tracing,
    but for preexisting threads we may end not having synthesized them, like
    when tracing a 'perf trace' session that will use '--pid' to trace some
    other thread.
    
    And besides we should probably stop synthesizing those records and
    instead read thread information in a lazy way, i.e. just when we need,
    like done in this patch:
    
    Now the 'pid_t' argument in 'perf_event_open' gets translated to a COMM:
    
      # perf trace -e perf_event_open perf stat -e cycles -p 31601
         0.027 ( 0.027 ms): perf/23393 perf_event_open(attr_uptr: 0x2fdd0d8, pid: 31601 (abrt-dump-journ), cpu: -1, group_fd: -1, flags: FD_CLOEXEC)
                                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = 3
    ^C
    
    And in other syscalls containing pid_t without thread->comm_set at the
    time of the formatting.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Milian Wolff <milian.wolff@kdab.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: http://lkml.kernel.org/n/tip-ioeps6dlwst17d6oozc9shtk@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    073e5fca
pid.c 573 Bytes