All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Zhang, Qi Z" <qi.z.zhang@intel.com>
To: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	"Yigit, Ferruh" <ferruh.yigit@intel.com>
Cc: "Dai, Wei" <wei.dai@intel.com>,
	"Lu, Wenzhuo" <wenzhuo.lu@intel.com>,
	"Wang, Xiao W" <xiao.w.wang@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [PATCH 1/3] net/ixgbe: remove dependence on Tx queue flags
Date: Thu, 3 May 2018 06:10:46 +0000	[thread overview]
Message-ID: <039ED4275CED7440929022BC67E70611531AB85B@SHSMSX103.ccr.corp.intel.com> (raw)
In-Reply-To: 2601191342CEEE43887BDE71AB977258AEDC15F0@irsmsx105.ger.corp.intel.com



> -----Original Message-----
> From: Zhang, Qi Z
> Sent: Thursday, May 3, 2018 9:49 AM
> To: Ananyev, Konstantin <konstantin.ananyev@intel.com>; Yigit, Ferruh
> <ferruh.yigit@intel.com>
> Cc: Dai, Wei <wei.dai@intel.com>; Lu, Wenzhuo <wenzhuo.lu@intel.com>;
> Wang, Xiao W <xiao.w.wang@intel.com>; dev@dpdk.org
> Subject: RE: [PATCH 1/3] net/ixgbe: remove dependence on Tx queue flags
> 
> Hi Konstantin:
> 
> > -----Original Message-----
> > From: Ananyev, Konstantin
> > Sent: Wednesday, May 2, 2018 7:23 PM
> > To: Zhang, Qi Z <qi.z.zhang@intel.com>; Yigit, Ferruh
> > <ferruh.yigit@intel.com>
> > Cc: Dai, Wei <wei.dai@intel.com>; Lu, Wenzhuo <wenzhuo.lu@intel.com>;
> > Wang, Xiao W <xiao.w.wang@intel.com>; dev@dpdk.org
> > Subject: RE: [PATCH 1/3] net/ixgbe: remove dependence on Tx queue
> > flags
> >
> >
> >
> > > -----Original Message-----
> > > From: Zhang, Qi Z
> > > Sent: Wednesday, May 2, 2018 4:16 AM
> > > To: Yigit, Ferruh <ferruh.yigit@intel.com>
> > > Cc: Dai, Wei <wei.dai@intel.com>; Lu, Wenzhuo
> > > <wenzhuo.lu@intel.com>; Ananyev, Konstantin
> > > <konstantin.ananyev@intel.com>; Wang, Xiao W
> > > <xiao.w.wang@intel.com>; dev@dpdk.org; Zhang, Qi Z
> > > <qi.z.zhang@intel.com>
> > > Subject: [PATCH 1/3] net/ixgbe: remove dependence on Tx queue flags
> > >
> > > Since we move to new offload APIs, txq_flags is no long needed.
> > > This patch remove the dependence on that.
> > >
> > > Fixes: 51215925a32f ("net/ixgbe: convert to new Tx offloads API")
> > >
> > > Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> > > ---
> > >  drivers/net/ixgbe/ixgbe_ethdev.c | 6 ------
> > >  drivers/net/ixgbe/ixgbe_rxtx.c   | 2 --
> > >  drivers/net/ixgbe/ixgbe_rxtx.h   | 1 -
> > >  3 files changed, 9 deletions(-)
> > >
> > > diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c
> > > b/drivers/net/ixgbe/ixgbe_ethdev.c
> > > index 6088c7e48..709251fbb 100644
> > > --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> > > +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> > > @@ -3727,9 +3727,6 @@ ixgbe_dev_info_get(struct rte_eth_dev *dev,
> > struct rte_eth_dev_info *dev_info)
> > >  		},
> > >  		.tx_free_thresh = IXGBE_DEFAULT_TX_FREE_THRESH,
> > >  		.tx_rs_thresh = IXGBE_DEFAULT_TX_RSBIT_THRESH,
> > > -		.txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS |
> > > -			     ETH_TXQ_FLAGS_NOOFFLOADS |
> > > -			     ETH_TXQ_FLAGS_IGNORE,
> > >  		.offloads = 0,
> > >  	};
> >
> >
> > But old apps still use txq_flags returned by dev_info_get.
> > Removing it right now will mean this value will be undefined.
> 
> My understanding is PMD should not be aware of txq_flags anymore.
> and ethdev layer is the place to responsible for the conversion if we think it still
> necessary to support txq_flags for old applicaiton
> 
> But I got your point, there is something missing if we only have the PMD patch,
> so I'd like to hold this until ethdev layer is ready and I think this will not block
> https://dpdk.org/ml/archives/dev/2018-May/099864.html since txq_flags is
> not be involved to any decision already.

