lkml.org 
[lkml]   [2015]   [Nov]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [RFC] perf x86 intel: Question about pebs_data_source data
From
On Mon, Nov 9, 2015 at 7:36 AM, Jiri Olsa <jolsa@redhat.com> wrote:
>
> hi,
> I was checking with SDM (September 2015) and I'd like if you
> guys could help me with understanding of following array elements
>
> I'm reffering to Table 18-19. Data Source Encoding for Load Latency Record
>
> - element 5
> SDM says:
>
> 05H L3 HIT. Local or Remote home requests that hit the L3 cache and was
> serviced by another processor core with a cross core snoop where no modified
> copies were found. (clean).
>
> and we have L3 SNOOP MISS:
> OP_LH | P(LVL, L3) | P(SNOOP, MISS), /* 0x05: L3 hit, snoop miss */
>
> while the SDM indicates HIT
>
> - element 6
> SDM says:
>
> L3 HIT. Local or Remote home requests that hit the L3 cache and was serviced
> by another processor core with a cross core snoop where modified copies were
> found. (HITM).
>
> and we have L3 SNOOP HIT:
> OP_LH | P(LVL, L3) | P(SNOOP, HIT), /* 0x06: L3 hit, snoop hit */
>
> while the SDM indicates HITM
>
I seem to recall there was something incorrect in the SDM and that's
why I had it
this way. But it would be useful to double-check with Intel again. Andi?


> I'm probably misunderstanding SDM (wouldn't be the first time) what do I miss?
>
> thanks for comments,
> jirka
>
>
> ---
> diff --git a/arch/x86/kernel/cpu/perf_event_intel_ds.c b/arch/x86/kernel/cpu/perf_event_intel_ds.c
> index 5db1c7755548..000ab82d09e7 100644
> --- a/arch/x86/kernel/cpu/perf_event_intel_ds.c
> +++ b/arch/x86/kernel/cpu/perf_event_intel_ds.c
> @@ -57,8 +57,8 @@ static const u64 pebs_data_source[] = {
> OP_LH | P(LVL, LFB) | P(SNOOP, NONE), /* 0x02: LFB hit */
> OP_LH | P(LVL, L2) | P(SNOOP, NONE), /* 0x03: L2 hit */
> OP_LH | P(LVL, L3) | P(SNOOP, NONE), /* 0x04: L3 hit */
> - OP_LH | P(LVL, L3) | P(SNOOP, MISS), /* 0x05: L3 hit, snoop miss */
> - OP_LH | P(LVL, L3) | P(SNOOP, HIT), /* 0x06: L3 hit, snoop hit */
> + OP_LH | P(LVL, L3) | P(SNOOP, HIT), /* 0x05: L3 hit, snoop hit */
> + OP_LH | P(LVL, L3) | P(SNOOP, HITM), /* 0x06: L3 hit, snoop hitm */
> OP_LH | P(LVL, L3) | P(SNOOP, HITM), /* 0x07: L3 hit, snoop hitm */
> OP_LH | P(LVL, REM_CCE1) | P(SNOOP, HIT), /* 0x08: L3 miss snoop hit */
> OP_LH | P(LVL, REM_CCE1) | P(SNOOP, HITM), /* 0x09: L3 miss snoop hitm*/


\
 
 \ /
  Last update: 2015-11-11 00:01    [W:0.041 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site