DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/3] remove dependence on Tx queue flags
@ 2018-05-02  3:16 Qi Zhang
  2018-05-02  3:16 ` [dpdk-dev] [PATCH 1/3] net/ixgbe: " Qi Zhang
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Qi Zhang @ 2018-05-02  3:16 UTC (permalink / raw)
  To: ferruh.yigit
  Cc: wei.dai, wenzhuo.lu, konstantin.ananyev, xiao.w.wang, dev, Qi Zhang

The patchset remove txq_flags dependence on Intel devices: ixgbe, e1000, fm10k.
(i40e has been covered on another fix patchset)

Qi Zhang (3):
  net/ixgbe: remove dependence on Tx queue flags
  net/e1000: remove dependence on Tx queue flags
  net/fm10k: remove dependence on Tx queue flags

 drivers/net/e1000/igb_ethdev.c   | 2 --
 drivers/net/fm10k/fm10k.h        | 1 -
 drivers/net/fm10k/fm10k_ethdev.c | 4 +---
 drivers/net/ixgbe/ixgbe_ethdev.c | 6 ------
 drivers/net/ixgbe/ixgbe_rxtx.c   | 2 --
 drivers/net/ixgbe/ixgbe_rxtx.h   | 1 -
 6 files changed, 1 insertion(+), 15 deletions(-)

-- 
2.13.6

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [dpdk-dev] [PATCH 1/3] net/ixgbe: remove dependence on Tx queue flags
  2018-05-02  3:16 [dpdk-dev] [PATCH 0/3] remove dependence on Tx queue flags Qi Zhang
@ 2018-05-02  3:16 ` Qi Zhang
  2018-05-02 11:22   ` Ananyev, Konstantin
  2018-05-02  3:16 ` [dpdk-dev] [PATCH 2/3] net/e1000: " Qi Zhang
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Qi Zhang @ 2018-05-02  3:16 UTC (permalink / raw)
  To: ferruh.yigit
  Cc: wei.dai, wenzhuo.lu, konstantin.ananyev, xiao.w.wang, dev, Qi Zhang

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,
 	};
 
@@ -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;
 	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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [dpdk-dev] [PATCH 2/3] net/e1000: remove dependence on Tx queue flags
  2018-05-02  3:16 [dpdk-dev] [PATCH 0/3] remove dependence on Tx queue flags Qi Zhang
  2018-05-02  3:16 ` [dpdk-dev] [PATCH 1/3] net/ixgbe: " Qi Zhang
@ 2018-05-02  3:16 ` Qi Zhang
  2018-05-02  3:16 ` [dpdk-dev] [PATCH 3/3] net/fm10k: " Qi Zhang
  2018-05-03 12:35 ` [dpdk-dev] [PATCH 0/3] " Ananyev, Konstantin
  3 siblings, 0 replies; 9+ messages in thread
From: Qi Zhang @ 2018-05-02  3:16 UTC (permalink / raw)
  To: ferruh.yigit
  Cc: wei.dai, wenzhuo.lu, konstantin.ananyev, xiao.w.wang, dev, Qi Zhang

Since we move to new offload APIs, txq_flags is no long needed.
This patch remove the dependence on that.

Fixes: e5c05e6590ea ("net/e1000: convert to new Tx offloads API")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/e1000/igb_ethdev.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index 140334772..04d34bdf6 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -2228,7 +2228,6 @@ eth_igb_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 			.hthresh = IGB_DEFAULT_TX_HTHRESH,
 			.wthresh = IGB_DEFAULT_TX_WTHRESH,
 		},
-		.txq_flags = 0,
 		.offloads = 0,
 	};
 
@@ -2319,7 +2318,6 @@ eth_igbvf_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 			.hthresh = IGB_DEFAULT_TX_HTHRESH,
 			.wthresh = IGB_DEFAULT_TX_WTHRESH,
 		},
-		.txq_flags = 0,
 		.offloads = 0,
 	};
 
-- 
2.13.6

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [dpdk-dev] [PATCH 3/3] net/fm10k: remove dependence on Tx queue flags
  2018-05-02  3:16 [dpdk-dev] [PATCH 0/3] remove dependence on Tx queue flags Qi Zhang
  2018-05-02  3:16 ` [dpdk-dev] [PATCH 1/3] net/ixgbe: " Qi Zhang
  2018-05-02  3:16 ` [dpdk-dev] [PATCH 2/3] net/e1000: " Qi Zhang