I've submitted the patch for the conversion in ethdev.
https://dpdk.org/dev/patchwork/patch/39277/

 
> 
> Regards
> Qi
> 
> >
> > >
> > > @@ -3835,9 +3832,6 @@ ixgbevf_dev_info_get(struct rte_eth_dev *dev,
> > >  		},
> > >  		.tx_free_thresh = IXGBE_DEFAULT_TX_FREE_THRESH,
> > >  		.tx_rs_thresh = IXGBE_DEFAULT_TX_RSBIT_THRESH,
> > > -		.txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS |
> > > -			     ETH_TXQ_FLAGS_NOOFFLOADS |
> > > -			     ETH_TXQ_FLAGS_IGNORE,
> > >  		.offloads = 0,
> > >  	};
> > >
> > > diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c
> > > b/drivers/net/ixgbe/ixgbe_rxtx.c index 2892436e9..47045ddd0 100644
> > > --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> > > +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> > > @@ -2620,7 +2620,6 @@ ixgbe_dev_tx_queue_setup(struct rte_eth_dev
> > *dev,
> > >  	txq->reg_idx = (uint16_t)((RTE_ETH_DEV_SRIOV(dev).active == 0) ?
> > >  		queue_idx : RTE_ETH_DEV_SRIOV(dev).def_pool_q_idx +
> > queue_idx);
> > >  	txq->port_id = dev->data->port_id;
> > > -	txq->txq_flags = tx_conf->txq_flags;
> > >  	txq->offloads = tx_conf->offloads;
> > >  	txq->ops = &def_txq_ops;
> > >  	txq->tx_deferred_start = tx_conf->tx_deferred_start; @@ -5441,7
> > > +5440,6 @@ ixgbe_txq_info_get(struct rte_eth_dev *dev, uint16_t
> > > queue_id,
> > >
> > >  	qinfo->conf.tx_free_thresh = txq->tx_free_thresh;
> > >  	qinfo->conf.tx_rs_thresh = txq->tx_rs_thresh;
> > > -	qinfo->conf.txq_flags = txq->txq_flags;
> >
> >
> > Same here - old apps can still use it.
> > Ideally we'll have to fill it based on txq->offloads value.
> > Konstantin
> >
> > >  	qinfo->conf.offloads = txq->offloads;
> > >  	qinfo->conf.tx_deferred_start = txq->tx_deferred_start;  } diff
> > > --git a/drivers/net/ixgbe/ixgbe_rxtx.h
> > > b/drivers/net/ixgbe/ixgbe_rxtx.h index 7dbbbe5b3..20ef7b6ff 100644
> > > --- a/drivers/net/ixgbe/ixgbe_rxtx.h
> > > +++ b/drivers/net/ixgbe/ixgbe_rxtx.h
> > > @@ -222,7 +222,6 @@ struct ixgbe_tx_queue {
> > >  	uint8_t             pthresh;       /**< Prefetch threshold
> register.
> > */
> > >  	uint8_t             hthresh;       /**< Host threshold register.
> */
> > >  	uint8_t             wthresh;       /**< Write-back threshold
> reg.
> > */
> > > -	uint32_t txq_flags; /**< Holds flags for this TXq */
> > >  	uint64_t offloads; /**< Tx offload flags of DEV_TX_OFFLOAD_* */
> > >  	uint32_t            ctx_curr;      /**< Hardware context states.
> */
> > >  	/** Hardware context0 history. */
> > > --
> > > 2.13.6

  parent reply	other threads:[~2018-05-03  6:10 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-02  3:16 [PATCH 0/3] remove dependence on Tx queue flags Qi Zhang
2018-05-02  3:16 ` [PATCH 1/3] net/ixgbe: " Qi Zhang
2018-05-02 11:22   ` Ananyev, Konstantin
2018-05-03  1:49     ` Zhang, Qi Z
2018-05-03  6:10     ` Zhang, Qi Z [this message]
2018-05-02  3:16 ` [PATCH 2/3] net/e1000: " Qi Zhang
2018-05-02  3:16 ` [PATCH 3/3] net/fm10k: " Qi Zhang
2018-05-03 12:35 ` [PATCH 0/3] " Ananyev, Konstantin
2018-05-04 15:54   ` Ferruh Yigit

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=039ED4275CED7440929022BC67E70611531AB85B@SHSMSX103.ccr.corp.intel.com \
    --to=qi.z.zhang@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=wei.dai@intel.com \
    --cc=wenzhuo.lu@intel.com \
    --cc=xiao.w.wang@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.