lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <D84F9EA2-7BA9-41F2-9827-7C8AB64360F6@linux.vnet.ibm.com>
Date:   Tue, 19 Jan 2021 17:46:04 +0530
From:   Athira Rajeev <atrajeev@...ux.vnet.ibm.com>
To:     "Liang, Kan" <kan.liang@...ux.intel.com>
Cc:     Arnaldo Carvalho de Melo <acme@...nel.org>, mingo@...nel.org,
        linux-kernel@...r.kernel.org, Jiri Olsa <jolsa@...hat.com>,
        Namhyung Kim <namhyung@...nel.org>, eranian@...gle.com,
        ak@...ux.intel.com, mark.rutland@....com, will@...nel.org,
        mpe@...erman.id.au, Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH V4 0/6] Add the page size in the perf record (user tools)



> On 13-Jan-2021, at 12:43 AM, Liang, Kan <kan.liang@...ux.intel.com> wrote:
> 
> 
> 
> On 1/12/2021 12:24 AM, Athira Rajeev wrote:
>>> On 06-Jan-2021, at 1:27 AM, kan.liang@...ux.intel.com wrote:
>>> 
>>> From: Kan Liang <kan.liang@...ux.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 for clarifying. 
For tools side changes, other than ’N/A’ in the perf report which I got, I verified the --data-page-size option for perf mem record and mem report.

For tools-side changes,
Tested-by: Athira Rajeev<atrajeev@...ux.vnet.ibm.com>

Thanks
Athira
> 
> 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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