lkml.org 
[lkml]   [2021]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH V4 0/6] Add the page size in the perf record (user tools)
From
Date


On 1/12/2021 12:24 AM, Athira Rajeev wrote:
>
>
>> On 06-Jan-2021, at 1:27 AM, kan.liang@linux.intel.com wrote:
>>
>> From: Kan Liang <kan.liang@linux.intel.com>
>>
>> Changes since V3:
>> - Rebase on top of acme's perf/core branch
>> commit c07b45a355ee ("perf record: Tweak "Lowering..." warning in record_opts__config_freq")
>>
>> Changes since V2:
>> - Rebase on top of acme perf/core branch
>> commit eec7b53d5916 ("perf test: Make sample-parsing test aware of PERF_SAMPLE_{CODE,DATA}_PAGE_SIZE")
>> - Use unit_number__scnprintf() in get_page_size_name()
>> - Emit warning about kernel not supporting the code page size sample_type bit
>>
>> Changes since V1:
>> - Fix the compile warning with GCC 10
>> - Add Acked-by from Namhyung Kim
>>
>> Current perf can report both virtual addresses and physical addresses,
>> but not the page size. Without the page size information of the utilized
>> page, users cannot decide whether to promote/demote large pages to
>> optimize memory usage.
>>
>> The kernel patches have been merged into tip perf/core branch,
>> commit 8d97e71811aa ("perf/core: Add PERF_SAMPLE_DATA_PAGE_SIZE")
>> commit 76a5433f95f3 ("perf/x86/intel: Support PERF_SAMPLE_DATA_PAGE_SIZE")
>> commit 4cb6a42e4c4b ("powerpc/perf: Support PERF_SAMPLE_DATA_PAGE_SIZE")
>> commit 995f088efebe ("perf/core: Add support for PERF_SAMPLE_CODE_PAGE_SIZE")
>> commit 51b646b2d9f8 ("perf,mm: Handle non-page-table-aligned hugetlbfs")
>>
>> and Peter's perf/core branch
>> commit 524680ce47a1 ("mm/gup: Provide gup_get_pte() more generic")
>> commit 44a35d6937d2 ("mm: Introduce pXX_leaf_size()")
>> commit 2f1e2f091ad0 ("perf/core: Fix arch_perf_get_page_size()")
>> commit 7649e44aacdd ("arm64/mm: Implement pXX_leaf_size() support")
>> commit 1df1ae7e262c ("sparc64/mm: Implement pXX_leaf_size() support")
>>
>> This patch set is to enable the page size support in user tools.
>
> Hi Kan Liang,
>
> I am trying to check this series on powerpc.
>
> # perf mem --phys-data --data-page-size record <workload>
>
> To my observation, some of the samples returned zero size and comes as ’N/A’ in the perf report
>
> # perf mem --phys-data --data-page-size report
>
> For fetching the page size, though initially there was a weak function added ( as arch_perf_get_page_size ) here:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/commit/?h=perf/core&id=51b646b2d9f84d6ff6300e3c1d09f2be4329a424
>
> later I see it got removed here:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/commit/?h=perf/core&id=8af26be062721e52eba1550caf50b712f774c5fd
>
> I picked kernel changes from git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git , or I am missing something ?

I believe all the kernel changes have been merged.

According to the commit message of the recent changes, only Power/8xxx
is supported for power for now. I guess that may be the reason of some
'N/A's.
https://lore.kernel.org/patchwork/cover/1345521/

Thanks,
Kan


>
> Thanks
> Athira
>
>>
>> Kan Liang (3):
>> perf mem: Clean up output format
>> perf mem: Support data page size
>> perf tools: Add support for PERF_SAMPLE_CODE_PAGE_SIZE
>>
>> Stephane Eranian (3):
>> perf script: Add support for PERF_SAMPLE_CODE_PAGE_SIZE
>> perf report: Add support for PERF_SAMPLE_CODE_PAGE_SIZE
>> perf test: Add test case for PERF_SAMPLE_CODE_PAGE_SIZE
>>
>> tools/perf/Documentation/perf-mem.txt | 3 +
>> tools/perf/Documentation/perf-record.txt | 3 +
>> tools/perf/Documentation/perf-report.txt | 1 +
>> tools/perf/Documentation/perf-script.txt | 2 +-
>> tools/perf/builtin-mem.c | 111 +++++++++++-----------
>> tools/perf/builtin-record.c | 2 +
>> tools/perf/builtin-script.c | 13 ++-
>> tools/perf/tests/sample-parsing.c | 4 +
>> tools/perf/util/event.h | 1 +
>> tools/perf/util/evsel.c | 18 +++-
>> tools/perf/util/evsel.h | 1 +
>> tools/perf/util/hist.c | 2 +
>> tools/perf/util/hist.h | 1 +
>> tools/perf/util/perf_event_attr_fprintf.c | 2 +-
>> tools/perf/util/record.h | 1 +
>> tools/perf/util/session.c | 3 +
>> tools/perf/util/sort.c | 26 +++++
>> tools/perf/util/sort.h | 2 +
>> tools/perf/util/synthetic-events.c | 8 ++
>> 19 files changed, 144 insertions(+), 60 deletions(-)
>>
>> --
>> 2.25.1
>>
>>
>>
>

\
 
 \ /
  Last update: 2021-01-12 20:16    [W:0.650 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site