<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/arch/x86/events/amd, branch master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/arch/x86/events/amd?h=master</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/arch/x86/events/amd?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2022-10-27T08:27:32Z</updated>
<entry>
<title>perf/mem: Rename PERF_MEM_LVLNUM_EXTN_MEM to PERF_MEM_LVLNUM_CXL</title>
<updated>2022-10-27T08:27:32Z</updated>
<author>
<name>Ravi Bangoria</name>
<email>ravi.bangoria@amd.com</email>
</author>
<published>2022-10-01T06:07:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=cb6c18b5a41622c7a439508f7421f8766a91cb87'/>
<id>urn:sha1:cb6c18b5a41622c7a439508f7421f8766a91cb87</id>
<content type='text'>
PERF_MEM_LVLNUM_EXTN_MEM was introduced to cover CXL devices but it's
bit ambiguous name and also not generic enough to cover cxl.cache and
cxl.io devices. Rename it to PERF_MEM_LVLNUM_CXL to be more specific.

Signed-off-by: Ravi Bangoria &lt;ravi.bangoria@amd.com&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://lkml.kernel.org/r/f6268268-b4e9-9ed6-0453-65792644d953@amd.com
</content>
</entry>
<entry>
<title>perf/x86/amd/lbr: Adjust LBR regardless of filtering</title>
<updated>2022-09-29T10:20:57Z</updated>
<author>
<name>Stephane Eranian</name>
<email>eranian@google.com</email>
</author>
<published>2022-09-28T18:40:43Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=3f9a1b3591003b122a6ea2d69f89a0fd96ec58b9'/>
<id>urn:sha1:3f9a1b3591003b122a6ea2d69f89a0fd96ec58b9</id>
<content type='text'>
In case of fused compare and taken branch instructions, the AMD LBR points to
the compare instruction instead of the branch. Users of LBR usually expects
the from address to point to a branch instruction. The kernel has code to
adjust the from address via get_branch_type_fused(). However this correction
is only applied when a branch filter is applied. That means that if no
filter is present, the quality of the data is lower.

Fix the problem by applying the adjustment regardless of the filter setting,
bringing the AMD LBR to the same level as other LBR implementations.

Fixes: 245268c19f70 ("perf/x86/amd/lbr: Use fusion-aware branch classifier")
Signed-off-by: Stephane Eranian &lt;eranian@google.com&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Reviewed-by: Sandipan Das &lt;sandipan.das@amd.com&gt;
Link: https://lore.kernel.org/r/20220928184043.408364-3-eranian@google.com
</content>
</entry>
<entry>
<title>perf/x86/amd: Support PERF_SAMPLE_PHY_ADDR</title>
<updated>2022-09-29T10:20:56Z</updated>
<author>
<name>Ravi Bangoria</name>
<email>ravi.bangoria@amd.com</email>
</author>
<published>2022-09-28T09:57:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=5b26af6d2b7854639ddf893366bbca7e74fa7c54'/>
<id>urn:sha1:5b26af6d2b7854639ddf893366bbca7e74fa7c54</id>
<content type='text'>
IBS_DC_PHYSADDR provides the physical data address for the tagged load/
store operation. Populate perf sample physical address using it.

Signed-off-by: Ravi Bangoria &lt;ravi.bangoria@amd.com&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://lkml.kernel.org/r/20220928095805.596-7-ravi.bangoria@amd.com
</content>
</entry>
<entry>
<title>perf/x86/amd: Support PERF_SAMPLE_ADDR</title>
<updated>2022-09-29T10:20:55Z</updated>
<author>
<name>Ravi Bangoria</name>
<email>ravi.bangoria@amd.com</email>
</author>
<published>2022-09-28T09:57:55Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=cb2bb85f7ed8740ab5fc06bbec386faa39ba44ef'/>
<id>urn:sha1:cb2bb85f7ed8740ab5fc06bbec386faa39ba44ef</id>
<content type='text'>
IBS_DC_LINADDR provides the linear data address for the tagged load/
store operation. Populate perf sample address using it.

Signed-off-by: Ravi Bangoria &lt;ravi.bangoria@amd.com&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://lkml.kernel.org/r/20220928095805.596-6-ravi.bangoria@amd.com
</content>
</entry>
<entry>
<title>perf/x86/amd: Support PERF_SAMPLE_{WEIGHT|WEIGHT_STRUCT}</title>
<updated>2022-09-29T10:20:55Z</updated>
<author>
<name>Ravi Bangoria</name>
<email>ravi.bangoria@amd.com</email>
</author>
<published>2022-09-28T09:57:54Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=6b2ae4952ef8ac23b467bc10776404092b581143'/>
<id>urn:sha1:6b2ae4952ef8ac23b467bc10776404092b581143</id>
<content type='text'>
IbsDcMissLat indicates the number of clock cycles from when a miss is
detected in the data cache to when the data was delivered to the core.
Similarly, IbsTagToRetCtr provides number of cycles from when the op
was tagged to when the op was retired. Consider these fields for
sample-&gt;weight.

