[PATCH v2 4/4] arm64: add a new document for the fine-tuning tips
Anshuman Khandual
anshuman.khandual at arm.com
Thu Dec 5 19:56:32 PST 2024
On 11/26/24 14:26, Huang Shijie wrote:
> Put some fine-tuning tips in this file:
> 1.) rodata=noalias
> 2.) slab_strict_numa
> 3.) CONFIG_SCHED_CLUSTER
>
> We can add more tips in future.
>
> Signed-off-by: Huang Shijie <shijie at os.amperecomputing.com>
> ---
> Documentation/arch/arm64/fine-tuning-tips.rst | 23 +++++++++++++++++++
> Documentation/arch/arm64/index.rst | 1 +
> 2 files changed, 24 insertions(+)
> create mode 100644 Documentation/arch/arm64/fine-tuning-tips.rst
>
> diff --git a/Documentation/arch/arm64/fine-tuning-tips.rst b/Documentation/arch/arm64/fine-tuning-tips.rst
> new file mode 100644
> index 000000000000..70ef1cef92fb
> --- /dev/null
> +++ b/Documentation/arch/arm64/fine-tuning-tips.rst
> @@ -0,0 +1,23 @@
> +.. SPDX-License-Identifier: GPL-2.0
> +
> +================
> +fine-tuning tips
> +================
> +
> +This file contains some fine-tuning tips for arm64 machines.
> +These tips do not gurantee that you can get better performance,
> +but you can try them with your workload.
> +
> +rodata=noalias
> +----------------
> +It can provide us more block mappings and contiguous hits
> +to map the linear region which minimizes the TLB footprint.
> +
> +slab_strict_numa
> +----------------
> +In NUMA, it will provide the local memory allocation by SLUB.
> +
> +CONFIG_SCHED_CLUSTER
> +----------------
> +Some arm64 machines have cpu core cluster, enable it may
> +helps you get better performance.
> diff --git a/Documentation/arch/arm64/index.rst b/Documentation/arch/arm64/index.rst
> index 6a012c98bdcd..36d1ef09bd71 100644
> --- a/Documentation/arch/arm64/index.rst
> +++ b/Documentation/arch/arm64/index.rst
> @@ -16,6 +16,7 @@ ARM64 Architecture
> cpu-feature-registers
> cpu-hotplug
> elf_hwcaps
> + fine-tuning-tips
> gcs
> hugetlbpage
> kdump
Although the idea for such a file makes sense, to help system admins
tune the kernel command line for required behaviour, I am concerned
about the overall structure and scope for such a document. Should it
contain tips regarding all the subsystems on the platform, till what
extent these details should be described in there and then there are
so many aspects for a required behaviour etc ?
Besides maintaining such a document might also be very difficult as
well given how implementations will change over time thus requiring
different tuning etc. Hence kernel source might not be a place for
such a document.
More information about the linux-arm-kernel
mailing list