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@xxxxxxxxxxxxxxxxx> >> --- >> 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