DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Lu, Wenzhuo" <wenzhuo.lu@intel.com>
To: "Iremonger, Bernard" <bernard.iremonger@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"Shah, Rahul R" <rahul.r.shah@intel.com>
Subject: Re: [dpdk-dev] [PATCH v2] net/ixgbe: support multiqueue mode VMDq DCB with SRIOV
Date: Tue, 18 Oct 2016 01:07:43 +0000	[thread overview]
Message-ID: <6A0DE07E22DDAD4C9103DF62FEBC09093933C29B@shsmsx102.ccr.corp.intel.com> (raw)
In-Reply-To: <8CEF83825BEC744B83065625E567D7C21A0934D0@IRSMSX108.ger.corp.intel.com>

Hi Bernard,


> -----Original Message-----
> From: Iremonger, Bernard
> Sent: Tuesday, October 18, 2016 12:27 AM
> To: Lu, Wenzhuo; dev@dpdk.org; Shah, Rahul R
> Subject: RE: [PATCH v2] net/ixgbe: support multiqueue mode VMDq DCB with
> SRIOV
> 
> Hi Wenzhuo,
> 
> > >  	if (hw->mac.type != ixgbe_mac_82598EB) { @@ -3339,11 +3340,17
> > @@
> > > ixgbe_dcb_tx_hw_config(struct ixgbe_hw *hw,
> > >  		if (dcb_config->vt_mode)
> > >  			reg |= IXGBE_MTQC_VT_ENA;
> > >  		IXGBE_WRITE_REG(hw, IXGBE_MTQC, reg);
> > > -
> > > -		/* Disable drop for all queues */
> > > -		for (q = 0; q < 128; q++)
> > > -			IXGBE_WRITE_REG(hw, IXGBE_QDE,
> > > -				(IXGBE_QDE_WRITE | (q <<
> > > IXGBE_QDE_IDX_SHIFT)));
> > > +		if (RTE_ETH_DEV_SRIOV(dev).active == 0) {
> > > +			/* Disable drop for all queues in VMDQ mode*/
> > > +			for (q = 0; q < 128; q++)
> > > +				IXGBE_WRITE_REG(hw, IXGBE_QDE,
> > > +						(IXGBE_QDE_WRITE | (q <<
> > > IXGBE_QDE_IDX_SHIFT) | IXGBE_QDE_ENABLE));
> > > +		} else {
> > > +			/* Enable drop for all queues in SRIOV mode */
> > > +			for (q = 0; q < 128; q++)
> > > +				IXGBE_WRITE_REG(hw, IXGBE_QDE,
> > > +						(IXGBE_QDE_WRITE | (q <<
> > > IXGBE_QDE_IDX_SHIFT)));
> > > +		}
> > I think it has nothing to do with mq mode. Do I miss something?
> 
> Behavior is different when SRIOV is enabled.
I don't understand why the behavior is different. To my opinion, the drop has nothing to do with the mode. We can enable or disable it.
The old behavior is disabling it by default. Now you change it to disabling it by default in NO-SRIOV mode, but enabling it in SRIOV mode.
What I don't get is the reason.

> 
> >
> > >
> > >  		/* Enable the Tx desc arbiter */
> > >  		reg = IXGBE_READ_REG(hw, IXGBE_RTTDCS); @@ -3378,7
> > > +3385,7 @@ ixgbe_vmdq_dcb_hw_tx_config(struct rte_eth_dev *dev,
> > >  			vmdq_tx_conf->nb_queue_pools == ETH_16_POOLS
> > ?
> > > 0xFFFF : 0xFFFFFFFF);
> > >
> > >  	/*Configure general DCB TX parameters*/
> > > -	ixgbe_dcb_tx_hw_config(hw, dcb_config);
> > > +	ixgbe_dcb_tx_hw_config(dev, dcb_config);
> > >  }
> > >
> > >  static void
> > > @@ -3661,7 +3668,7 @@ ixgbe_dcb_hw_configure(struct rte_eth_dev
> > *dev,
> > >  		/*get DCB TX configuration parameters from rte_eth_conf*/
> > >  		ixgbe_dcb_tx_config(dev, dcb_config);
> > >  		/*Configure general DCB TX parameters*/
> > > -		ixgbe_dcb_tx_hw_config(hw, dcb_config);
> > > +		ixgbe_dcb_tx_hw_config(dev, dcb_config);
> > >  		break;
> > >  	default:
> > >  		PMD_INIT_LOG(ERR, "Incorrect DCB TX mode
> > configuration"); @@
> > > -3810,9 +3817,6 @@ void ixgbe_configure_dcb(struct rte_eth_dev *dev)
> > >  	    (dev_conf->rxmode.mq_mode != ETH_MQ_RX_DCB_RSS))
> > >  		return;
> > >
> > > -	if (dev->data->nb_rx_queues != ETH_DCB_NUM_QUEUES)
> > > -		return;
> > I remember it's a limitation of implementation. The reason is the
> > resource allocation. Why could we remove it now?
> 
> ETH_DCB_NUM_QUEUES is 128,  nb_rx_queues may not be 128.
I think it's a limitation to force the queue number to be ETH_DCB_NUM_QUEUES.
Just to confirm it, have you try to set rx queue number to something different from 128, like 64, 32...

  reply	other threads:[~2016-10-18  1:07 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-26  9:08 [dpdk-dev] [PATCH] " Bernard Iremonger
2016-09-21 11:07 ` Remy Horton
2016-10-14 13:29 ` [dpdk-dev] [PATCH v2] " Bernard Iremonger
2016-10-17  6:12   ` Lu, Wenzhuo
2016-10-17 16:27     ` Iremonger, Bernard
2016-10-18  1:07       ` Lu, Wenzhuo [this message]
2016-10-18  8:58         ` Iremonger, Bernard
2016-10-19  0:39           ` Lu, Wenzhuo
2016-10-19 10:16             ` Iremonger, Bernard
2016-10-17 16:07   ` [dpdk-dev] [PATCH v3 0/2] net/ixgbe: " Bernard Iremonger
2016-10-17 17:01     ` [dpdk-dev] [PATCH v4 " Bernard Iremonger
2016-10-19 10:21       ` [dpdk-dev] [PATCH v5 " Bernard Iremonger
2016-10-25  0:31         ` Lu, Wenzhuo
2016-10-25 16:51         ` [dpdk-dev] [PATCH v6 " Bernard Iremonger
2016-10-25 16:51         ` [dpdk-dev] [PATCH v6 1/2] net/ixgbe: support multiqueue mode " Bernard Iremonger
2016-10-26 14:38           ` Wu, Jingjing
2016-10-26 15:29             ` Iremonger, Bernard
2016-10-26 16:09               ` Iremonger, Bernard
2016-10-26 16:33                 ` Wu, Jingjing
2016-10-25 16:51         ` [dpdk-dev] [PATCH v6 2/2] app/test_pmd: fix DCB configuration Bernard Iremonger
2016-10-26 14:30           ` Wu, Jingjing
2016-10-26 15:28           ` [dpdk-dev] [PATCH v7] net/ixgbe: support multiqueue mode VMDq DCB with SRIOV Bernard Iremonger
2016-10-26 15:41             ` Bruce Richardson
2016-10-28 14:40           ` [dpdk-dev] [PATCH v7] app/testpmd: fix DCB configuration Bernard Iremonger
2016-11-01 10:36             ` [dpdk-dev] [PATCH v8] " Bernard Iremonger
2016-11-03 17:35               ` [dpdk-dev] [PATCH v9] " Bernard Iremonger
2016-11-04  5:40                 ` Wu, Jingjing
2016-11-07 15:56                   ` Thomas Monjalon
2016-10-19 10:21       ` [dpdk-dev] [PATCH v5 1/2] net/ixgbe: support multiqueue mode VMDq DCB with SRIOV Bernard Iremonger
2016-10-20  1:24         ` Lu, Wenzhuo
2016-10-19 10:21       ` [dpdk-dev] [PATCH v5 2/2] app/test_pmd: fix DCB configuration Bernard Iremonger
2016-10-17 17:01     ` [dpdk-dev] [PATCH v4 1/2] net/ixgbe: support multiqueue mode VMDq DCB with SRIOV Bernard Iremonger
2016-10-17 17:01     ` [dpdk-dev] [PATCH v4 2/2] app/test_pmd: fix DCB configuration Bernard Iremonger
2016-10-17 16:07   ` [dpdk-dev] [PATCH v3 1/2] net/ixgbe: support multiqueue mode VMDq DCB with SRIOV Bernard Iremonger
2016-10-17 16:07   ` [dpdk-dev] [PATCH v3 2/2] app/test_pmd: fix DCB configuration Bernard Iremonger

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=6A0DE07E22DDAD4C9103DF62FEBC09093933C29B@shsmsx102.ccr.corp.intel.com \
    --to=wenzhuo.lu@intel.com \
    --cc=bernard.iremonger@intel.com \
    --cc=dev@dpdk.org \
    --cc=rahul.r.shah@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).