DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] doc/linux_gsg: add amd configuration section
@ 2024-01-24 18:10 Vipin Varghese
  2024-03-25  0:30 ` Thomas Monjalon
  0 siblings, 1 reply; 3+ messages in thread
From: Vipin Varghese @ 2024-01-24 18:10 UTC (permalink / raw)
  To: dev, thomas; +Cc: ferruh.yigit

Add AMD EPYC SoC tuning guide as new section of linux getting
started guide.

Signed-off-by: Vipin Varghese <vipin.varghese@amd.com>
---
 MAINTAINERS                           |  4 ++
 doc/guides/linux_gsg/amd_platform.rst | 70 +++++++++++++++++++++++++++
 doc/guides/linux_gsg/index.rst        |  1 +
 3 files changed, 75 insertions(+)
 create mode 100644 doc/guides/linux_gsg/amd_platform.rst

diff --git a/MAINTAINERS b/MAINTAINERS
index 0d1c8126e3..e7122f1a85 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -275,6 +275,10 @@ F: lib/eal/include/rte_random.h
 F: lib/eal/common/rte_random.c
 F: app/test/test_rand_perf.c
 
+AMD x86
+M: Vipin Varghese <vipin.varghese@amd.com>
+F: doc/guides/linux_gsg/amd_platform.rst
+
 ARM v7
 M: Ruifeng Wang <ruifeng.wang@arm.com>
 F: config/arm/
diff --git a/doc/guides/linux_gsg/amd_platform.rst b/doc/guides/linux_gsg/amd_platform.rst
new file mode 100644
index 0000000000..237f84785a
--- /dev/null
+++ b/doc/guides/linux_gsg/amd_platform.rst
@@ -0,0 +1,70 @@
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright(c) 2023 Advanced Micro Devices, Inc. All rights reserved.
+
+How to get best performance on AMD platform
+===========================================
+
+This document provides a detailed, step-by-step guide on configuring AMD EPYC
+System-on-Chip (SoC) for optimal performance in DPDK applications across different
+SoC families.
+
+The overall performance is influenced by factors such as BIOS settings, NUMA Per
+Socket configuration, Memory per NUMA allocation, and proximity to IO devices.
+
+These are covered in various sections of tuning guides shared below.
+
+
+Tuning Guide for AMD EPYC SoC
+-----------------------------
+
+#. `MILAN <https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/data-plane-development-kit-tuning-guide-amd-epyc7003-series-processors.pdf>`_
+
+#. `GENOA <https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/58017-amd-epyc-9004-tg-data-plane-dpdk.pdf>`_
+
+#. `BERGAMO|SIENNA <https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/58310_amd-epyc-8004-tg-data-plane-dpdk.pdf>`_
+
+
+General Requirements
+--------------------
+
+Memory
+~~~~~~
+
+Refer to the 'Memory Configuration' section for specific details related to the System-on-Chip (SoC).
+
+.. Note::
+
+   As a general guideline, it is recommended to populate at least one memory DIMM in each memory channel.
+   The optimal memory size for each DIMM is at least 8, 16, or 32 GB, utilizing ECC modules.
+
+
+BIOS
+----
+
+Refer to the `BIOS Performance` section in tuning guide for recommended settings.
+
+
+Linux Grub
+----------
+
+Refer to the `Linux OS & Kernel` in tuning guide for recommended settings.
+
+
+NIC and Accelerator
+-------------------
+
+AMD EPYC supports PCIe Generation of 1|2|3|4|5 depending upon SoC families.
+For best performance ensure the right slots are used which provides adequate bandwidth.
+
+Use ``lspci`` to check the speed of a PCI slot ::
+
+      lspci -s 41:00.0 -vv | grep LnkSta
+
+      LnkSta: Speed 16GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- ...
+      LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+ ...
+
+
+Compiler
+--------
+
+Refer to the `Compiler Flags` in tuning guide for recommended version and `-march` flags.
diff --git a/doc/guides/linux_gsg/index.rst b/doc/guides/linux_gsg/index.rst
index c3e67bf9ec..ecdaf35eec 100644
--- a/doc/guides/linux_gsg/index.rst
+++ b/doc/guides/linux_gsg/index.rst
@@ -21,3 +21,4 @@ Getting Started Guide for Linux
     linux_eal_parameters
     enable_func
     nic_perf_intel_platform
+    amd_platform
-- 
2.39.3


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] doc/linux_gsg: add amd configuration section
  2024-01-24 18:10 [PATCH] doc/linux_gsg: add amd configuration section Vipin Varghese
@ 2024-03-25  0:30 ` Thomas Monjalon
  0 siblings, 0 replies; 3+ messages in thread
From: Thomas Monjalon @ 2024-03-25  0:30 UTC (permalink / raw)
  To: Vipin Varghese; +Cc: dev, ferruh.yigit

