Re: [PATCH v3] perf: map pages in advance

From: David Hildenbrand
Date: Fri Dec 20 2024 - 16:54:00 EST


On 20.12.24 22:29, David Hildenbrand wrote:
On 20.12.24 20:36, Chen, Zide wrote:


On 12/20/2024 1:56 AM, David Hildenbrand wrote:
On 20.12.24 10:31, Lorenzo Stoakes wrote:
On Thu, Dec 19, 2024 at 01:17:44PM -0800, Chen, Zide wrote:

With this patch, it seems perf tool has some problems in capturing the
kernel data with Intel PT.

Running the following commands, the size of perf.data is very small, and
perf script can't find any valid records.

perf record -e intel_pt//u -- /bin/ls
perf script --insn-trace



Hi,

I'm on leave (and should really go back to relaxing :>), returning on 2nd
Jan so can't really dig into this.

But I tried it on my intel box and it 'works on my machine' with and
without patch with commands provided, so I'm not sure this is actually a
product of this change (which shouldn't impact this).

Zide Chen, can you try with and without this patch to see if it
introduces the issue?

Yes, I re-did the test on a SPR server, and the result is same. Without
the patch, it went well; But with it, "perf script --insn-trace" doesn't
show valid records.

This time I tested it on the clean 6.13-rc1 tag, base commit
40384c840ea1944d7c5a392e8975ed088ecf0b37

Also, with this patch, running tools/perf/tests/shell/test_intel_pt.sh:

Error:
The - data has no samples!

I just tested it on 6.13-rc1 vs. 6.13-rc1 with this patch.

Indeed, there is quite difference. Below are the main parts that changed, only.

We seem to be recording data, but maybe what we record gets corrupted somehow?

Huge parts of the new file are full of 0s. Either we are mapping the wrong pages, or reading from the pages (via PFNMAP) does not work as expected.

--
Cheers,

David / dhildenb