DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: Qian Xu <qian.q.xu@intel.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [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	[thread overview]
Message-ID: <1593935.xObAPAzFJy@xps13> (raw)
In-Reply-To: <1439188487-7302-1-git-send-email-qian.q.xu@intel.com>

Hi,

Thanks for adding more helpful documentation.

2015-08-10 14:34, Qian Xu:
> Signed-off-by: Qian Xu <qian.q.xu@intel.com>

The Sign-off line must be below the commit message.

> 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....

Good idea, thanks

> --- /dev/null
> +++ b/doc/guides/perf_tuning_guide/img/pf_performance_test_setup.svg
> +  <image
> +     width="609.375"
> +     height="349.6875"
> +     preserveAspectRatio="none"
> +     xlink:href="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
	doc/guides/perf_tuning/intel_platform.rst

> +This document is a step-by-step guide for getting high DPDK performance 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® NIC, e.g: Intel® 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 Gen2 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 these 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 performance.
> +
> +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 function 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. Fedora 20 - 64 bits.

Why not describe build options and run-time options to use with any Linux?

> +3. Make sure the widely used and fully validated version of kernel installed, e.g. 3.18.

Reference to release notes required.

> +4. Make sure the required components are enabled for some old version of kernels, before rebuilding the kernel. The kernel may need to be rebuilt 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® 40G NICs, special configurations should be set before compiling it, as follows. **Note**: This is very important::
> +
> +      for at least DPDK release 1.8, 2.0 and 2.1, in <dpdk_folder>/config/common_linuxapp
> +      CONFIG_RTE_PCI_CONFIG=y
> +      CONFIG_RTE_PCI_EXTENDED_TAG=”on”

Please insert it in a i40e doc instead of here. Then you can reference it.

  reply	other threads:[~2015-08-10 13:38 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-10  6:34 Qian Xu
2015-08-10 13:37 ` Thomas Monjalon [this message]
2015-08-10 16:10   ` Zhang, Helin
2015-08-10 20:37     ` Qiu, Michael
2015-08-10 16:00 ` Zhang, Helin
2015-08-10 16:01   ` Thomas Monjalon
2015-08-10 16:16 Zhang, Helin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1593935.xObAPAzFJy@xps13 \
    --to=thomas.monjalon@6wind.com \
    --cc=dev@dpdk.org \
    --cc=qian.q.xu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).