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.
+
-g::
Enables call-graph (stack chain/backtrace) recording for both
kernel space and user space.
--
2.39.3
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.
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.
Thanks,
Leo
> -g::
> Enables call-graph (stack chain/backtrace) recording for both
> kernel space and user space.
> --
> 2.39.3
>
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
© 2016 - 2026 Red Hat, Inc.