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 C9095B3BC for ; Thu, 18 Sep 2014 19:57:58 +0200 (CEST) Received: from hmsreliant.think-freely.org ([2001:470:8:a08:7aac:c0ff:fec2:933b] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1XUg3O-0003Tb-Iv; Thu, 18 Sep 2014 14:03:44 -0400 Date: Thu, 18 Sep 2014 14:03:36 -0400 From: Neil Horman To: "Richardson, Bruce" Message-ID: <20140918180336.GM20389@hmsreliant.think-freely.org> References: <1410948102-12740-1-git-send-email-bruce.richardson@intel.com> <1410948102-12740-4-git-send-email-bruce.richardson@intel.com> <20140917152945.GF4213@localhost.localdomain> <59AF69C657FD0841A61C55336867B5B0343F355F@IRSMSX103.ger.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <59AF69C657FD0841A61C55336867B5B0343F355F@IRSMSX103.ger.corp.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 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: Thu, 18 Sep 2014 17:57:59 -0000 On Thu, Sep 18, 2014 at 03:53:33PM +0000, Richardson, Bruce wrote: > > -----Original Message----- > > From: Neil Horman [mailto:nhorman@tuxdriver.com] > > Sent: Wednesday, September 17, 2014 4:30 PM > > To: Richardson, Bruce > > Cc: dev@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH 3/5] testpmd: Change rxfreet default to 32 > > > > On Wed, Sep 17, 2014 at 11:01:40AM +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. > > > > > > Signed-off-by: Bruce Richardson > > > --- > > > app/test-pmd/testpmd.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c > > > index 9f6cdc4..5751607 100644 > > > --- a/app/test-pmd/testpmd.c > > > +++ b/app/test-pmd/testpmd.c > > > @@ -225,7 +225,7 @@ 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 > > */ > > > > > > > Why 32? Was that an experimentally determined value? Does it hold true for all > > PMD's? > > This is primarily for the ixgbe PMD, which is right now the most highly tuned driver, but it works fine for all other ones too, as far as I'm aware. Basically, this 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. > Maybe codify that information as a macro, or with some documentation right above the setting, so people not using ixgbe don't have to wonder where that value came from? :) Neil > /Bruce > >