From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-we0-f180.google.com (mail-we0-f180.google.com [74.125.82.180]) by dpdk.org (Postfix) with ESMTP id 4ADF7B3BB for ; Tue, 12 Aug 2014 13:25:31 +0200 (CEST) Received: by mail-we0-f180.google.com with SMTP id w61so9790704wes.39 for ; Tue, 12 Aug 2014 04:28:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :subject:references:in-reply-to:content-type :content-transfer-encoding; bh=zetaJygrURgQHcm6AUTHKQRViT/jOm2DYNm5adDOw40=; b=XGLLenA8bbVHllkMoQY5aLNSuD6Imr1rnDxcZSwBpW0MODXY/TdkqKWfCe8VO9qJbw jsHoKeWwyRcHK9n4ykjug4jiEEtcMIEM7+kbYnr7hH51UPnoMztK9v0ddNLhn0KQ+wJu AyZRDAXplAB2Q14mFJVruVg87p+veIdF3oaWUf8bL/KJPNJcmylUBHZebHaiXWPMiGQt ZPs0Ea2O2OVWPY0lAeyicPhHydbtw0PQtl4r8woFg6oJ+fcLt7OoLtZL8tLhg3hH8hD/ VxGkjTOFoIPCZRfEcQKaXm7rKgnlcBk+th/L8ATAFXYJFEcPPtDG2Wnmc1DbpWduUEDx zSVw== X-Gm-Message-State: ALoCoQlRhU0LP1n+LRMelLinm18DMb11mBIOwGlbmLFiNYf3wXvBCBud10LFmqphb9ciVF8Tk8K+ X-Received: by 10.194.187.4 with SMTP id fo4mr4543463wjc.35.1407842906417; Tue, 12 Aug 2014 04:28:26 -0700 (PDT) Received: from [10.16.0.195] (guy78-3-82-239-227-177.fbx.proxad.net. [82.239.227.177]) by mx.google.com with ESMTPSA id gc8sm55247224wic.3.2014.08.12.04.28.25 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 12 Aug 2014 04:28:25 -0700 (PDT) Message-ID: <53E9FA58.1060600@6wind.com> Date: Tue, 12 Aug 2014 13:28:24 +0200 From: Olivier MATZ User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.5.0 MIME-Version: 1.0 To: Bruce Richardson , dev@dpdk.org References: <1407789890-17355-1-git-send-email-bruce.richardson@intel.com> <1407789890-17355-10-git-send-email-bruce.richardson@intel.com> In-Reply-To: <1407789890-17355-10-git-send-email-bruce.richardson@intel.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [RFC PATCH 09/14] Fix performance regression due to moved pool ptr 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, 12 Aug 2014 11:25:31 -0000 Hi Bruce, On 08/11/2014 10:44 PM, Bruce Richardson wrote: > Adjust the fast-path code to fix the regression caused by the pool > pointer moving to the second cache line. This change adjusts the > prefetching and also the way in which the mbufs are freed back to the > mempool. > > Signed-off-by: Bruce Richardson Just one comment here (maybe this code should be reviewed by someone knowing the ixgbe driver better than me): > @@ -252,14 +250,6 @@ tx_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, > volatile union ixgbe_adv_tx_desc *tx_r = txq->tx_ring; > uint16_t n = 0; > > - /* > - * Begin scanning the H/W ring for done descriptors when the > - * number of available descriptors drops below tx_free_thresh. For > - * each done descriptor, free the associated buffer. > - */ > - if (txq->nb_tx_free < txq->tx_free_thresh) > - ixgbe_tx_free_bufs(txq); > - > /* Only use descriptors that are available */ > nb_pkts = (uint16_t)RTE_MIN(txq->nb_tx_free, nb_pkts); > if (unlikely(nb_pkts == 0)) > @@ -323,6 +313,15 @@ tx_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, > if (txq->tx_tail >= txq->nb_tx_desc) > txq->tx_tail = 0; > > + /* > + * Begin scanning the H/W ring for done descriptors when the > + * number of available descriptors drops below tx_free_thresh. For > + * each done descriptor, free the associated buffer. > + */ > + if (txq->nb_tx_free < txq->tx_free_thresh) > + ixgbe_tx_free_bufs(txq); > + > + > /* update tail pointer */ > rte_wmb(); > IXGBE_PCI_REG_WRITE(txq->tdt_reg_addr, txq->tx_tail); It looks like these 2 hunks are reverted in next commit. I'm not sure this is what you expected.