Skip to content

Commit 326ecc1

Browse files
Ravi Bangoriasuryasaimadhu
authored andcommitted
perf/x86/ibs: Add new IBS register bits into header
IBS support has been enhanced with two new features in upcoming uarch: 1. DataSrc extension and 2. L3 miss filtering. Additional set of bits has been introduced in IBS registers to use these features. Define these new bits into arch/x86/ header. [ bp: Massage commit message. ] Signed-off-by: Ravi Bangoria <ravi.bangoria@amd.com> Signed-off-by: Borislav Petkov <bp@suse.de> Acked-by: Ian Rogers <irogers@google.com> Link: https://lore.kernel.org/r/20220604044519.594-7-ravi.bangoria@amd.com
1 parent ccf170e commit 326ecc1

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

arch/x86/include/asm/amd-ibs.h

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@ union ibs_fetch_ctl {
2929
rand_en:1, /* 57: random tagging enable */
3030
fetch_l2_miss:1,/* 58: L2 miss for sampled fetch
3131
* (needs IbsFetchComp) */
32-
reserved:5; /* 59-63: reserved */
32+
l3_miss_only:1, /* 59: Collect L3 miss samples only */
33+
fetch_oc_miss:1,/* 60: Op cache miss for the sampled fetch */
34+
fetch_l3_miss:1,/* 61: L3 cache miss for the sampled fetch */
35+
reserved:2; /* 62-63: reserved */
3336
};
3437
};
3538

@@ -38,14 +41,14 @@ union ibs_op_ctl {
3841
__u64 val;
3942
struct {
4043
__u64 opmaxcnt:16, /* 0-15: periodic op max. count */
41-
reserved0:1, /* 16: reserved */
44+
l3_miss_only:1, /* 16: Collect L3 miss samples only */
4245
op_en:1, /* 17: op sampling enable */
4346
op_val:1, /* 18: op sample valid */
4447
cnt_ctl:1, /* 19: periodic op counter control */
4548
opmaxcnt_ext:7, /* 20-26: upper 7 bits of periodic op maximum count */
46-
reserved1:5, /* 27-31: reserved */
49+
reserved0:5, /* 27-31: reserved */
4750
opcurcnt:27, /* 32-58: periodic op counter current count */
48-
reserved2:5; /* 59-63: reserved */
51+
reserved1:5; /* 59-63: reserved */
4952
};
5053
};
5154

@@ -71,11 +74,12 @@ union ibs_op_data {
7174
union ibs_op_data2 {
7275
__u64 val;
7376
struct {
74-
__u64 data_src:3, /* 0-2: data source */
77+
__u64 data_src_lo:3, /* 0-2: data source low */
7578
reserved0:1, /* 3: reserved */
7679
rmt_node:1, /* 4: destination node */
7780
cache_hit_st:1, /* 5: cache hit state */
78-
reserved1:57; /* 5-63: reserved */
81+
data_src_hi:2, /* 6-7: data source high */
82+
reserved1:56; /* 8-63: reserved */
7983
};
8084
};
8185

0 commit comments

Comments
 (0)