24/01/2024 19:10, Vipin Varghese:
> Add AMD EPYC SoC tuning guide as new section of linux getting
> started guide.
> 
> Signed-off-by: Vipin Varghese <vipin.varghese@amd.com>

Applied, with a bit of reformatting, thanks.




^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] doc/linux_gsg: add amd configuration section
@ 2024-01-24 18:03 Vipin Varghese
  0 siblings, 0 replies; 3+ messages in thread
From: Vipin Varghese @ 2024-01-24 18:03 UTC (permalink / raw)
  To: dev, thomas; +Cc: ferruh.yigit

Add AMD EPYC SoC tuning guide as new setcion of linux getting
started guide.

Signed-off-by: Vipin Varghese <vipin.varghese@amd.com>
---
 MAINTAINERS                           |  4 ++
 doc/guides/linux_gsg/amd_platform.rst | 70 +++++++++++++++++++++++++++
 doc/guides/linux_gsg/index.rst        |  1 +
 3 files changed, 75 insertions(+)
 create mode 100644 doc/guides/linux_gsg/amd_platform.rst

diff --git a/MAINTAINERS b/MAINTAINERS
index 0d1c8126e3..e7122f1a85 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -275,6 +275,10 @@ F: lib/eal/include/rte_random.h
 F: lib/eal/common/rte_random.c
 F: app/test/test_rand_perf.c
 
+AMD x86
+M: Vipin Varghese <vipin.varghese@amd.com>
+F: doc/guides/linux_gsg/amd_platform.rst
+
 ARM v7
 M: Ruifeng Wang <ruifeng.wang@arm.com>
 F: config/arm/
diff --git a/doc/guides/linux_gsg/amd_platform.rst b/doc/guides/linux_gsg/amd_platform.rst
new file mode 100644
index 0000000000..237f84785a
--- /dev/null
+++ b/doc/guides/linux_gsg/amd_platform.rst
@@ -0,0 +1,70 @@
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright(c) 2023 Advanced Micro Devices, Inc. All rights reserved.
+
+How to get best performance on AMD platform
+===========================================
+
+This document provides a detailed, step-by-step guide on configuring AMD EPYC
+System-on-Chip (SoC) for optimal performance in DPDK applications across different
+SoC families.
+
+The overall performance is influenced by factors such as BIOS settings, NUMA Per
+Socket configuration, Memory per NUMA allocation, and proximity to IO devices.
+
+These are covered in various sections of tuning guides shared below.
+
+
+Tuning Guide for AMD EPYC SoC
+-----------------------------
+
+#. `MILAN <https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/data-plane-development-kit-tuning-guide-amd-epyc7003-series-processors.pdf>`_
+
+#. `GENOA <https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/58017-amd-epyc-9004-tg-data-plane-dpdk.pdf>`_
+
+#. `BERGAMO|SIENNA <https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/58310_amd-epyc-8004-tg-data-plane-dpdk.pdf>`_
+
+
+General Requirements
+--------------------
+
+Memory
+~~~~~~
+
+Refer to the 'Memory Configuration' section for specific details related to the System-on-Chip (SoC).
+
+.. Note::
+
+   As a general guideline, it is recommended to populate at least one memory DIMM in each memory channel.
+   The optimal memory size for each DIMM is at least 8, 16, or 32 GB, utilizing ECC modules.
+
+
+BIOS
+----
+
+Refer to the `BIOS Performance` section in tuning guide for recommended settings.
+
+
+Linux Grub
+----------
+
+Refer to the `Linux OS & Kernel` in tuning guide for recommended settings.
+
+
+NIC and Accelerator
+-------------------
+
+AMD EPYC supports PCIe Generation of 1|2|3|4|5 depending upon SoC families.
+For best performance ensure the right slots are used which provides adequate bandwidth.
+
+Use ``lspci`` to check the speed of a PCI slot ::
+
+      lspci -s 41:00.0 -vv | grep LnkSta
+
+      LnkSta: Speed 16GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- ...
+      LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+ ...
+
+
+Compiler
+--------
+
+Refer to the `Compiler Flags` in tuning guide for recommended version and `-march` flags.
diff --git a/doc/guides/linux_gsg/index.rst b/doc/guides/linux_gsg/index.rst
index c3e67bf9ec..ecdaf35eec 100644
--- a/doc/guides/linux_gsg/index.rst
+++ b/doc/guides/linux_gsg/index.rst
@@ -21,3 +21,4 @@ Getting Started Guide for Linux
     linux_eal_parameters
     enable_func
     nic_perf_intel_platform
+    amd_platform
-- 
2.39.3


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-03-25  0:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-24 18:10 [PATCH] doc/linux_gsg: add amd configuration section Vipin Varghese
2024-03-25  0:30 ` Thomas Monjalon
  -- strict thread matches above, loose matches on Subject: below --
2024-01-24 18:03 Vipin Varghese

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).