From patchwork Thu Jun 25 18:25:40 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Kinzie X-Patchwork-Id: 5795 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id ED46DC6E8; Thu, 25 Jun 2015 20:26:20 +0200 (CEST) Received: from mail-pd0-f173.google.com (mail-pd0-f173.google.com [209.85.192.173]) by dpdk.org (Postfix) with ESMTP id 5E6F0C6CE for ; Thu, 25 Jun 2015 20:26:17 +0200 (CEST) Received: by pdcu2 with SMTP id u2so58416010pdc.3 for ; Thu, 25 Jun 2015 11:26:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=z9YOnIw6qnDzm32yttUASSL3tugobMa+r73S380M3BM=; b=jAB4L/4L+m9Jg8RiHhG75w32LCxTCdf2yUz/AF9wVNduDb68pJNPe3WEAgHdw4xRRD WJ+rHPY6nSylDMRSvziJVBCMdSbSBBgXYNFtlyu88xpGTc4w8ScpBwPLO8stTlmwXwUh 7Wn1LYG/3a8b+EIpPrUPBLBSwq85CDEEXFvQ+2L7/sSscgxNdyE+GjqH+X/8EkvgpBbh VsgahTMqZiIKOcA0ce8hVGTpC+O9oC8XEwqSY7ONe5bUfBmWPQm0wuVprATAzAtsn0dJ 6A3EHDlgNCoQ1Qq2lvWiW5DLiNLMtk5h32A7g3mEHJlSySgl7txgaUTnlY+rdHTXFHWV mQTg== X-Received: by 10.70.56.4 with SMTP id w4mr94686780pdp.148.1435256776657; Thu, 25 Jun 2015 11:26:16 -0700 (PDT) Received: from buildhost2.vyatta.com. ([144.49.132.22]) by mx.google.com with ESMTPSA id j9sm30720876pbq.92.2015.06.25.11.26.14 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 Jun 2015 11:26:15 -0700 (PDT) From: Eric Kinzie To: dev@dpdk.org Date: Thu, 25 Jun 2015 11:25:40 -0700 Message-Id: <1435256741-25489-2-git-send-email-ehkinzie@gmail.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1435256741-25489-1-git-send-email-ehkinzie@gmail.com> References: <1435256741-25489-1-git-send-email-ehkinzie@gmail.com> Subject: [dpdk-dev] [PATCH 1/2] ixgbe: vector rx rearm after queue reset 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" zero values in ixgbe_reset_rx_queue() used by vector receive so that rearming the rx queue happens at the right time. Not doing so can in some cases result in the software inadvertently setting the card's rx tail pointer equal to the head pointer, which indicates that there are no descriptors available. This causes receive to stop indefinitely on that queue. Fixes: 01fa1d6215fa ("ixgbe: unify Rx setup") Signed-off-by: Eric Kinzie --- drivers/net/ixgbe/ixgbe_rxtx.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c index 3ace8a8..1e840b6 100644 --- a/drivers/net/ixgbe/ixgbe_rxtx.c +++ b/drivers/net/ixgbe/ixgbe_rxtx.c @@ -2261,6 +2261,10 @@ ixgbe_reset_rx_queue(struct ixgbe_adapter *adapter, struct ixgbe_rx_queue *rxq) rxq->nb_rx_hold = 0; rxq->pkt_first_seg = NULL; rxq->pkt_last_seg = NULL; +#ifdef RTE_IXGBE_INC_VECTOR + rxq->rxrearm_nb = 0; + rxq->rxrearm_start = 0; +#endif } int