Hi Xiaolong, Just sent v4 for this, thanks for reminding!
Best Regards, Gavin > -----Original Message----- > From: Ye Xiaolong <xiaolong...@intel.com> > Sent: Tuesday, February 11, 2020 10:11 AM > To: Gavin Hu <gavin...@arm.com> > Cc: dev@dpdk.org; nd <n...@arm.com>; david.march...@redhat.com; > tho...@monjalon.net; rasl...@mellanox.com; > maxime.coque...@redhat.com; tiwei....@intel.com; ma...@mellanox.com; > shah...@mellanox.com; viachesl...@mellanox.com; > arybche...@solarflare.com; step...@networkplumber.org; > hemant.agra...@nxp.com; jer...@marvell.com; > pbhagavat...@marvell.com; Honnappa Nagarahalli > <honnappa.nagaraha...@arm.com>; Ruifeng Wang > <ruifeng.w...@arm.com>; Phil Yang <phil.y...@arm.com>; Joyce Kong > <joyce.k...@arm.com>; Steve Capper <steve.cap...@arm.com> > Subject: Re: [dpdk-dev] [PATCH v3] net/i40e: relaxed barrier in the tx > fastpath > > Hi, Gavin > > Please help add the Fixes tag and cc stable. > > Thanks, > Xiaolong > > On 02/08, Gavin Hu wrote: > >To keep ordering of mixed accesses, rte_cio is sufficient. > >The rte_io barrier is overkill.[1] > > > >[1] http://inbox.dpdk.org/dev/CALBAE1M-ezVWCjqCZDBw+MMDEC4O9 > >qf0kpn89emdgdajepk...@mail.gmail.com > > > >Signed-off-by: Gavin Hu <gavin...@arm.com> > >--- > >V3: > >- optimize the barriers in the fast path only, leave as it is for the > > barriers in the slow path and control path <jerin> > >- drop the virtio patches from the list as they are in the control path > >- it makes more sense to relax the barrier in the fast path, at the PMD > >level. > > relaxing the fundamental rte_io_x barriers APIs requires scrutinizations > for > > each PMDs which use the barriers directly or indirectly. > >V2: > >- remove virtio_pci_read/write64 APIs definitions, they are not needed and > generate compiling errors like " error: unused function 'virtio_pci_write64' > [- > Werror,-Wunused-function]" > >- update the reference link to kernel source code > >--- > > drivers/net/i40e/i40e_rxtx.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > >diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c > >index fd1ae80da..8c0f7cc67 100644 > >--- a/drivers/net/i40e/i40e_rxtx.c > >+++ b/drivers/net/i40e/i40e_rxtx.c > >@@ -1248,7 +1248,8 @@ i40e_xmit_pkts(void *tx_queue, struct rte_mbuf > **tx_pkts, uint16_t nb_pkts) > > (unsigned) txq->port_id, (unsigned) txq->queue_id, > > (unsigned) tx_id, (unsigned) nb_tx); > > > >- I40E_PCI_REG_WRITE(txq->qtx_tail, tx_id); > >+ rte_cio_wmb(); > >+ I40E_PCI_REG_WRITE_RELAXED(txq->qtx_tail, tx_id); > > txq->tx_tail = tx_id; > > > > return nb_tx; > >-- > >2.17.1 > >