From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yw0-f193.google.com (mail-yw0-f193.google.com [209.85.161.193]) by dpdk.org (Postfix) with ESMTP id 4B9C6F72; Fri, 7 Oct 2016 04:02:31 +0200 (CEST) Received: by mail-yw0-f193.google.com with SMTP id g192so1362306ywh.0; Thu, 06 Oct 2016 19:02:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=kOdeEv4ySftk4BA7hNyqWxxXXmlTvxyk00kWeKxHn+A=; b=y5b5MZfOct9yVVv8Gen8vF/d03I1KccoPFC2fXyUijuCvgcXRdaPDTVt2BqjG//dJL HqU/go1w688mZtdgJ19xHBTZm8ovLIaM0Gj6mr3PF09FQVeZFp6z6J0voJJSMNX+H1c0 KVnB4pk+BLK0n54LqgUwrEB0rfNygBpWqe43pJkZfautgkX2ZCMSokc0HBO0+CeaPOlI P+lA2uh/+Q2c2qMPuVHg+1df6Ktwgukl+Em0jUSO62d8iEoNxsK+sQl9Oj7RA2keHC/6 QnADtPCi+F3un8e/1NDNwnHrBNOpkwyPFy4OOJ+LFKY2sePAITWUjRN9/BedZc6xVN7Y Dd4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=kOdeEv4ySftk4BA7hNyqWxxXXmlTvxyk00kWeKxHn+A=; b=Szx0wpzl0qkFShpy29gHahQvJo9hOe9K9g+PyAdw4RYLG2kC6Z1OMm7KH6yne5gvX/ 1wJtbAAWAsBs0XUE3m3D1xiVMmU6AIHGn5VGJKfy8aI8ci7ecsHP8g75yS4JsteQrSLb SQyRVPF6pFgBxBfiBPwHNj7AY1C/fzgWozGlgySql+Rvyv+E7hKe2BawkZwg4q2vySaX o0LmDtrKk9rQyhTyc5XS/FAD6u2Xj+T3p6IXsfDdl2swMVw1bajMHexfEUb8WkgRbnFH Dv3C0NeV/4l9RImyFMnM0KOEHi2zUxpsb2H6rXWXVUJcT2rUEY0fjyBtT693fPwr13Ye 6ktQ== X-Gm-Message-State: AA6/9RlYPLwrktCRuHt7a8iBPikIx2XFug9bI99yJ6hNK7QKJMsnKKSgQOkOQGQ0oExzgA== X-Received: by 10.13.227.129 with SMTP id m123mr14260839ywe.90.1475805750719; Thu, 06 Oct 2016 19:02:30 -0700 (PDT) Received: from gmail.com (pool-71-241-240-84.washdc.fios.verizon.net. [71.241.240.84]) by smtp.gmail.com with ESMTPSA id c16sm2058184ywb.5.2016.10.06.19.02.28 (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 06 Oct 2016 19:02:30 -0700 (PDT) Received: by gmail.com (sSMTP sendmail emulation); Thu, 6 Oct 2016 22:02:28 -0400 Date: Thu, 6 Oct 2016 22:02:28 -0400 From: Eric Kinzie To: Ilya Maximets Cc: dev@dpdk.org, Declan Doherty , Heetae Ahn , Yuanhan Liu , Bernard Iremonger , stable@dpdk.org Message-ID: <20161007020225.GA22829@roosta.home> References: <1473251290-22053-1-git-send-email-i.maximets@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1473251290-22053-1-git-send-email-i.maximets@samsung.com> User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [dpdk-stable] [PATCH] Revert "bonding: use existing enslaved device queues" X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Oct 2016 02:02:31 -0000 On Wed Sep 07 15:28:10 +0300 2016, Ilya Maximets wrote: > This reverts commit 5b7bb2bda5519b7800f814df64d4e015282140e5. > > It is necessary to reconfigure all queues every time because configuration > can be changed. > > For example, if we're reconfiguring bonding device with new memory pool, > already configured queues will still use the old one. And if the old > mempool be freed, application likely will panic in attempt to use > freed mempool. > > This happens when we use the bonding device with OVS 2.6 while MTU > reconfiguration: > > PANIC in rte_mempool_get_ops(): > assert "(ops_index >= 0) && (ops_index < RTE_MEMPOOL_MAX_OPS_IDX)" failed > > Cc: > Signed-off-by: Ilya Maximets > --- > drivers/net/bonding/rte_eth_bond_pmd.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c > index b20a272..eb5b6d1 100644 > --- a/drivers/net/bonding/rte_eth_bond_pmd.c > +++ b/drivers/net/bonding/rte_eth_bond_pmd.c > @@ -1305,8 +1305,6 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev, > struct bond_rx_queue *bd_rx_q; > struct bond_tx_queue *bd_tx_q; > > - uint16_t old_nb_tx_queues = slave_eth_dev->data->nb_tx_queues; > - uint16_t old_nb_rx_queues = slave_eth_dev->data->nb_rx_queues; > int errval; > uint16_t q_id; > > @@ -1347,9 +1345,7 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev, > } > > /* Setup Rx Queues */ > - /* Use existing queues, if any */ > - for (q_id = old_nb_rx_queues; > - q_id < bonded_eth_dev->data->nb_rx_queues; q_id++) { > + for (q_id = 0; q_id < bonded_eth_dev->data->nb_rx_queues; q_id++) { > bd_rx_q = (struct bond_rx_queue *)bonded_eth_dev->data->rx_queues[q_id]; > > errval = rte_eth_rx_queue_setup(slave_eth_dev->data->port_id, q_id, > @@ -1365,9 +1361,7 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev, > } > > /* Setup Tx Queues */ > - /* Use existing queues, if any */ > - for (q_id = old_nb_tx_queues; > - q_id < bonded_eth_dev->data->nb_tx_queues; q_id++) { > + for (q_id = 0; q_id < bonded_eth_dev->data->nb_tx_queues; q_id++) { > bd_tx_q = (struct bond_tx_queue *)bonded_eth_dev->data->tx_queues[q_id]; > > errval = rte_eth_tx_queue_setup(slave_eth_dev->data->port_id, q_id, > -- > 2.7.4 > NAK There are still some users of this code. Let's give them a chance to comment before removing it. Thanks, Eric