From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH]doc: Add performance tuning guide about how to get DPDK high perf on Intel platform. Date: Mon, 10 Aug 2015 15:37:32 +0200 Message-ID: <1593935.xObAPAzFJy@xps13> References: <1439188487-7302-1-git-send-email-qian.q.xu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Cc: dev@dpdk.org To: Qian Xu Return-path: Received: from mail-wi0-f174.google.com (mail-wi0-f174.google.com [209.85.212.174]) by dpdk.org (Postfix) with ESMTP id 21B9E3B5 for ; Mon, 10 Aug 2015 15:38:46 +0200 (CEST) Received: by wibhh20 with SMTP id hh20so151241083wib.0 for ; Mon, 10 Aug 2015 06:38:46 -0700 (PDT) In-Reply-To: <1439188487-7302-1-git-send-email-qian.q.xu@intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi, Thanks for adding more helpful documentation. 2015-08-10 14:34, Qian Xu: > Signed-off-by: Qian Xu The Sign-off line must be below the commit message. > Add a new guide doc under guides folder. This document is a step-by-s= tep 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 lik= e to measure the best performance. It contains > step-by-step instructions to set the platform and NICs to its best pe= rformance. > The document will add more sections with the DPDK features' increment= . > Currently, the document has only one section about PF performance tes= t setup, and will add below cases in near future. >=20 > * VF performance tuning. > * Vhost/virtio performance tuning. > * new features.... Good idea, thanks > --- /dev/null > +++ b/doc/guides/perf_tuning_guide/img/pf_performance_test_setup.svg > + + width=3D"609.375" > + height=3D"349.6875" > + preserveAspectRatio=3D"none" > + xlink:href=3D"data:image/png;base64, This is a PNG picture embedded in SVG. Please draw only some true SVG files. Inkscape is the preferred tool. > +++ b/doc/guides/perf_tuning_guide/performance_tuning.rst This file is Intel-specific. So it should be renamed =09doc/guides/perf_tuning/intel_platform.rst > +This document is a step-by-step guide for getting high DPDK performa= nce with Intel's platform and NICs. Could it be specific to Intel's CPU but allows some chapters for other = NICs tuning (e.g. Chelsio, Cisco, Mellanox)? Ideally, the NIC tuning should refer to sections in doc/guides/nics/. > +1. Get an high end Intel=C2=AE NIC, e.g: Intel=C2=AE XL710. "Get an high end NIC that can sustain a high packet rate."? > +2. Make sure each NIC has flashed the latest version of NVM/firmware= , if there is. > + > +3. Use PCIe Gen3 slots, such as Gen3 x8 or Gen3 x16 because PCIe Gen= 2 slots can't provide enough bandwidth for 2x10G and above. Could you describe how to get this characteristics with lspci? > +4. When inserting NICs to the PCI slots, be careful about the NUMA. = If you will use 2 or more ports from different NICs, please make sure t= hese NICs on the same CPU socket. Could you describe how to know the CPU-PCI mapping? lstopo, lspci? > +BIOS settings: > +~~~~~~~~~~~~~~ > + > +1. To be sure, reset all the BIOS settings to default. > + > +2. Disable all power saving options, and set all options for best pe= rformance. > + > +3. Disable Turbo to ensure the performance scaling with core numbers= increment. > + > +4. Set memory frequency to the highest number, NOT auto. > + > +5. Disable all Virtualization options when you test physical functio= n of NIC, and turn on VT-d if you wants to use VFIO. Could you describe usage of dmidecode to check this, please? > +1. Get an widely used 64 bits Linux distribution installed, e.g. Fed= ora 20 - 64 bits. Why not describe build options and run-time options to use with any Lin= ux? > +3. Make sure the widely used and fully validated version of kernel i= nstalled, e.g. 3.18. Reference to release notes required. > +4. Make sure the required components are enabled for some old versio= n of kernels, before rebuilding the kernel. The kernel may need to be r= ebuilt if any DPDK component is missing. Refer to Getting Started Guide= on www.dpdk.org for more details. Please use sphinx reference. > +1. For Intel=C2=AE 40G NICs, special configurations should be set be= fore compiling it, as follows. **Note**: This is very important:: > + > + for at least DPDK release 1.8, 2.0 and 2.1, in /c= onfig/common_linuxapp > + CONFIG_RTE_PCI_CONFIG=3Dy > + CONFIG_RTE_PCI_EXTENDED_TAG=3D=E2=80=9Don=E2=80=9D Please insert it in a i40e doc instead of here. Then you can reference = it.