mbox series

[v2,0/2] remove RTE CIO barriers

Message ID 1599801997-19880-1-git-send-email-phil.yang@arm.com (mailing list archive)
Headers
Series remove RTE CIO barriers |

Message

Phil Yang Sept. 11, 2020, 5:26 a.m. UTC
  Since rte_cio_*mb APIs have been deprecated[1], remove them and use
rte_io_*mb APIs instead.

[1] http://code.dpdk.org/dpdk/latest/source/doc/guides/rel_notes/deprecation.rst#L100

v2:
Update 20.11 release note by adding these API change announcement. (Honnappa)

v1:
Initial version.

Phil Yang (2):
  drivers: replace RTE CIO barriers with RTE IO barriers
  eal: remove RTE CIO barriers

 doc/guides/rel_notes/release_20_11.rst        |  3 +++
 drivers/common/mlx5/mlx5_common.h             |  2 +-
 drivers/crypto/octeontx2/otx2_cryptodev_ops.c |  2 +-
 drivers/crypto/octeontx2/otx2_cryptodev_sec.c |  4 +--
 drivers/event/octeontx/ssovf_worker.c         |  6 ++---
 drivers/event/octeontx2/otx2_worker.h         |  2 +-
 drivers/net/bnxt/bnxt_hwrm.c                  |  2 +-
 drivers/net/bnxt/bnxt_ring.h                  |  6 ++---
 drivers/net/e1000/em_rxtx.c                   |  2 +-
 drivers/net/i40e/i40e_rxtx.c                  |  2 +-
 drivers/net/i40e/i40e_rxtx_vec_neon.c         |  4 +--
 drivers/net/mlx5/mlx5_flow.c                  |  2 +-
 drivers/net/mlx5/mlx5_flow_dv.c               |  2 +-
 drivers/net/mlx5/mlx5_rxq.c                   | 12 ++++-----
 drivers/net/mlx5/mlx5_rxtx.c                  | 16 +++++------
 drivers/net/mlx5/mlx5_rxtx.h                  |  2 +-
 drivers/net/mlx5/mlx5_rxtx_vec.h              |  2 +-
 drivers/net/mlx5/mlx5_rxtx_vec_altivec.h      |  2 +-
 drivers/net/mlx5/mlx5_rxtx_vec_neon.h         |  4 +--
 drivers/net/mlx5/mlx5_rxtx_vec_sse.h          |  2 +-
 drivers/net/mlx5/mlx5_txq.c                   |  4 +--
 drivers/net/octeontx/octeontx_rxtx.h          |  2 +-
 drivers/net/octeontx2/otx2_ethdev_sec.c       |  2 +-
 drivers/net/octeontx2/otx2_ethdev_sec_tx.h    |  2 +-
 drivers/net/octeontx2/otx2_rx.c               |  2 +-
 drivers/net/octeontx2/otx2_tx.c               |  6 ++---
 drivers/net/virtio/virtio_rxtx.c              |  2 +-
 drivers/net/virtio/virtio_rxtx_simple_neon.c  |  2 +-
 drivers/net/virtio/virtqueue.h                | 26 +++++++++---------
 drivers/raw/octeontx2_ep/otx2_ep_enqdeq.c     |  4 +--
 drivers/regex/mlx5/mlx5_regex_fastpath.c      |  4 +--
 lib/librte_eal/arm/include/rte_atomic_32.h    |  4 ---
 lib/librte_eal/arm/include/rte_atomic_64.h    |  4 ---
 lib/librte_eal/include/generic/rte_atomic.h   | 39 ---------------------------
 lib/librte_eal/ppc/include/rte_atomic.h       |  4 ---
 lib/librte_eal/x86/include/rte_atomic.h       |  4 ---
 36 files changed, 69 insertions(+), 121 deletions(-)
  

Comments

David Marchand Sept. 16, 2020, 4:13 p.m. UTC | #1
On Fri, Sep 11, 2020 at 7:26 AM Phil Yang <phil.yang@arm.com> wrote:
>
> Since rte_cio_*mb APIs have been deprecated[1], remove them and use
> rte_io_*mb APIs instead.
>
> [1] http://code.dpdk.org/dpdk/latest/source/doc/guides/rel_notes/deprecation.rst#L100
>
> v2:
> Update 20.11 release note by adding these API change announcement. (Honnappa)

