[dpdk-dev] [PATCH v1] doc:add tested platforms and nics

2016-04-08 Thread Qian Xu
add a new file about tested platforms and nics in doc/guides/nics
Signed-off-by: Qian Xu 

diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst
index 769f677..d34040b 100644
--- a/doc/guides/nics/index.rst
+++ b/doc/guides/nics/index.rst
@@ -36,6 +36,7 @@ Network Interface Controller Drivers
 :numbered:

 overview
+test_platforms
 bnx2x
 cxgbe
 e1000em
diff --git a/doc/guides/nics/test_platforms.rst 
b/doc/guides/nics/test_platforms.rst
new file mode 100644
index 000..00a4fd5
--- /dev/null
+++ b/doc/guides/nics/test_platforms.rst
@@ -0,0 +1,151 @@
+..  BSD LICENSE
+Copyright(c) 2016 Intel Corporation. All rights reserved.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+* Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in
+the documentation and/or other materials provided with the
+distribution.
+* Neither the name of Intel Corporation nor the names of its
+contributors may be used to endorse or promote products derived
+from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Tested Platforms and Nics
+=
+
+Tested Platforms
+
+
+Platform#1: SuperMicro 1U
+
+- BIOS: 1.0c
+- Processor: Intel(R) Atom(TM) CPU  C2758  @ 2.40GHz
+
+Platform#2: SuperMicro 1U
+
+- BIOS: 1.0a
+- Processor: Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz
+- Onboard NIC: Intel(R) X552/X557-AT(2x10G) 
+  - firmware-version: 0x81cf; 
+  - device ID(PF/VF): 8086:15ad /8086:15a8; 
+  - kernel driver version: 4.2.5(ixgbe)
+
+Platform#3: SuperMicro 1U
+
+- BIOS: 1.0a
+- Processor: Intel(R) Xeon(R) CPU E5-4667 v3 @ 2.00GHz
+
+Platform#4: Intel(R) Server board S2600GZ
+
+- BIOS: SE5C600.86B.02.02.0002.122320131210
+- Processor: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
+
+Platform#5: Intel(R) Server board W2600CR
+
+- BIOS: SE5C600.86B.02.01.0002.082220131453
+- Processor: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
+
+Platform#6: Intel(R) Server board S2600CWT
+
+- BIOS: SE5C610.86B.01.01.0009.060120151350
+- Processor: Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
+
+Platform#7: Intel? Server board S2600WTT
+
+- BIOS: SE5C610.86B.01.01.0005.101720141054
+- Processor: Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
+
+Platform#8: Intel? Server board S2600WTT   
+
+- BIOS: SE5C610.86B.11.01.0044.090120151156
+- Processor: Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz
+
+Tested NICs
+---
+
+NIC#1: Intel? Ethernet Controller X540-AT2
+
+- firmware version: 0x8389
+- device id(pf): 8086:1528
+- driver version: 3.23.2 (ixgbe)
+
+NIC#2: Intel? 82599ES 10 Gigabit Ethernet Controller
+
+- firmware version: 0x61bf0001
+- device id(pf/vf): 8086:10fb / 8086:10ed
+- driver version: 4.0.1-k (ixgbe)
+
+NIC#3: Intel Corporation Ethernet Connection X552/X557-AT 10GBASE-T
+
+- firmware version: 0x81cf
+- device id(pf/vf): 8086:15ad / 8086:15a8
+- driver version: 4.2.5(ixgbe)
+
+NIC#4: Intel? Ethernet Converged Network Adapter X710-DA4(4x10G) 
+
+- firmware version: 5.02 0x80002284
+- device id(pf/vf): 8086:1572 / 8086:154c
+- driver version: 1.4.26(i40e)
+
+NIC#4: Intel? Ethernet Converged Network Adapter X710-DA2(2x10G)
+
+- firmware version: 5.02 0x80002282
+- device id(pf/vf): 8086:1572 / 8086:154c
+- driver version: 1.4.25(i40e)
+   
+NIC#5: Intel? Ethernet Converged Network Adapter XL710-QDA1(1x40G)
+
+- firmware version: 5.02 0x80002281
+- device id(pf/vf): 8086:1584 / 8086:154c
+- driver version: 1.4.25(i40e)
+
+NIC#6: Intel? Ethernet Converged Network Adapter XL710-QDA2(2X40G)
+
+- firmware version: 5.02 0x80002285
+- device id(pf/vf): 8086:1583 / 8086:154c
+- driver version: 1.4.25(i40e)
+
+NIC#7: Intel? 82576EB Gigabit Ethernet Controller
+
+- firmware version: 1.2.1
+- device id(pf): 8086:1526
+- driver version: 5.2.13-k (igb)
+
+NIC#8: Intel

