From: Eric Kinzie <ehkinzie@gmail.com>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: Ilya Maximets <i.maximets@samsung.com>,
dev@dpdk.org, Declan Doherty <declan.doherty@intel.com>,
Heetae Ahn <heetae82.ahn@samsung.com>,
Yuanhan Liu <yuanhan.liu@linux.intel.com>,
Bernard Iremonger <bernard.iremonger@intel.com>,
stable@dpdk.org, Thomas Monjalon <thomas.monjalon@6wind.com>
Subject: Re: [PATCH] Revert "bonding: use existing enslaved device queues"
Date: Thu, 13 Oct 2016 19:37:15 -0400 [thread overview]
Message-ID: <20161013233714.GC17047@roosta> (raw)
In-Reply-To: <20161012152421.GC104428@bricha3-MOBL3>
On Wed Oct 12 16:24:21 +0100 2016, Bruce Richardson wrote:
> On Wed, Oct 12, 2016 at 04:24:54PM +0300, Ilya Maximets wrote:
> > On 07.10.2016 05:02, Eric Kinzie wrote:
> > > 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: <stable@dpdk.org>
> > >> Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
> > >> ---
> > >> 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.
> >
> > Hi Eric,
> >
> > Are these users in CC-list? If not, could you, please, add them?
> > This patch awaits in mail-list already more than a month. I think, it's enough
> > time period for all who wants to say something. Patch fixes a real bug that
> > prevent using of DPDK bonding in all applications that reconfigures devices
> > in runtime including OVS.
> >
> Agreed.
>
> Eric, does reverting this patch cause you problems directly, or is your concern
> just with regards to potential impact to others?
>
> Thanks,
> /Bruce
This won't impact me directly. The users are CCed (different thread)
and I haven't seen any comment, so I no longer have any objection to
reverting this change.
Eric
next prev parent reply other threads:[~2016-10-13 23:37 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20160916050359eucas1p22998d07e190781e165082cdd9c917470@eucas1p2.samsung.com>
2016-09-07 12:28 ` [PATCH] Revert "bonding: use existing enslaved device queues" Ilya Maximets
2016-09-16 5:03 ` Ilya Maximets
2016-10-06 14:32 ` Declan Doherty
2016-10-19 9:55 ` Bruce Richardson
2016-10-25 13:59 ` Bruce Richardson
2016-10-07 2:02 ` Eric Kinzie
2016-10-12 13:24 ` Ilya Maximets
2016-10-12 15:24 ` Bruce Richardson
2016-10-13 23:37 ` Eric Kinzie [this message]
2016-10-24 11:02 ` Declan Doherty
2016-10-24 14:51 ` Jan Blunck
2016-10-24 15:07 ` Declan Doherty
2016-10-25 12:57 ` Bruce Richardson
2016-10-25 13:48 ` Declan Doherty
2016-10-25 14:00 ` Bruce Richardson
2016-11-21 11:30 ` [dpdk-stable] " Ferruh Yigit
2016-11-21 11:39 ` Jan Blunck
2016-11-21 12:49 ` Ilya Maximets
2016-11-21 13:11 ` Ilya Maximets
2016-11-23 20:35 ` Jan Blunck
2016-11-23 19:38 ` [PATCH 1/4] ethdev: Call rx/tx_queue_release before rx/tx_queue_setup Jan Blunck
2016-11-23 19:38 ` [PATCH 2/4] ethdev: Free rx/tx_queues after releasing all queues Jan Blunck
2016-11-23 19:38 ` [PATCH 3/4] ethdev: Add DPDK internal _rte_eth_dev_reset() Jan Blunck
2016-11-23 19:38 ` [PATCH 4/4] bond: Force reconfiguration of removed slave interfaces Jan Blunck
2016-10-18 12:28 ` [PATCH] Revert "bonding: use existing enslaved device queues" Jan Blunck
2016-10-18 12:49 ` Ilya Maximets
2016-10-18 15:19 ` Jan Blunck
2016-10-19 9:47 ` Ilya Maximets
2016-10-24 14:54 ` Jan Blunck
2016-10-25 6:26 ` Ilya Maximets
2016-10-28 6:14 ` Ilya Maximets
2016-11-11 9:16 ` Ilya Maximets
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161013233714.GC17047@roosta \
--to=ehkinzie@gmail.com \
--cc=bernard.iremonger@intel.com \
--cc=bruce.richardson@intel.com \
--cc=declan.doherty@intel.com \
--cc=dev@dpdk.org \
--cc=heetae82.ahn@samsung.com \
--cc=i.maximets@samsung.com \
--cc=stable@dpdk.org \
--cc=thomas.monjalon@6wind.com \
--cc=yuanhan.liu@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.