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

kan.liang
2020-11-17T19:58:05Z

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