[dpdk-dev] [PATCH] igb_uio: fix vmware e1000 input/output error

2016-03-21 Thread Qian Xu
In vmware esxi 6.0, add the emulated e1000 device to guest, then
launch the VM, we will see the error meassage as below:

EAL: Error reading from file descriptor 21: Input/output error

INTX is badly emulated in Vmware, INTX toggle check didn't work
with Vmware e1000 device. The patch is to fix the issue. And the
patch is from http://dpdk.org/dev/patchwork/patch/945/, so Masaru
OKI is the author. Qian just updated the patch for latest code.

Signed-off-by: Masaru OKI

diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c 
b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
index 72b2692..f5e9aeb 100644
--- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
+++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
@@ -450,14 +450,11 @@ igbuio_pci_probe(struct pci_dev *dev, const struct 
pci_device_id *id)
}
/* fall back to INTX */
case RTE_INTR_MODE_LEGACY:
-   if (pci_intx_mask_supported(dev)) {
-   dev_dbg(>dev, "using INTX");
-   udev->info.irq_flags = IRQF_SHARED;
-   udev->info.irq = dev->irq;
-   udev->mode = RTE_INTR_MODE_LEGACY;
-   break;
-   }
-   dev_notice(>dev, "PCI INTX mask not supported\n");
+dev_dbg(>dev, "using INTX");
+udev->info.irq_flags = IRQF_SHARED;
+udev->info.irq = dev->irq;
+udev->mode = RTE_INTR_MODE_LEGACY;
+break;
/* fall back to no IRQ */
case RTE_INTR_MODE_NONE:
udev->mode = RTE_INTR_MODE_NONE;
-- 
2.1.0



[dpdk-dev] [PATCH v5] doc: add a nic performance guide on linux gsg

2015-11-18 Thread Qian Xu
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 Locato

[dpdk-dev] [PATCH v4] doc: add nic performance guide on linux gsg

2015-11-17 Thread Qian Xu
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 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..31c60a6
--- /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.48.4 r9939"
+   sodipodi:docname="performance_test_setup.svg">
+  
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+  
+  
+  
+
+  
+image/svg+xml
+http://purl.org/dc/dcmitype/StillImage; />
+
+  
+
+  
+  
+
+
+IXIA
+
+
+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..67b49c6
--- /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: DIMM_G2
+  Bank Locator

[dpdk-dev] [PATCH v3] doc: add performance test guide to the linux gsg

2015-09-24 Thread Qian Xu
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 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..a7d2cda 100644
--- a/doc/guides/linux_gsg/build_dpdk.rst
+++ b/doc/guides/linux_gsg/build_dpdk.rst
@@ -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..31c60a6
--- /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.48.4 r9939"
+   sodipodi:docname="performance_test_setup.svg">
+  
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+  
+  
+  
+
+  
+image/svg+xml
+http://purl.org/dc/dcmitype/StillImage; />
+
+  
+
+  
+  
+
+
+IXIA
+
+
+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..f8b5086 100644
--- a/doc/guides/linux_gsg/index.rst
+++ b/doc/guides/linux_gsg/index.rst
@@ -47,3 +47,4 @@ Contents
 build_sample_apps
 enable_func
 quick_start
