<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c, branch v5.0.2</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>perf intel-pt: Add MTC and CYC timestamps to debug log</title>
<updated>2018-11-05T17:53:54+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2018-11-05T07:35:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f6c23e3b55cb93f32a724f41af8d38888bc2ab6b'/>
<id>f6c23e3b55cb93f32a724f41af8d38888bc2ab6b</id>
<content type='text'>
One cause of decoding errors is un-synchronized side-band data.
Timestamps are needed to debug such cases. TSC packet timestamps are
logged. Log also MTC and CYC timestamps.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Link: http://lkml.kernel.org/r/20181105073505.8129-3-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
One cause of decoding errors is un-synchronized side-band data.
Timestamps are needed to debug such cases. TSC packet timestamps are
logged. Log also MTC and CYC timestamps.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Link: http://lkml.kernel.org/r/20181105073505.8129-3-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>perf intel-pt: Implement decoder flags for trace begin / end</title>
<updated>2018-09-20T18:19:52+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2018-09-20T13:00:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=bea6385789b8b5e1e3228a281978ca6c4a8c70a0'/>
<id>bea6385789b8b5e1e3228a281978ca6c4a8c70a0</id>
<content type='text'>
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] =&gt;   401590 main+0x0
   7249.622183311:   call       4015b9 main+0x29 =&gt;        0 [unknown]
   7249.622183711:   tr strt         0 [unknown] =&gt;   4015be main+0x2e
   7249.622183714:   call       4015c8 main+0x38 =&gt;        0 [unknown]
   7249.622247731:   tr strt         0 [unknown] =&gt;   4015cd main+0x3d
   7249.622247760:   call       4015d7 main+0x47 =&gt;        0 [unknown]
   7249.622248340:   tr strt         0 [unknown] =&gt;   4015dc main+0x4c
   7249.622248341:   call       4015e1 main+0x51 =&gt;        0 [unknown]
   7249.622248681:   tr strt         0 [unknown] =&gt;   4015e6 main+0x56
   7249.622248682:   call       4015eb main+0x5b =&gt;        0 [unknown]
   7249.622248970:   tr strt         0 [unknown] =&gt;   4015f0 main+0x60
   7249.622248971:   call       401612 main+0x82 =&gt;        0 [unknown]
   7249.622249757:   tr strt         0 [unknown] =&gt;   401617 main+0x87
   7249.622249770:   call       401847 main+0x2b7 =&gt;        0 [unknown]
   7249.622250606:   tr strt         0 [unknown] =&gt;   40184c main+0x2bc
   7249.622250612:   call       4019bf main+0x42f =&gt;        0 [unknown]
   7249.622256823:   tr strt         0 [unknown] =&gt;   4019c4 main+0x434
   7249.622256863:   call       4019f5 main+0x465 =&gt;        0 [unknown]
   7249.622264217:   tr strt         0 [unknown] =&gt;   4019fa main+0x46a
   7249.622264235:   call       401832 main+0x2a2 =&gt;        0 [unknown]