@ 2018-05-02  3:16 ` Qi Zhang
  2018-05-03 12:35 ` [dpdk-dev] [PATCH 0/3] " Ananyev, Konstantin
  3 siblings, 0 replies; 9+ messages in thread
From: Qi Zhang @ 2018-05-02  3:16 UTC (permalink / raw)
  To: ferruh.yigit
  Cc: wei.dai, wenzhuo.lu, konstantin.ananyev, xiao.w.wang, dev, Qi Zhang

Since we move to new offload APIs, txq_flags is no long needed.
This patch remove the dependence on that.

Fixes: 30f3ce999e6a ("net/fm10k: convert to new Tx offloads API")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/fm10k/fm10k.h        | 1 -
 drivers/net/fm10k/fm10k_ethdev.c | 4 +---
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/net/fm10k/fm10k.h b/drivers/net/fm10k/fm10k.h
index ce0f2c8f4..ef3078091 100644
--- a/drivers/net/fm10k/fm10k.h
+++ b/drivers/net/fm10k/fm10k.h
@@ -212,7 +212,6 @@ struct fm10k_tx_queue {
 	uint16_t next_rs; /* Next pos to set RS flag */
 	uint16_t next_dd; /* Next pos to check DD flag */
 	volatile uint32_t *tail_ptr;
-	uint32_t txq_flags; /* Holds flags for this TXq */
 	uint64_t offloads; /* Offloads of DEV_TX_OFFLOAD_* */
 	uint16_t nb_desc;
 	uint16_t port_id;
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index 7dfeddfe0..612490bef 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -1442,7 +1442,6 @@ fm10k_dev_infos_get(struct rte_eth_dev *dev,
 		},
 		.tx_free_thresh = FM10K_TX_FREE_THRESH_DEFAULT(0),
 		.tx_rs_thresh = FM10K_TX_RS_THRESH_DEFAULT(0),
-		.txq_flags = FM10K_SIMPLE_TX_FLAG,
 		.offloads = 0,
 	};
 
@@ -2114,7 +2113,6 @@ fm10k_tx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_id,
 	q->nb_desc = nb_desc;
 	q->port_id = dev->data->port_id;
 	q->queue_id = queue_id;
-	q->txq_flags = conf->txq_flags;
 	q->offloads = conf->offloads;
 	q->ops = &def_txq_ops;
 	q->tail_ptr = (volatile uint32_t *)
@@ -2981,7 +2979,7 @@ fm10k_set_tx_function(struct rte_eth_dev *dev)
 	uint16_t tx_ftag_en = 0;
 
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
-		/* primary process has set the ftag flag and txq_flags */
+		/* primary process has set the ftag flag and offloads */
 		txq = dev->data->tx_queues[0];
 		if (fm10k_tx_vec_condition_check(txq)) {
 			dev->tx_pkt_burst = fm10k_xmit_pkts;
-- 
2.13.6

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] [PATCH 1/3] net/ixgbe: remove dependence on Tx queue flags
  2018-05-02  3:16 ` [dpdk-dev] [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
  0 siblings, 2 replies; 9+ messages in thread
From: Ananyev, Konstantin @ 2018-05-02 11:22 UTC (permalink / raw)
  To: Zhang, Qi Z, Yigit, Ferruh; +Cc: Dai, Wei, Lu, Wenzhuo, Wang, Xiao W, dev



> -----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. 

> 
> @@ -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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] [PATCH 1/3] net/ixgbe: remove dependence on Tx queue flags
  2018-05-02 11:22   ` Ananyev, Konstantin
@ 2018-05-03  1:49     ` Zhang, Qi Z
  2018-05-03  6:10     ` Zhang, Qi Z
  1 sibling, 0 replies; 9+ messages in thread
From: Zhang, Qi Z @ 2018-05-03  1:49 UTC (permalink / raw)
  To: Ananyev, Konstantin, Yigit, Ferruh
  Cc: Dai, Wei, Lu, Wenzhuo, Wang, Xiao W, dev

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.

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] [PATCH 1/3] net/ixgbe: remove dependence on Tx queue flags
  2018-05-02 11:22   ` Ananyev, Konstantin
  2018-05-03  1:49     ` Zhang, Qi Z