Copying Thomas and Ferruh for info, as this change is likely to
generate some merging noise (I can see new rte_cio_* calls in
next-net).


Phil, you must remove the associated deprecation notice as part of this change.

A single patch is enough since the change is mechanical and the
rte_io_ barriers are already equivalent.
Yet, I would remind in the commitlog that this is possible now that
ARMv8 IO barriers behave the same as the others arches.


Thanks.
  
Ferruh Yigit Sept. 16, 2020, 11:22 p.m. UTC | #2
On 9/16/2020 5:13 PM, David Marchand wrote:
> On Fri, Sep 11, 2020 at 7:26 AM Phil Yang <phil.yang@arm.com> wrote:
>>
>> Since rte_cio_*mb APIs have been deprecated[1], remove them and use
>> rte_io_*mb APIs instead.
>>
>> [1] http://code.dpdk.org/dpdk/latest/source/doc/guides/rel_notes/deprecation.rst#L100
>>
>> v2:
>> Update 20.11 release note by adding these API change announcement. (Honnappa)
> 
> Copying Thomas and Ferruh for info, as this change is likely to
> generate some merging noise (I can see new rte_cio_* calls in
> next-net).
> 
> 
> Phil, you must remove the associated deprecation notice as part of this change.
> 
> A single patch is enough since the change is mechanical and the
> rte_io_ barriers are already equivalent.
> Yet, I would remind in the commitlog that this is possible now that
> ARMv8 IO barriers behave the same as the others arches.
> 

Thanks for the heads up.

If there will a v3, can it be possible to have it after next-net pulled 
to main repo? Which I am hopping one for this week but need to sync with 
Thomas. This way no new code is missed.
  
Phil Yang Sept. 17, 2020, 2:23 a.m. UTC | #3
Ferruh Yigit <ferruh.yigit@intel.com> wrote:

> >>
> >> Since rte_cio_*mb APIs have been deprecated[1], remove them and use
> >> rte_io_*mb APIs instead.
> >>
> >> [1]
> http://code.dpdk.org/dpdk/latest/source/doc/guides/rel_notes/deprecatio
> n.rst#L100
> >>
> >> v2:
> >> Update 20.11 release note by adding these API change announcement.
> (Honnappa)
> >
> > Copying Thomas and Ferruh for info, as this change is likely to
> > generate some merging noise (I can see new rte_cio_* calls in
> > next-net).
> >
> >
> > Phil, you must remove the associated deprecation notice as part of this
> change.
> >
> > A single patch is enough since the change is mechanical and the
> > rte_io_ barriers are already equivalent.
> > Yet, I would remind in the commitlog that this is possible now that
> > ARMv8 IO barriers behave the same as the others arches.

Thanks for the comments.
I will address then in v3.

> >
> 
> Thanks for the heads up.
> 
> If there will a v3, can it be possible to have it after next-net pulled
> to main repo? Which I am hopping one for this week but need to sync with
> Thomas. This way no new code is missed.

No problem. I will upstream the update after the next-net get merged in main repo.


Thanks,
Phil
  
David Marchand Sept. 23, 2020, 8:35 a.m. UTC | #4
On Thu, Sep 17, 2020 at 4:23 AM Phil Yang <Phil.Yang@arm.com> wrote:
> > If there will a v3, can it be possible to have it after next-net pulled
> > to main repo? Which I am hopping one for this week but need to sync with
> > Thomas. This way no new code is missed.
>
> No problem. I will upstream the update after the next-net get merged in main repo.

All planets are aligned:
$ git grep rte_cio next-net/for-main-repo |wc -l
81
$ git grep rte_cio next-net/main |wc -l
81
$ git grep rte_cio origin/main |wc -l
81

Can you send a new revision?
Thanks.
  
Phil Yang Sept. 23, 2020, 9:16 a.m. UTC | #5
Since rte_cio_*mb APIs have been deprecated[1], remove them and use
rte_io_*mb APIs instead.

[1] http://code.dpdk.org/dpdk/latest/source/doc/guides/rel_notes/deprecation.rst#L100

v3:
1. Put all the related modifications into one single patch. (David)
2. Reword commitlog to highlight ARMv8 IO barriers behave the same as
the other arches. (David)

v2:
Update 20.11 release note by adding these API change announcement. (Honnappa)

