Messages in this thread | | | Date | Fri, 4 Aug 2023 19:47:09 +0800 | Subject | Re: [PATCH v4 2/2] perf record: Update docs regarding the maximum limitation of AUX area | From | Shuai Xue <> |
| |
On 2023/8/4 16:46, Leo Yan wrote: > On Fri, Aug 04, 2023 at 03:29:45PM +0800, Shuai Xue wrote: >> The maximum AUX area is limited by the page size of the system. Update >> the documentation to reflect this. >> >> Signed-off-by: Shuai Xue <xueshuai@linux.alibaba.com> >> --- >> tools/perf/Documentation/perf-record.txt | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/tools/perf/Documentation/perf-record.txt b/tools/perf/Documentation/perf-record.txt >> index 680396c56bd1..b0ee7b63da0e 100644 >> --- a/tools/perf/Documentation/perf-record.txt >> +++ b/tools/perf/Documentation/perf-record.txt >> @@ -292,6 +292,9 @@ OPTIONS >> Also, by adding a comma, the number of mmap pages for AUX >> area tracing can be specified. >> >> + The maximum AUX area is limited by the page size of the system. For >> + example with 4K pages configured, the maximum is 2GiB. >> + > > This statement is incorrect as it fails to give out prerequisites. > > E.g., on Arm64, for 4KiB, 16KiB or 64KiB base page size, different page > size has different default values for MAX_ORDER. Furthermore, MAX_ORDER > can be set by config ARCH_FORCE_MAX_ORDER, thus we cannot arbitrarily > say the maximum allocation size is 2GiB for 4KiB page size. >
Hi, Leo,
You are right, thank you for point this out.
Maybe we could consider to use a formula to present the avaliable > maximum buffer size: > > PAGE_SIZE << MAX_ORDER > ( ---------------------- ) * PAGE_SIZE > sizeof(page_pointer) > > PAGE_SIZE << MAX_ORDER : the size of maximal physically > contiguous allocations, which is the maximum size can be > allocated by slab/slub.
I agree that a formula to present that limitation is more accurate. But as @James commented in last v3, "Minor nit: I wouldn't expect a Perf tool user to know what "MAX_ORDER" is", how about to keep both:
The maximum AUX area is limited by the maximum physically contiguous memory allocated from slab/slub. It can be calculated with following formula:
PAGE_SIZE << MAX_ORDER ( ---------------------- ) * PAGE_SIZE sizeof(page_pointer)
For example with 4K pages and MAX_ORDER=10 configured, the maximum AUX area is 2GiB.
Thank you.
Best Regards, Shuai
| |