[PATCH 00/12] Add the page size in the perf record (user tools)

From: kan . liang
Date: Tue Nov 17 2020 - 14:58:05 EST


From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>

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.

Kan Liang (8):
tools headers UAPI: Update tools's copy of linux/perf_event.h
perf record: Support new sample type for data page size
perf script: Support data page size
perf sort: Add sort option for data page size
perf mem: Factor out a function to generate sort order
perf mem: Clean up output format
perf mem: Support data page size
perf test: Add test case for PERF_SAMPLE_DATA_PAGE_SIZE

Stephane Eranian (4):
perf tools: Add support for PERF_SAMPLE_CODE_PAGE_SIZE
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/include/uapi/linux/perf_event.h | 6 +-
tools/perf/Documentation/perf-mem.txt | 3 +
tools/perf/Documentation/perf-record.txt | 6 +
tools/perf/Documentation/perf-report.txt | 2 +
tools/perf/Documentation/perf-script.txt | 5 +-
tools/perf/builtin-mem.c | 150 ++++++++++++----------
tools/perf/builtin-record.c | 4 +
tools/perf/builtin-script.c | 26 +++-
tools/perf/tests/sample-parsing.c | 10 +-
tools/perf/util/event.h | 5 +
tools/perf/util/evsel.c | 18 +++
tools/perf/util/hist.c | 5 +
tools/perf/util/hist.h | 2 +
tools/perf/util/machine.c | 7 +-
tools/perf/util/map_symbol.h | 1 +
tools/perf/util/perf_event_attr_fprintf.c | 2 +-
tools/perf/util/record.h | 2 +
tools/perf/util/session.c | 26 ++++
tools/perf/util/sort.c | 56 ++++++++
tools/perf/util/sort.h | 3 +
tools/perf/util/synthetic-events.c | 16 +++
21 files changed, 278 insertions(+), 77 deletions(-)

--
2.17.1