+perf_test_intel_platform_nic
diff --git a/doc/guides/linux_gsg/perf_test_intel_platform_nic.rst 
b/doc/guides/linux_gsg/perf_test_intel_platform_nic.rst
new file mode 100644
index 000..e235c5e
--- /dev/null
+++ b/doc/guides/linux_gsg/perf_test_intel_platform_nic.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: DIMM_G2
+  Bank Locator: NODE 2
+  Locator: DIMM_H1
+  Bank Locator: NODE 2
+  Locator: DIMM_H2
+  Bank Locator: NODE 2
+
+The sample output above shows a total of 8 channels, from ``A`` to ``H``, 
where each channel has 2 DIMMs.
+
+You can also use ``dmidecode`` to determine the memory frequency::
+
+  dmidecode -t memory | grep Speed
+
+  Speed: 2133 MHz
+  Configured Clock Speed: 2134 MHz
+  Speed: Unknown
+  Configured Clock Speed: Unknown
+  Speed: 2133 MHz
+  Configured Clock Speed: 2134 MHz
+  Speed: Unknown
+  ...
+  Speed: 2133 MHz
+  Configured

[dpdk-dev] [PATCH]doc: Add performance tuning guide about how to get DPDK high perf on Intel platform.

2015-08-10 Thread Qian Xu
Signed-off-by: Qian Xu 

Add a new guide doc under guides folder. This document is a step-by-step guide 
about how to get high performance with
DPDK on Intel's platform and NICs.
It is designed for users who are not familiar with DPDK but would like to 
measure the best performance. It contains
step-by-step instructions to set the platform and NICs to its best performance.
The document will add more sections with the DPDK features' increment.
Currently, the document has only one section about PF performance test setup, 
and will add below cases in near future.

*  VF performance tuning.
*  Vhost/virtio performance tuning.
*  new features


diff --git a/doc/guides/perf_tuning_guide/img/pf_performance_test_setup.svg 
b/doc/guides/perf_tuning_guide/img/pf_performance_test_setup.svg
new file mode 100644
index 000..50ce92d
--- /dev/null
+++ b/doc/guides/perf_tuning_guide/img/pf_performance_test_setup.svg
@@ -0,0 +1,375 @@
+
+
+
+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:xlink="http://www.w3.org/1999/xlink;
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd;
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape;
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="609.375"
+   height="349.6875"
+   viewBox="0 0 609.375 349.6875"
+   sodipodi:docname="Performance_test_setup.svg">
+  
+
+  
+image/svg+xml
+http://purl.org/dc/dcmitype/StillImage; />
+
+  
+
+  
+  
+  
+  
+
diff --git a/doc/guides/perf_tuning_guide/index.rst 
b/doc/guides/perf_tuning_guide/index.rst
new file mode 100644
index 000..ff325e9
--- /dev/null
+++ b/doc/guides/perf_tuning_guide/index.rst
@@ -0,0 +1,47 @@
+..  BSD LICENSE
+Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+* Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in
+the documentation and/or other materials provided with the
+distribution.
+* Neither the name of Intel Corporation nor the names of its
+contributors may be used to endorse or promote products derived
+from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Performance Tuning Guide for Intel's platform
+=
+
+|today|
+
+Contents
+
+.. toctree::
+:maxdepth: 2
+:numbered:
+
+intro
+performance_tuning
+
+
+
+
diff --git a/doc/guides/perf_tuning_guide/intro.rst 
b/doc/guides/perf_tuning_guide/intro.rst
new file mode 100644
index 000..5672549
--- /dev/null
+++ b/doc/guides/perf_tuning_guide/intro.rst
@@ -0,0 +1,44 @@
+..  BSD LICENSE
+Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+* Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in
+the documentation and/or other materials provided with the
+distribution.
+* Neither the name of Intel Corporation nor the names of its
+contributors may be used to endorse or promote products derived
+from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY T