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@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
--
2.40.1
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@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.
On 2024/12/6 11:56, Anshuman Khandual wrote: > 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@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 This file also contains the CONFIG_SCHED_CLUSTER which is not a kernel command line. > 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 ? My original thought is to let this file contains the tips only works in arm64. All the tips which _may_ make the arm64 machines get better performance can be recorded here. Then the arm64 kernel engineers(the newbies) can follow this file, and ramp up quickly. > > 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. okay. If the kernel source is not the right place, I can remove this patch in next version. Thanks Huang Shijie
On Tue, 26 Nov 2024, Huang Shijie wrote: > +slab_strict_numa > +---------------- > +In NUMA, it will provide the local memory allocation by SLUB. "Slab objects will be placed individually according to memory policies. Increases object locality which is useful for NUMA systems using SLC caches"
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@os.amperecomputing.com>
---
Add the comment from Christoph.
---
Documentation/arch/arm64/fine-tuning-tips.rst | 25 +++++++++++++++++++
Documentation/arch/arm64/index.rst | 1 +
2 files changed, 26 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..df67a5ac87b9
--- /dev/null
+++ b/Documentation/arch/arm64/fine-tuning-tips.rst
@@ -0,0 +1,25 @@
+.. 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.
+Slab objects will be placed individually according to memory policies.
+Increases object locality which is useful for NUMA systems using SLC caches.
+
+CONFIG_SCHED_CLUSTER
+----------------
+Some arm64 machines have cpu core clusters, 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
--
2.40.1
© 2016 - 2026 Red Hat, Inc.