After:

  $ perf script --itrace=cre -Ftime,flags,ip,sym,symoff,addr --ns
   7249.622183310:   tr strt              0 [unknown] =&gt;   401590 main+0x0
   7249.622183311:   tr end  call    4015b9 main+0x29 =&gt;   401ef0 set_program_name+0x0
   7249.622183711:   tr strt              0 [unknown] =&gt;   4015be main+0x2e
   7249.622183714:   tr end  call    4015c8 main+0x38 =&gt;   4014b0 setlocale@plt+0x0
   7249.622247731:   tr strt              0 [unknown] =&gt;   4015cd main+0x3d
   7249.622247760:   tr end  call    4015d7 main+0x47 =&gt;   4012d0 bindtextdomain@plt+0x0
   7249.622248340:   tr strt              0 [unknown] =&gt;   4015dc main+0x4c
   7249.622248341:   tr end  call    4015e1 main+0x51 =&gt;   4012b0 textdomain@plt+0x0
   7249.622248681:   tr strt              0 [unknown] =&gt;   4015e6 main+0x56
   7249.622248682:   tr end  call    4015eb main+0x5b =&gt;   404340 atexit+0x0
   7249.622248970:   tr strt              0 [unknown] =&gt;   4015f0 main+0x60
   7249.622248971:   tr end  call    401612 main+0x82 =&gt;   401320 getopt_long@plt+0x0
   7249.622249757:   tr strt              0 [unknown] =&gt;   401617 main+0x87
   7249.622249770:   tr end  call    401847 main+0x2b7 =&gt;   401360 uname@plt+0x0
   7249.622250606:   tr strt              0 [unknown] =&gt;   40184c main+0x2bc
   7249.622250612:   tr end  call    4019bf main+0x42f =&gt;   401b10 print_element+0x0
   7249.622256823:   tr strt              0 [unknown] =&gt;   4019c4 main+0x434
   7249.622256863:   tr end  call    4019f5 main+0x465 =&gt;   401340 __overflow@plt+0x0
   7249.622264217:   tr strt              0 [unknown] =&gt;   4019fa main+0x46a
   7249.622264235:   tr end  call    401832 main+0x2a2 =&gt;   401520 exit@plt+0x0

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Andi Kleen &lt;ak@linux.intel.com&gt;
Cc: Jiri Olsa &lt;jolsa@redhat.com&gt;
Link: http://lkml.kernel.org/r/20180920130048.31432-7-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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] =&gt;   401590 main+0x0
   7249.622183311:   call       4015b9 main+0x29 =&gt;        0 [unknown]
   7249.622183711:   tr strt         0 [unknown] =&gt;   4015be main+0x2e
   7249.622183714:   call       4015c8 main+0x38 =&gt;        0 [unknown]
   7249.622247731:   tr strt         0 [unknown] =&gt;   4015cd main+0x3d
   7249.622247760:   call       4015d7 main+0x47 =&gt;        0 [unknown]
   7249.622248340:   tr strt         0 [unknown] =&gt;   4015dc main+0x4c
   7249.622248341:   call       4015e1 main+0x51 =&gt;        0 [unknown]
   7249.622248681:   tr strt         0 [unknown] =&gt;   4015e6 main+0x56
   7249.622248682:   call       4015eb main+0x5b =&gt;        0 [unknown]
   7249.622248970:   tr strt         0 [unknown] =&gt;   4015f0 main+0x60
   7249.622248971:   call       401612 main+0x82 =&gt;        0 [unknown]
   7249.622249757:   tr strt         0 [unknown] =&gt;   401617 main+0x87
   7249.622249770:   call       401847 main+0x2b7 =&gt;        0 [unknown]
   7249.622250606:   tr strt         0 [unknown] =&gt;   40184c main+0x2bc
   7249.622250612:   call       4019bf main+0x42f =&gt;        0 [unknown]
   7249.622256823:   tr strt         0 [unknown] =&gt;   4019c4 main+0x434
   7249.622256863:   call       4019f5 main+0x465 =&gt;        0 [unknown]
   7249.622264217:   tr strt         0 [unknown] =&gt;   4019fa main+0x46a
   7249.622264235:   call       401832 main+0x2a2 =&gt;        0 [unknown]