v1:
Initial version.

Phil Yang (1):
  eal: remove deprecated coherent IO memory barriers

 doc/guides/rel_notes/deprecation.rst          |  6 -----
 doc/guides/rel_notes/release_20_11.rst        |  3 +++
 drivers/common/mlx5/mlx5_common.h             |  2 +-
 drivers/crypto/octeontx2/otx2_cryptodev_ops.c |  2 +-
 drivers/crypto/octeontx2/otx2_cryptodev_sec.c |  4 +--
 drivers/event/octeontx/ssovf_worker.c         |  6 ++---
 drivers/event/octeontx2/otx2_worker.h         |  2 +-
 drivers/net/bnxt/bnxt_hwrm.c                  |  2 +-
 drivers/net/bnxt/bnxt_ring.h                  |  6 ++---
 drivers/net/bnxt/bnxt_rxtx_vec_neon.c         |  8 +++---
 drivers/net/e1000/em_rxtx.c                   |  2 +-
 drivers/net/i40e/i40e_rxtx.c                  |  2 +-
 drivers/net/i40e/i40e_rxtx_vec_neon.c         |  4 +--
 drivers/net/mlx5/mlx5_flow.c                  |  2 +-
 drivers/net/mlx5/mlx5_flow_dv.c               |  2 +-
 drivers/net/mlx5/mlx5_rxq.c                   | 14 +++++-----
 drivers/net/mlx5/mlx5_rxtx.c                  | 16 +++++------
 drivers/net/mlx5/mlx5_rxtx.h                  |  2 +-
 drivers/net/mlx5/mlx5_rxtx_vec.h              |  2 +-
 drivers/net/mlx5/mlx5_rxtx_vec_altivec.h      |  2 +-
 drivers/net/mlx5/mlx5_rxtx_vec_neon.h         |  4 +--
 drivers/net/mlx5/mlx5_rxtx_vec_sse.h          |  2 +-
 drivers/net/mlx5/mlx5_txq.c                   |  4 +--
 drivers/net/octeontx/octeontx_rxtx.h          |  2 +-
 drivers/net/octeontx2/otx2_ethdev_sec.c       |  2 +-
 drivers/net/octeontx2/otx2_ethdev_sec_tx.h    |  2 +-
 drivers/net/octeontx2/otx2_rx.c               |  2 +-
 drivers/net/octeontx2/otx2_tx.c               |  6 ++---
 drivers/net/virtio/virtio_rxtx.c              |  2 +-
 drivers/net/virtio/virtio_rxtx_simple_neon.c  |  2 +-
 drivers/net/virtio/virtqueue.h                | 26 +++++++++---------
 drivers/raw/octeontx2_ep/otx2_ep_enqdeq.c     |  4 +--
 drivers/regex/mlx5/mlx5_regex_fastpath.c      |  4 +--
 lib/librte_eal/arm/include/rte_atomic_32.h    |  4 ---
 lib/librte_eal/arm/include/rte_atomic_64.h    |  4 ---
 lib/librte_eal/include/generic/rte_atomic.h   | 39 ---------------------------
 lib/librte_eal/ppc/include/rte_atomic.h       |  4 ---
 lib/librte_eal/x86/include/rte_atomic.h       |  4 ---
 38 files changed, 74 insertions(+), 132 deletions(-)
  
Phil Yang Sept. 23, 2020, 9:19 a.m. UTC | #6
David Marchand <david.marchand@redhat.com> writes:


> Subject: Re: [dpdk-dev] [PATCH v2 0/2] remove RTE CIO barriers
> 
> On Thu, Sep 17, 2020 at 4:23 AM Phil Yang <Phil.Yang@arm.com> wrote:
> > > If there will a v3, can it be possible to have it after next-net pulled
> > > to main repo? Which I am hopping one for this week but need to sync
> with
> > > Thomas. This way no new code is missed.
> >
> > No problem. I will upstream the update after the next-net get merged in
> main repo.
> 
> All planets are aligned:
> $ git grep rte_cio next-net/for-main-repo |wc -l
> 81
> $ git grep rte_cio next-net/main |wc -l
> 81
> $ git grep rte_cio origin/main |wc -l
> 81
> 
> Can you send a new revision?
> Thanks.

Done. Thanks for your kindly reminder.


Thanks,
Phil