@ 2018-05-03  6:10     ` Zhang, Qi Z
  1 sibling, 0 replies; 9+ messages in thread
From: Zhang, Qi Z @ 2018-05-03  6:10 UTC (permalink / raw)
  To: Ananyev, Konstantin, Yigit, Ferruh
  Cc: Dai, Wei, Lu, Wenzhuo, Wang, Xiao W, dev



> -----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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] [PATCH 0/3] remove dependence on Tx queue flags
  2018-05-02  3:16 [dpdk-dev] [PATCH 0/3] remove dependence on Tx queue flags Qi Zhang
                   ` (2 preceding siblings ...)
  2018-05-02  3:16 ` [dpdk-dev] [PATCH 3/3] net/fm10k: " Qi Zhang
@ 2018-05-03 12:35 ` Ananyev, Konstantin
  2018-05-04 15:54   ` Ferruh Yigit
  3 siblings, 1 reply; 9+ messages in thread
From: Ananyev, Konstantin @ 2018-05-03 12:35 UTC (permalink / raw)
  To: Zhang, Qi Z, Yigit, Ferruh; +Cc: Dai, Wei, Lu, Wenzhuo, Wang, Xiao W, dev



> -----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 0/3] remove dependence on Tx queue flags
> 
> The patchset remove txq_flags dependence on Intel devices: ixgbe, e1000, fm10k.
> (i40e has been covered on another fix patchset)
> 
> Qi Zhang (3):
>   net/ixgbe: remove dependence on Tx queue flags
>   net/e1000: remove dependence on Tx queue flags
>   net/fm10k: remove dependence on Tx queue flags
> 
>  drivers/net/e1000/igb_ethdev.c   | 2 --
>  drivers/net/fm10k/fm10k.h        | 1 -
>  drivers/net/fm10k/fm10k_ethdev.c | 4 +---
>  drivers/net/ixgbe/ixgbe_ethdev.c | 6 ------
>  drivers/net/ixgbe/ixgbe_rxtx.c   | 2 --
>  drivers/net/ixgbe/ixgbe_rxtx.h   | 1 -
>  6 files changed, 1 insertion(+), 15 deletions(-)
> 
> --

Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Just worth to mention that:
https://dpdk.org/dev/patchwork/patch/39277/
is supposed to be applied first.

> 2.13.6

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] [PATCH 0/3] remove dependence on Tx queue flags
  2018-05-03 12:35 ` [dpdk-dev] [PATCH 0/3] " Ananyev, Konstantin
@ 2018-05-04 15:54   ` Ferruh Yigit
  0 siblings, 0 replies; 9+ messages in thread
From: Ferruh Yigit @ 2018-05-04 15:54 UTC (permalink / raw)
  To: Ananyev, Konstantin, Zhang, Qi Z; +Cc: Dai, Wei, Lu, Wenzhuo, Wang, Xiao W, dev

On 5/3/2018 1:35 PM, Ananyev, Konstantin wrote:
> 
> 
>> -----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 0/3] remove dependence on Tx queue flags
>>
>> The patchset remove txq_flags dependence on Intel devices: ixgbe, e1000, fm10k.
>> (i40e has been covered on another fix patchset)
>>
>> Qi Zhang (3):
>>   net/ixgbe: remove dependence on Tx queue flags
>>   net/e1000: remove dependence on Tx queue flags
>>   net/fm10k: remove dependence on Tx queue flags
>>
>>  drivers/net/e1000/igb_ethdev.c   | 2 --
>>  drivers/net/fm10k/fm10k.h        | 1 -
>>  drivers/net/fm10k/fm10k_ethdev.c | 4 +---
>>  drivers/net/ixgbe/ixgbe_ethdev.c | 6 ------
>>  drivers/net/ixgbe/ixgbe_rxtx.c   | 2 --
>>  drivers/net/ixgbe/ixgbe_rxtx.h   | 1 -
>>  6 files changed, 1 insertion(+), 15 deletions(-)
>>
>> --
> 
> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

Series applied to dpdk-next-net/master, thanks.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-05-04 15:54 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-02  3:16 [dpdk-dev] [PATCH 0/3] remove dependence on Tx queue flags Qi Zhang
2018-05-02  3:16 ` [dpdk-dev] [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
2018-05-02  3:16 ` [dpdk-dev] [PATCH 2/3] net/e1000: " Qi Zhang
2018-05-02  3:16 ` [dpdk-dev] [PATCH 3/3] net/fm10k: " Qi Zhang
2018-05-03 12:35 ` [dpdk-dev] [PATCH 0/3] " Ananyev, Konstantin
2018-05-04 15:54   ` Ferruh Yigit

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).