After:

  $ perf script --itrace=cre -Ftime,flags,ip,sym,symoff,addr --ns
   7249.622183310:   tr strt              0 [unknown] =&gt;   401590 main+0x0
   7249.622183311:   tr end  call    4015b9 main+0x29 =&gt;   401ef0 set_program_name+0x0
   7249.622183711:   tr strt              0 [unknown] =&gt;   4015be main+0x2e
   7249.622183714:   tr end  call    4015c8 main+0x38 =&gt;   4014b0 setlocale@plt+0x0
   7249.622247731:   tr strt              0 [unknown] =&gt;   4015cd main+0x3d
   7249.622247760:   tr end  call    4015d7 main+0x47 =&gt;   4012d0 bindtextdomain@plt+0x0
   7249.622248340:   tr strt              0 [unknown] =&gt;   4015dc main+0x4c
   7249.622248341:   tr end  call    4015e1 main+0x51 =&gt;   4012b0 textdomain@plt+0x0
   7249.622248681:   tr strt              0 [unknown] =&gt;   4015e6 main+0x56
   7249.622248682:   tr end  call    4015eb main+0x5b =&gt;   404340 atexit+0x0
   7249.622248970:   tr strt              0 [unknown] =&gt;   4015f0 main+0x60
   7249.622248971:   tr end  call    401612 main+0x82 =&gt;   401320 getopt_long@plt+0x0
   7249.622249757:   tr strt              0 [unknown] =&gt;   401617 main+0x87
   7249.622249770:   tr end  call    401847 main+0x2b7 =&gt;   401360 uname@plt+0x0
   7249.622250606:   tr strt              0 [unknown] =&gt;   40184c main+0x2bc
   7249.622250612:   tr end  call    4019bf main+0x42f =&gt;   401b10 print_element+0x0
   7249.622256823:   tr strt              0 [unknown] =&gt;   4019c4 main+0x434
   7249.622256863:   tr end  call    4019f5 main+0x465 =&gt;   401340 __overflow@plt+0x0
   7249.622264217:   tr strt              0 [unknown] =&gt;   4019fa main+0x46a
   7249.622264235:   tr end  call    401832 main+0x2a2 =&gt;   401520 exit@plt+0x0

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Andi Kleen &lt;ak@linux.intel.com&gt;
Cc: Jiri Olsa &lt;jolsa@redhat.com&gt;
Link: http://lkml.kernel.org/r/20180920130048.31432-7-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>perf intel-pt: Fix "Unexpected indirect branch" error</title>
<updated>2018-06-06T15:52:08+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2018-05-31T10:23:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9fb523363f6e3984457fee95bb7019395384ffa7'/>
<id>9fb523363f6e3984457fee95bb7019395384ffa7</id>
<content type='text'>
Some Atom CPUs can produce FUP packets that contain NLIP (next linear
instruction pointer) instead of CLIP (current linear instruction
pointer).  That will result in "Unexpected indirect branch" errors. Fix
by comparing IP to NLIP in that case.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1527762225-26024-5-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some Atom CPUs can produce FUP packets that contain NLIP (next linear
instruction pointer) instead of CLIP (current linear instruction
pointer).  That will result in "Unexpected indirect branch" errors. Fix
by comparing IP to NLIP in that case.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1527762225-26024-5-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>perf intel-pt: Fix MTC timing after overflow</title>
<updated>2018-06-06T15:52:08+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2018-05-31T10:23:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=dd27b87ab5fcf3ea1c060b5e3ab5d31cc78e9f4c'/>
<id>dd27b87ab5fcf3ea1c060b5e3ab5d31cc78e9f4c</id>
<content type='text'>
On some platforms, overflows will clear before MTC wraparound, and there
is no following TSC/TMA packet. In that case the previous TMA is valid.
Since there will be a valid TMA either way, stop setting 'have_tma' to
false upon overflow.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1527762225-26024-4-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On some platforms, overflows will clear before MTC wraparound, and there
is no following TSC/TMA packet. In that case the previous TMA is valid.
Since there will be a valid TMA either way, stop setting 'have_tma' to
false upon overflow.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1527762225-26024-4-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>perf intel-pt: Fix decoding to accept CBR between FUP and corresponding TIP</title>
<updated>2018-06-06T15:52:07+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2018-05-31T10:23:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=bd2e49ec48feb1855f7624198849eea4610e2286'/>
<id>bd2e49ec48feb1855f7624198849eea4610e2286</id>
<content type='text'>
It is possible to have a CBR packet between a FUP packet and
corresponding TIP packet. Stop treating it as an error.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1527762225-26024-3-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is possible to have a CBR packet between a FUP packet and
corresponding TIP packet. Stop treating it as an error.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1527762225-26024-3-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>perf intel-pt: Fix timestamp following overflow</title>
<updated>2018-03-08T13:05:56+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2018-03-07T14:02:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=91d29b288aed3406caf7c454bf2b898c96cfd177'/>
<id>91d29b288aed3406caf7c454bf2b898c96cfd177</id>
<content type='text'>
timestamp_insn_cnt is used to estimate the timestamp based on the number of
instructions since the last known timestamp.

If the estimate is not accurate enough decoding might not be correctly
synchronized with side-band events causing more trace errors.

However there are always timestamps following an overflow, so the
estimate is not needed and can indeed result in more errors.

Suppress the estimate by setting timestamp_insn_cnt to zero.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Jiri Olsa &lt;jolsa@redhat.com&gt;
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1520431349-30689-5-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
timestamp_insn_cnt is used to estimate the timestamp based on the number of
instructions since the last known timestamp.

If the estimate is not accurate enough decoding might not be correctly
synchronized with side-band events causing more trace errors.

However there are always timestamps following an overflow, so the
estimate is not needed and can indeed result in more errors.

