From mboxrd@z Thu Jan 1 00:00:00 1970 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) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:organization :user-agent:in-reply-to:references:mime-version :content-transfer-encoding:content-type; bh=v1mSkKL3mtZw5eHeaMz+7ByoMyTOENhHoYUzP2Us9RQ=; b=bd5e9TWCRM3LvbdScTtai4F5D8q7I/Pkbxk1BVEdkkvF0RdpoU54pIumeidw98Dn6G eIUPw6DJeSaoqlCrVG+LwHopwLS96/jBgjSSx2sZMdQ9Jy1PpiEpmIL1uBHWoGtj9yn2 whKDbwIG+RZYA+K0vMrl8wIA2VuKhoKh1SXk54LIulx6Tcz28tf31S1CpxhCF1Hkp54u lr1CRsZt7VJQFvLgHnUIbva4gOxHWw3g3M6IP1N2AgfKTdmFoSqK4BEe2VGHymAhzly9 tSrPcuRxFNchgv7NKxMaYBzehWDBdsujDxPoq+O9Xrbun7HKxrg0XOjpMnVvIZ918ZjC IMeA== X-Gm-Message-State: ALoCoQkdlxjHTeCKAQR88p1EhrHh5bM+KJz+x7EUNnITnK5OkHU5XrbE5cV6iiD5lV04EMQM3KPJ X-Received: by 10.194.249.100 with SMTP id yt4mr47229997wjc.0.1439213925919; Mon, 10 Aug 2015 06:38:45 -0700 (PDT) Received: from xps13.localnet (136-92-190-109.dsl.ovh.fr. [109.190.92.136]) by smtp.gmail.com with ESMTPSA id k4sm13860296wix.19.2015.08.10.06.38.43 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Aug 2015 06:38:44 -0700 (PDT) From: Thomas Monjalon To: Qian Xu Date: Mon, 10 Aug 2015 15:37:32 +0200 Message-ID: <1593935.xObAPAzFJy@xps13> Organization: 6WIND User-Agent: KMail/4.14.8 (Linux/4.0.4-2-ARCH; KDE/4.14.8; x86_64; ; ) In-Reply-To: <1439188487-7302-1-git-send-email-qian.q.xu@intel.com> References: <1439188487-7302-1-git-send-email-qian.q.xu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH]doc: Add performance tuning guide about how to get DPDK high perf on Intel platform. X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Aug 2015 13:38:46 -0000 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.