* [dpdk-dev] [PATCH 1/2] net/i40e: fix queue offload initialize @ 2018-05-02 2:43 Qi Zhang 2018-05-02 2:43 ` [dpdk-dev] [PATCH 2/2] net/i40e: remove dependence on Tx queue flags Qi Zhang 0 siblings, 1 reply; 3+ messages in thread From: Qi Zhang @ 2018-05-02 2:43 UTC (permalink / raw) To: ferruh.yigit, konstantin.ananyev; +Cc: dev, beilei.xing, Qi Zhang Add missing queue offload initialization. Fixes: 7497d3e2f777 ("net/i40e: convert to new Tx offloads API") Fixes: c3ac7c5b0b8a ("net/i40e: convert to new Rx offloads API") Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/i40e/i40e_ethdev.c | 1 + drivers/net/i40e/i40e_ethdev_vf.c | 1 + drivers/net/i40e/i40e_rxtx.c | 2 ++ drivers/net/i40e/i40e_vf_representor.c | 1 + 4 files changed, 5 insertions(+) diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 284e9cb64..a001d5b99 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -3345,6 +3345,7 @@ i40e_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) .tx_rs_thresh = I40E_DEFAULT_TX_RSBIT_THRESH, .txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS | ETH_TXQ_FLAGS_NOOFFLOADS, + .offloads = 0, }; dev_info->rx_desc_lim = (struct rte_eth_desc_lim) { diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c index 48e7ac21e..de5f460e9 100644 --- a/drivers/net/i40e/i40e_ethdev_vf.c +++ b/drivers/net/i40e/i40e_ethdev_vf.c @@ -2238,6 +2238,7 @@ i40evf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) .tx_rs_thresh = I40E_DEFAULT_TX_RSBIT_THRESH, .txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS | ETH_TXQ_FLAGS_NOOFFLOADS, + .offloads = 0, }; dev_info->rx_desc_lim = (struct rte_eth_desc_lim) { diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index 006f5b846..755109ee5 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -1857,6 +1857,7 @@ i40e_dev_rx_queue_setup(struct rte_eth_dev *dev, rxq->drop_en = rx_conf->rx_drop_en; rxq->vsi = vsi; rxq->rx_deferred_start = rx_conf->rx_deferred_start; + rxq->offloads = rx_conf->offloads; /* Allocate the maximun number of RX ring hardware descriptor. */ len = I40E_MAX_RING_DESC; @@ -2297,6 +2298,7 @@ i40e_dev_tx_queue_setup(struct rte_eth_dev *dev, txq->reg_idx = reg_idx; txq->port_id = dev->data->port_id; txq->txq_flags = tx_conf->txq_flags; + txq->offloads = tx_conf->offloads; txq->vsi = vsi; txq->tx_deferred_start = tx_conf->tx_deferred_start; diff --git a/drivers/net/i40e/i40e_vf_representor.c b/drivers/net/i40e/i40e_vf_representor.c index a8aa0115d..7b67e23ae 100644 --- a/drivers/net/i40e/i40e_vf_representor.c +++ b/drivers/net/i40e/i40e_vf_representor.c @@ -81,6 +81,7 @@ i40e_vf_representor_dev_infos_get(struct rte_eth_dev *ethdev, .tx_rs_thresh = I40E_DEFAULT_TX_RSBIT_THRESH, .txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS | ETH_TXQ_FLAGS_NOOFFLOADS, + .offloads = 0, }; dev_info->rx_desc_lim = (struct rte_eth_desc_lim) { -- 2.13.6 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [dpdk-dev] [PATCH 2/2] net/i40e: remove dependence on Tx queue flags 2018-05-02 2:43 [dpdk-dev] [PATCH 1/2] net/i40e: fix queue offload initialize Qi Zhang @ 2018-05-02 2:43 ` Qi Zhang 2018-05-02 3:05 ` Zhang, Qi Z 0 siblings, 1 reply; 3+ messages in thread From: Qi Zhang @ 2018-05-02 2:43 UTC (permalink / raw) To: ferruh.yigit, konstantin.ananyev; +Cc: dev, beilei.xing, Qi Zhang Since we move to new offload APIs, txq_flags is no long needed. This patch remove the dependence on that. Fixes: 7497d3e2f777 ("net/i40e: convert to new Tx offloads API") Fixes: c3ac7c5b0b8a ("net/i40e: convert to new Rx offloads API") Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/i40e/i40e_ethdev.c | 2 -- drivers/net/i40e/i40e_ethdev_vf.c | 2 -- drivers/net/i40e/i40e_rxtx.c | 4 +--- drivers/net/i40e/i40e_rxtx.h | 1 - drivers/net/i40e/i40e_vf_representor.c | 2 -- 5 files changed, 1 insertion(+), 10 deletions(-) diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index a001d5b99..92ee6c5ae 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -3343,8 +3343,6 @@ i40e_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) }, .tx_free_thresh = I40E_DEFAULT_TX_FREE_THRESH, .tx_rs_thresh = I40E_DEFAULT_TX_RSBIT_THRESH, - .txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS | - ETH_TXQ_FLAGS_NOOFFLOADS, .offloads = 0, }; diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c index de5f460e9..b9dea2e5b 100644 --- a/drivers/net/i40e/i40e_ethdev_vf.c +++ b/drivers/net/i40e/i40e_ethdev_vf.c @@ -2236,8 +2236,6 @@ i40evf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) }, .tx_free_thresh = I40E_DEFAULT_TX_FREE_THRESH, .tx_rs_thresh = I40E_DEFAULT_TX_RSBIT_THRESH, - .txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS | - ETH_TXQ_FLAGS_NOOFFLOADS, .offloads = 0, }; diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index 755109ee5..62985c3a9 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -1237,7 +1237,7 @@ i40e_tx_free_bufs(struct i40e_tx_queue *txq) for (i = 0; i < txq->tx_rs_thresh; i++) rte_prefetch0((txep + i)->mbuf); - if (txq->txq_flags & (uint32_t)ETH_TXQ_FLAGS_NOREFCOUNT) { + if (txq->offloads & DEV_TX_OFFLOAD_MBUF_FAST_FREE) { for (i = 0; i < txq->tx_rs_thresh; ++i, ++txep) { rte_mempool_put(txep->mbuf->pool, txep->mbuf); txep->mbuf = NULL; @@ -2297,7 +2297,6 @@ i40e_dev_tx_queue_setup(struct rte_eth_dev *dev, txq->queue_id = queue_idx; txq->reg_idx = reg_idx; txq->port_id = dev->data->port_id; - txq->txq_flags = tx_conf->txq_flags; txq->offloads = tx_conf->offloads; txq->vsi = vsi; txq->tx_deferred_start = tx_conf->tx_deferred_start; @@ -2951,7 +2950,6 @@ i40e_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.tx_deferred_start = txq->tx_deferred_start; } diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h index 10feec4a2..ea73a8a1b 100644 --- a/drivers/net/i40e/i40e_rxtx.h +++ b/drivers/net/i40e/i40e_rxtx.h @@ -142,7 +142,6 @@ struct i40e_tx_queue { uint16_t port_id; /**< Device port identifier. */ uint16_t queue_id; /**< TX queue index. */ uint16_t reg_idx; - uint32_t txq_flags; struct i40e_vsi *vsi; /**< the VSI this queue belongs to */ uint16_t tx_next_dd; uint16_t tx_next_rs; diff --git a/drivers/net/i40e/i40e_vf_representor.c b/drivers/net/i40e/i40e_vf_representor.c index 7b67e23ae..068404f75 100644 --- a/drivers/net/i40e/i40e_vf_representor.c +++ b/drivers/net/i40e/i40e_vf_representor.c @@ -79,8 +79,6 @@ i40e_vf_representor_dev_infos_get(struct rte_eth_dev *ethdev, }, .tx_free_thresh = I40E_DEFAULT_TX_FREE_THRESH, .tx_rs_thresh = I40E_DEFAULT_TX_RSBIT_THRESH, - .txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS | - ETH_TXQ_FLAGS_NOOFFLOADS, .offloads = 0, }; -- 2.13.6 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] net/i40e: remove dependence on Tx queue flags 2018-05-02 2:43 ` [dpdk-dev] [PATCH 2/2] net/i40e: remove dependence on Tx queue flags Qi Zhang @ 2018-05-02 3:05 ` Zhang, Qi Z 0 siblings, 0 replies; 3+ messages in thread From: Zhang, Qi Z @ 2018-05-02 3:05 UTC (permalink / raw) To: Yigit, Ferruh, Ananyev, Konstantin; +Cc: dev, Xing, Beilei Hi Ferruh: > -----Original Message----- > From: Zhang, Qi Z > Sent: Wednesday, May 2, 2018 10:44 AM > To: Yigit, Ferruh <ferruh.yigit@intel.com>; Ananyev, Konstantin > <konstantin.ananyev@intel.com> > Cc: dev@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; Zhang, Qi Z > <qi.z.zhang@intel.com> > Subject: [PATCH 2/2] net/i40e: 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: 7497d3e2f777 ("net/i40e: convert to new Tx offloads API") > Fixes: c3ac7c5b0b8a ("net/i40e: convert to new Rx offloads API") The above fix line or RX should be removed, if no other issue for the patch, Would you capture this when apply? Thanks Qi > > Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> > --- > drivers/net/i40e/i40e_ethdev.c | 2 -- > drivers/net/i40e/i40e_ethdev_vf.c | 2 -- > drivers/net/i40e/i40e_rxtx.c | 4 +--- > drivers/net/i40e/i40e_rxtx.h | 1 - > drivers/net/i40e/i40e_vf_representor.c | 2 -- > 5 files changed, 1 insertion(+), 10 deletions(-) > > diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c > index a001d5b99..92ee6c5ae 100644 > --- a/drivers/net/i40e/i40e_ethdev.c > +++ b/drivers/net/i40e/i40e_ethdev.c > @@ -3343,8 +3343,6 @@ i40e_dev_info_get(struct rte_eth_dev *dev, struct > rte_eth_dev_info *dev_info) > }, > .tx_free_thresh = I40E_DEFAULT_TX_FREE_THRESH, > .tx_rs_thresh = I40E_DEFAULT_TX_RSBIT_THRESH, > - .txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS | > - ETH_TXQ_FLAGS_NOOFFLOADS, > .offloads = 0, > }; > > diff --git a/drivers/net/i40e/i40e_ethdev_vf.c > b/drivers/net/i40e/i40e_ethdev_vf.c > index de5f460e9..b9dea2e5b 100644 > --- a/drivers/net/i40e/i40e_ethdev_vf.c > +++ b/drivers/net/i40e/i40e_ethdev_vf.c > @@ -2236,8 +2236,6 @@ i40evf_dev_info_get(struct rte_eth_dev *dev, > struct rte_eth_dev_info *dev_info) > }, > .tx_free_thresh = I40E_DEFAULT_TX_FREE_THRESH, > .tx_rs_thresh = I40E_DEFAULT_TX_RSBIT_THRESH, > - .txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS | > - ETH_TXQ_FLAGS_NOOFFLOADS, > .offloads = 0, > }; > > diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index > 755109ee5..62985c3a9 100644 > --- a/drivers/net/i40e/i40e_rxtx.c > +++ b/drivers/net/i40e/i40e_rxtx.c > @@ -1237,7 +1237,7 @@ i40e_tx_free_bufs(struct i40e_tx_queue *txq) > for (i = 0; i < txq->tx_rs_thresh; i++) > rte_prefetch0((txep + i)->mbuf); > > - if (txq->txq_flags & (uint32_t)ETH_TXQ_FLAGS_NOREFCOUNT) { > + if (txq->offloads & DEV_TX_OFFLOAD_MBUF_FAST_FREE) { > for (i = 0; i < txq->tx_rs_thresh; ++i, ++txep) { > rte_mempool_put(txep->mbuf->pool, txep->mbuf); > txep->mbuf = NULL; > @@ -2297,7 +2297,6 @@ i40e_dev_tx_queue_setup(struct rte_eth_dev > *dev, > txq->queue_id = queue_idx; > txq->reg_idx = reg_idx; > txq->port_id = dev->data->port_id; > - txq->txq_flags = tx_conf->txq_flags; > txq->offloads = tx_conf->offloads; > txq->vsi = vsi; > txq->tx_deferred_start = tx_conf->tx_deferred_start; @@ -2951,7 > +2950,6 @@ i40e_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.tx_deferred_start = txq->tx_deferred_start; } > > diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h index > 10feec4a2..ea73a8a1b 100644 > --- a/drivers/net/i40e/i40e_rxtx.h > +++ b/drivers/net/i40e/i40e_rxtx.h > @@ -142,7 +142,6 @@ struct i40e_tx_queue { > uint16_t port_id; /**< Device port identifier. */ > uint16_t queue_id; /**< TX queue index. */ > uint16_t reg_idx; > - uint32_t txq_flags; > struct i40e_vsi *vsi; /**< the VSI this queue belongs to */ > uint16_t tx_next_dd; > uint16_t tx_next_rs; > diff --git a/drivers/net/i40e/i40e_vf_representor.c > b/drivers/net/i40e/i40e_vf_representor.c > index 7b67e23ae..068404f75 100644 > --- a/drivers/net/i40e/i40e_vf_representor.c > +++ b/drivers/net/i40e/i40e_vf_representor.c > @@ -79,8 +79,6 @@ i40e_vf_representor_dev_infos_get(struct rte_eth_dev > *ethdev, > }, > .tx_free_thresh = I40E_DEFAULT_TX_FREE_THRESH, > .tx_rs_thresh = I40E_DEFAULT_TX_RSBIT_THRESH, > - .txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS | > - ETH_TXQ_FLAGS_NOOFFLOADS, > .offloads = 0, > }; > > -- > 2.13.6 ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-05-02 3:05 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-05-02 2:43 [dpdk-dev] [PATCH 1/2] net/i40e: fix queue offload initialize Qi Zhang 2018-05-02 2:43 ` [dpdk-dev] [PATCH 2/2] net/i40e: remove dependence on Tx queue flags Qi Zhang 2018-05-02 3:05 ` Zhang, Qi Z
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).