Add a new guide doc as part of the Linux Getting Started Guide.
The document is a step-by-step guide on how to get high performance
with DPDK on an Intel platform.
It is designed for users who are not familiar with DPDK but would like
to get the best performance with NICs.
Signed-off-by: Qian Xu
-
Changes in v5:
* Update the diagram to remove IXIA name.
* Some typo fixes.
* Minor format update.
Changes in v4:
* Update some naming and wordings according to Thomas's comments.
Changes in v3:
* Refined the svg file.
* Made the perf guide more general, not specific with Intel NICs.
* Update BIOS settings.
* Update rst file format.
* Put it into linux_gsg folder.
Changes in v2:
* Created a svg file.
* Add one part about how to check memory channels by dmidecode.
* Add the command about how to check PCIe slot's speed.
* Some doc updates according to the comments.
diff --git a/doc/guides/linux_gsg/build_dpdk.rst
b/doc/guides/linux_gsg/build_dpdk.rst
index 2680e66..014b52b 100644
--- a/doc/guides/linux_gsg/build_dpdk.rst
+++ b/doc/guides/linux_gsg/build_dpdk.rst
@@ -1,5 +1,5 @@
.. BSD LICENSE
-Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,8 @@
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.. _linux_gsg_compiling_dpdk:
+
Compiling the DPDK Target from Source
=
diff --git a/doc/guides/linux_gsg/img/intel_perf_test_setup.svg
b/doc/guides/linux_gsg/img/intel_perf_test_setup.svg
new file mode 100644
index 000..27c3c1c
--- /dev/null
+++ b/doc/guides/linux_gsg/img/intel_perf_test_setup.svg
@@ -0,0 +1,507 @@
+
+
+
+http://purl.org/dc/elements/1.1/";
+ xmlns:cc="http://creativecommons.org/ns#";
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+ xmlns:svg="http://www.w3.org/2000/svg";
+ xmlns="http://www.w3.org/2000/svg";
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+ width="750.94739"
+ height="466.69046"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="intel_perf_test_setup.svg">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+image/svg+xml
+http://purl.org/dc/dcmitype/StillImage"; />
+
+
+
+
+
+
+
+Traffic
Generator
+
+
+Dest
MAC: Port 0Dest IP: 2.1.1.1Src IP: Random
+Port
A
+
+
+Dest MAC: Port 1Dest IP: 1.1.1.1Src IP: Random
+Port
B
+
+
+
+Intel XL 71040G Ethernet
+Port
0
+Flow 2
+Flow 1
+
+Port
X
+
+
+
+
+
+Intel XL 71040G Ethernet
+
+Port
1
+
+Port
X
+
+Port
0 to Port 1Port
1 to Port 0
+Forwarding
+IA
Platform(Socket 1)
+
+
diff --git a/doc/guides/linux_gsg/index.rst b/doc/guides/linux_gsg/index.rst
index 89800cc..d68135b 100644
--- a/doc/guides/linux_gsg/index.rst
+++ b/doc/guides/linux_gsg/index.rst
@@ -1,5 +1,5 @@
.. BSD LICENSE
-Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -47,3 +47,4 @@ Contents
build_sample_apps
enable_func
quick_start
+nic_perf_intel_platform
diff --git a/doc/guides/linux_gsg/nic_perf_intel_platform.rst
b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
new file mode 100644
index 000..75da7c3
--- /dev/null
+++ b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
@@ -0,0 +1,260 @@
+How to get best performance with NICs on Intel platforms
+
+
+This document is a step-by-step guide for getting high performance from DPDK
applications on Intel platforms.
+
+
+Hardware and Memory Requirements
+
+
+For best performance use an Intel Xeon class server system such as Ivy Bridge,
Haswell or newer.
+
+Ensure that each memory channel has at least one memory DIMM inserted, and
that the memory size for each is at least 4GB.
+**Note**: this has one of the most direct effects on performance.
+
+You can check the memory configuration using ``dmidecode`` as follows::
+
+ dmidecode -t memory | grep Locator
+
+ Locator: DIMM_A1
+ Bank Locator: NODE 1
+ Locator: DIMM_A2
+ Bank Locator: NODE 1
+ Locator: DIMM_B1
+ Bank Locator: NODE 1
+ Locator: DIMM_B2
+ Bank Locator: NODE 1
+ ...
+ Locator: DIMM_G1
+ Bank Locator: NODE 2
+ Locator: DI