> -----Original Message----- > From: Zhang, Qi Z > Sent: Thursday, May 3, 2018 9:49 AM > To: Ananyev, Konstantin <konstantin.anan...@intel.com>; Yigit, Ferruh > <ferruh.yi...@intel.com> > Cc: Dai, Wei <wei....@intel.com>; Lu, Wenzhuo <wenzhuo...@intel.com>; > Wang, Xiao W <xiao.w.w...@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.zh...@intel.com>; Yigit, Ferruh > > <ferruh.yi...@intel.com> > > Cc: Dai, Wei <wei....@intel.com>; Lu, Wenzhuo <wenzhuo...@intel.com>; > > Wang, Xiao W <xiao.w.w...@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.yi...@intel.com> > > > Cc: Dai, Wei <wei....@intel.com>; Lu, Wenzhuo > > > <wenzhuo...@intel.com>; Ananyev, Konstantin > > > <konstantin.anan...@intel.com>; Wang, Xiao W > > > <xiao.w.w...@intel.com>; dev@dpdk.org; Zhang, Qi Z > > > <qi.z.zh...@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.zh...@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