1. 28 Mar, 2019 1 commit
  2. 06 Feb, 2019 3 commits
  3. 05 Nov, 2018 1 commit
  4. 20 Sep, 2018 1 commit
    • Adrian Hunter's avatar
      perf intel-pt: Implement decoder flags for trace begin / end · bea63857
      Adrian Hunter authored
      
      Have the Intel PT decoder implement the new Intel PT decoder flags for
      trace begin / end.
      
      Previously, the decoder would indicate begin / end by a branch from / to
      zero. That hides useful information, in particular when a trace ends
      with a call. That happens when using address filters, for example:
      
        $ perf record -e intel_pt/cyc,mtc_period=0,noretcomp/u --filter='filter main @ /bin/uname ' uname Linux
        [ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 0.031 MB perf.data ]
      
      Before:
      
        $ perf script --itrace=cre -Ftime,flags,ip,sym,symoff,addr --ns
         7249.622183310:   tr strt         0 [unknown] =>   401590 main+0x0
         7249.622183311:   call       4015b9 main+0x29 =>        0 [unknown]
         7249.622183711:   tr strt         0 [unknown] =>   4015be main+0x2e
         7249.622183714:   call       4015c8 main+0x38 =>        0 [unknown]
         7249.622247731:   tr strt         0 [unknown] =>   4015cd main+0x3d
         7249.622247760:   call       4015d7 main+0x47 =>        0 [unknown]
         7249.622248340:   tr strt         0 [unknown] =>   4015dc main+0x4c
         7249.622248341:   call       4015e1 main+0x51 =>        0 [unknown]
         7249.622248681:   tr strt         0 [unknown] =>   4015e6 main+0x56
         7249.622248682:   call       4015eb main+0x5b =>        0 [unknown]
         7249.622248970:   tr strt         0 [unknown] =>   4015f0 main+0x60
         7249.622248971:   call       401612 main+0x82 =>        0 [unknown]
         7249.622249757:   tr strt         0 [unknown] =>   401617 main+0x87
         7249.622249770:   call       401847 main+0x2b7 =>        0 [unknown]
         7249.622250606:   tr strt         0 [unknown] =>   40184c main+0x2bc
         7249.622250612:   call       4019bf main+0x42f =>        0 [unknown]
         7249.622256823:   tr strt         0 [unknown] =>   4019c4 main+0x434
         7249.622256863:   call       4019f5 main+0x465 =>        0 [unknown]
         7249.622264217:   tr strt         0 [unknown] =>   4019fa main+0x46a
         7249.622264235:   call       401832 main+0x2a2 =>        0 [unknown]
      
      After:
      
        $ perf script --itrace=cre -Ftime,flags,ip,sym,symoff,addr --ns
         7249.622183310:   tr strt              0 [unknown] =>   401590 main+0x0
         7249.622183311:   tr end  call    4015b9 main+0x29 =>   401ef0 set_program_name+0x0
         7249.622183711:   tr strt              0 [unknown] =>   4015be main+0x2e
         7249.622183714:   tr end  call    4015c8 main+0x38 =>   4014b0 setlocale@plt+0x0
         7249.622247731:   tr strt              0 [unknown] =>   4015cd main+0x3d
         7249.622247760:   tr end  call    4015d7 main+0x47 =>   4012d0 bindtextdomain@plt+0x0
         7249.622248340:   tr strt              0 [unknown] =>   4015dc main+0x4c
         7249.622248341:   tr end  call    4015e1 main+0x51 =>   4012b0 textdomain@plt+0x0
         7249.622248681:   tr strt              0 [unknown] =>   4015e6 main+0x56
         7249.622248682:   tr end  call    4015eb main+0x5b =>   404340 atexit+0x0
         7249.622248970:   tr strt              0 [unknown] =>   4015f0 main+0x60
         7249.622248971:   tr end  call    401612 main+0x82 =>   401320 getopt_long@plt+0x0
         7249.622249757:   tr strt              0 [unknown] =>   401617 main+0x87
         7249.622249770:   tr end  call    401847 main+0x2b7 =>   401360 uname@plt+0x0
         7249.622250606:   tr strt              0 [unknown] =>   40184c main+0x2bc
         7249.622250612:   tr end  call    4019bf main+0x42f =>   401b10 print_element+0x0
         7249.622256823:   tr strt              0 [unknown] =>   4019c4 main+0x434
         7249.622256863:   tr end  call    4019f5 main+0x465 =>   401340 __overflow@plt+0x0
         7249.622264217:   tr strt              0 [unknown] =>   4019fa main+0x46a
         7249.622264235:   tr end  call    401832 main+0x2a2 =>   401520 exit@plt+0x0
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/r/20180920130048.31432-7-adrian.hunter@intel.com
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      bea63857
  5. 06 Jun, 2018 3 commits
  6. 08 Mar, 2018 3 commits
  7. 30 Jun, 2017 1 commit
  8. 21 Jun, 2017 13 commits
  9. 09 Feb, 2017 1 commit
    • Arnaldo Carvalho de Melo's avatar
      perf intel-pt: Use __fallthrough · 7ea6856d
      Arnaldo Carvalho de Melo authored
      
      To address new warnings emmited by gcc 7, e.g.::
      
          CC       /tmp/build/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.o
          CC       /tmp/build/perf/tests/parse-events.o
        util/intel-pt-decoder/intel-pt-pkt-decoder.c: In function 'intel_pt_pkt_desc':
        util/intel-pt-decoder/intel-pt-pkt-decoder.c:499:6: error: this statement may fall through [-Werror=implicit-fallthrough=]
           if (!(packet->count))
              ^
        util/intel-pt-decoder/intel-pt-pkt-decoder.c:501:2: note: here
          case INTEL_PT_CYC:
          ^~~~
          CC       /tmp/build/perf/util/intel-pt-decoder/intel-pt-decoder.o
        cc1: all warnings being treated as errors
      Acked-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/n/tip-mf0hw789pu9x855us5l32c83@git.kernel.org
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      7ea6856d
  10. 24 Oct, 2016 1 commit
  11. 05 Oct, 2016 2 commits
  12. 29 Sep, 2016 1 commit
  13. 12 Aug, 2016 1 commit
  14. 25 Apr, 2016 1 commit
  15. 28 Sep, 2015 1 commit
    • Adrian Hunter's avatar
      perf intel-pt: Fix potential loop forever · 9992c2d5
      Adrian Hunter authored
      
      TSC packets contain only 7 bytes of TSC.  The 8th byte is assumed to
      change so infrequently that its value can be inferred.  However the
      logic must cater for a 7 byte wraparound, which it does by adding 1 to
      the top byte.
      
      The existing code was doing that with a while loop even though the
      addition should only need to be done once.  That logic won't work (will
      loop forever) if TSC wraps around at the 8th byte.  Theoretically that
      would take at least 10 years, unless something else went wrong.
      
      And what else could go wrong.  Well, if the chunks of trace data are
      processed out of order, it will make it look like the 7-byte TSC has
      gone backwards (i.e. wrapped).  If that happens 256 times then stuck in
      the while loop it will be.
      
      Fix that by getting rid of the unnecessary while loop.
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/r/1443186956-18718-4-git-send-email-adrian.hunter@intel.com
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      9992c2d5
  16. 24 Aug, 2015 5 commits
  17. 17 Aug, 2015 1 commit