Suppress the estimate by setting timestamp_insn_cnt to zero.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Jiri Olsa &lt;jolsa@redhat.com&gt;
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1520431349-30689-5-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>perf intel-pt: Fix error recovery from missing TIP packet</title>
<updated>2018-03-08T13:05:55+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2018-03-07T14:02:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=1c196a6c771c47a2faa63d38d913e03284f73a16'/>
<id>1c196a6c771c47a2faa63d38d913e03284f73a16</id>
<content type='text'>
When a TIP packet is expected but there is a different packet, it is an
error. However the unexpected packet might be something important like a
TSC packet, so after the error, it is necessary to continue from there,
rather than the next packet. That is achieved by setting pkt_step to
zero.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Jiri Olsa &lt;jolsa@redhat.com&gt;
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1520431349-30689-4-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a TIP packet is expected but there is a different packet, it is an
error. However the unexpected packet might be something important like a
TSC packet, so after the error, it is necessary to continue from there,
rather than the next packet. That is achieved by setting pkt_step to
zero.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Jiri Olsa &lt;jolsa@redhat.com&gt;
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1520431349-30689-4-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>perf intel-pt: Fix overlap detection to identify consecutive buffers correctly</title>
<updated>2018-03-08T13:05:54+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2018-03-07T14:02:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=117db4b27bf08dba412faf3924ba55fe970c57b8'/>
<id>117db4b27bf08dba412faf3924ba55fe970c57b8</id>
<content type='text'>
Overlap detection was not not updating the buffer's 'consecutive' flag.
Marking buffers consecutive has the advantage that decoding begins from
the start of the buffer instead of the first PSB. Fix overlap detection
to identify consecutive buffers correctly.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Jiri Olsa &lt;jolsa@redhat.com&gt;
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1520431349-30689-2-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Overlap detection was not not updating the buffer's 'consecutive' flag.
Marking buffers consecutive has the advantage that decoding begins from
the start of the buffer instead of the first PSB. Fix overlap detection
to identify consecutive buffers correctly.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Jiri Olsa &lt;jolsa@redhat.com&gt;
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1520431349-30689-2-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>perf intel-pt: Do not use TSC packets for calculating CPU cycles to TSC</title>
<updated>2017-06-30T14:50:55+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2017-05-26T08:17:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=38b65b0891dc129dc0a5ce148a21c481e667b395'/>
<id>38b65b0891dc129dc0a5ce148a21c481e667b395</id>
<content type='text'>
CBR (core-to-bus ratio) packets provide an indication of CPU frequency. A
more accurate measure can be made by counting the cycles (given by CYC
packets) in between other timing packets (either MTC or TSC). Using TSC
packets has at least 2 issues: 1) timing might have stopped (e.g. mwait) or
2) TSC packets within PSB+ might slip past CYC packets. For now, simply do
not use TSC packets for calculating CPU cycles to TSC. That leaves the case
where 2 MTC packets are used, otherwise falling back to the CBR value.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Andi Kleen &lt;ak@linux.intel.com&gt;
Link: http://lkml.kernel.org/r/1495786658-18063-37-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CBR (core-to-bus ratio) packets provide an indication of CPU frequency. A
more accurate measure can be made by counting the cycles (given by CYC
packets) in between other timing packets (either MTC or TSC). Using TSC
packets has at least 2 issues: 1) timing might have stopped (e.g. mwait) or
2) TSC packets within PSB+ might slip past CYC packets. For now, simply do
not use TSC packets for calculating CPU cycles to TSC. That leaves the case
where 2 MTC packets are used, otherwise falling back to the CBR value.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Andi Kleen &lt;ak@linux.intel.com&gt;
Link: http://lkml.kernel.org/r/1495786658-18063-37-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>perf intel-pt: Add decoder support for CBR events</title>
<updated>2017-06-21T14:35:51+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2017-05-26T08:17:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0a7c700d23450bd4467855d5162920d5edf314b0'/>
<id>0a7c700d23450bd4467855d5162920d5edf314b0</id>
<content type='text'>
Add decoder support for informing the tools of changes to the core-to-bus
ratio (CBR).

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Andi Kleen &lt;ak@linux.intel.com&gt;
Link: http://lkml.kernel.org/r/1495786658-18063-16-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add decoder support for informing the tools of changes to the core-to-bus
ratio (CBR).

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Andi Kleen &lt;ak@linux.intel.com&gt;
Link: http://lkml.kernel.org/r/1495786658-18063-16-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
