From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id EC04958FE for ; Tue, 23 Sep 2014 18:56:31 +0200 (CEST) Received: from [2001:470:8:a08:18c5:c64e:4bf:67a] (helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1XWTU2-0008UC-8Z; Tue, 23 Sep 2014 13:02:40 -0400 Date: Tue, 23 Sep 2014 13:02:31 -0400 From: Neil Horman To: Bruce Richardson Message-ID: <20140923170231.GC12884@hmsreliant.think-freely.org> References: <1410948102-12740-1-git-send-email-bruce.richardson@intel.com> <1411470497-10209-1-git-send-email-bruce.richardson@intel.com> <1411470497-10209-4-git-send-email-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1411470497-10209-4-git-send-email-bruce.richardson@intel.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Score: -2.9 (--) X-Spam-Status: No Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v2 3/5] testpmd: Change rxfreet default to 32 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: Tue, 23 Sep 2014 16:56:32 -0000 On Tue, Sep 23, 2014 at 12:08:15PM +0100, Bruce Richardson wrote: > To improve performance by using bulk alloc or vectored RX routines, we > need to set rx free threshold (rxfreet) value to 32, so make this the > testpmd default. > > Thirty-two is the minimum setting needed to enable either the > bulk alloc or vector RX routines inside the ixgbe driver, so it's > best made the default for that reason. Please see > "check_rx_burst_bulk_alloc_preconditions()" in ixgbe_rxtx.c, and > RX function assignment logic in "ixgbe_dev_rx_queue_setup()" in > the same file. > > The difference in IO performance for testpmd when called without any > optional parameters, and using 10G NICs using the ixgbe driver, can be > significant - approx 25% or more. > > Updates in V2: > * Updated commit message with additional details > > Signed-off-by: Bruce Richardson > --- > app/test-pmd/testpmd.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c > index 9f6cdc4..f76406f 100644 > --- a/app/test-pmd/testpmd.c > +++ b/app/test-pmd/testpmd.c > @@ -225,7 +225,9 @@ struct rte_eth_thresh tx_thresh = { > /* > * Configurable value of RX free threshold. > */ > -uint16_t rx_free_thresh = 0; /* Immediately free RX descriptors by default. */ > +uint16_t rx_free_thresh = 32; /* Refill RX descriptors once every 32 packets, > + This setting is needed for ixgbe to enable bulk alloc or vector > + receive functionality. */ I thought we were talking about making this a pmd private selectable item, or allowing a reserved "let the pmd decide" setting. Or are we saving that for a later time? Neil > > /* > * Configurable value of RX drop enable. > -- > 1.9.3 > >