Signed-off-by: Ravi Bangoria &lt;ravi.bangoria@amd.com&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://lkml.kernel.org/r/20220928095805.596-5-ravi.bangoria@amd.com
</content>
</entry>
<entry>
<title>perf/x86/amd: Support PERF_SAMPLE_DATA_SRC</title>
<updated>2022-09-29T10:20:55Z</updated>
<author>
<name>Ravi Bangoria</name>
<email>ravi.bangoria@amd.com</email>
</author>
<published>2022-09-28T09:57:53Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=7c10dd0a88b1cc6ae4637fffb494c5e080027eb6'/>
<id>urn:sha1:7c10dd0a88b1cc6ae4637fffb494c5e080027eb6</id>
<content type='text'>
struct perf_mem_data_src is used to pass arch specific memory access
details into generic form. These details gets consumed by tools like
perf mem and c2c. IBS tagged load/store sample provides most of the
information needed for these tools. Add a logic to convert IBS
specific raw data into perf_mem_data_src.

Signed-off-by: Ravi Bangoria &lt;ravi.bangoria@amd.com&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://lkml.kernel.org/r/20220928095805.596-4-ravi.bangoria@amd.com
</content>
</entry>
<entry>
<title>perf: Use sample_flags for raw_data</title>
<updated>2022-09-27T20:50:24Z</updated>
<author>
<name>Namhyung Kim</name>
<email>namhyung@kernel.org</email>
</author>
<published>2022-09-21T22:00:32Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=838d9bb62d132ec3baf1b5aba2e95ef9a7a9a3cd'/>
<id>urn:sha1:838d9bb62d132ec3baf1b5aba2e95ef9a7a9a3cd</id>
<content type='text'>
Use the new sample_flags to indicate whether the raw data field is
filled by the PMU driver.  Although it could check with the NULL,
follow the same rule with other fields.

Remove the raw field from the perf_sample_data_init() to minimize
the number of cache lines touched.

Signed-off-by: Namhyung Kim &lt;namhyung@kernel.org&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://lkml.kernel.org/r/20220921220032.2858517-2-namhyung@kernel.org
</content>
</entry>
<entry>
<title>perf: Kill __PERF_SAMPLE_CALLCHAIN_EARLY</title>
<updated>2022-09-13T13:03:23Z</updated>
<author>
<name>Namhyung Kim</name>
<email>namhyung@kernel.org</email>
</author>
<published>2022-09-08T21:41:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=b4e12b2d70fd9eccdb3cef8015dc1788ca38e3fd'/>
<id>urn:sha1:b4e12b2d70fd9eccdb3cef8015dc1788ca38e3fd</id>
<content type='text'>
There's no in-tree user anymore.  Let's get rid of it.

Signed-off-by: Namhyung Kim &lt;namhyung@kernel.org&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://lore.kernel.org/r/20220908214104.3851807-3-namhyung@kernel.org
</content>
</entry>
<entry>
<title>perf: Use sample_flags for callchain</title>
<updated>2022-09-13T13:03:22Z</updated>
<author>
<name>Namhyung Kim</name>
<email>namhyung@kernel.org</email>
</author>
<published>2022-09-08T21:41:02Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=3749d33e510c3dc695b3a5886b706310890d7ebd'/>
<id>urn:sha1:3749d33e510c3dc695b3a5886b706310890d7ebd</id>
<content type='text'>
So that it can call perf_callchain() only if needed.  Historically it used
__PERF_SAMPLE_CALLCHAIN_EARLY but we can do that with sample_flags in the
struct perf_sample_data.

Signed-off-by: Namhyung Kim &lt;namhyung@kernel.org&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://lore.kernel.org/r/20220908214104.3851807-1-namhyung@kernel.org
</content>
</entry>
<entry>
<title>perf/x86: Change x86_pmu::limit_period signature</title>
<updated>2022-09-07T19:54:02Z</updated>
<author>
<name>Peter Zijlstra</name>
<email>peterz@infradead.org</email>
</author>
<published>2022-05-10T19:28:25Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=28f0f3c44b5c35be657a4f922dcdfb48285f4373'/>
<id>urn:sha1:28f0f3c44b5c35be657a4f922dcdfb48285f4373</id>
<content type='text'>
In preparation for making it a static_call, change the signature.

Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://lkml.kernel.org/r/20220829101321.573713839@infradead.org
</content>
</entry>
</feed>
