Hi Gavin,

Thank you for the contribution.
Please do not merge these changes (patches 0..7) till we (the ENA team) 
properly review and ack/nack.
These changes can potentially provide performance improvement, yet we need to 
ensure they are applicable for all possible scenarios. Specifically, the 
behavior on x86 platforms is likely to be different.
What testing have you done for these patches? Was x86 tested?

Thanks,
Igor

-----Original Message-----
From: Gavin Hu <gavin...@arm.com> 
Sent: Friday, March 13, 2020 11:18 AM
To: dev@dpdk.org
Cc: n...@arm.com; david.march...@redhat.com; tho...@monjalon.net; 
m...@semihalf.com; Tzalik, Guy <gtza...@amazon.com>; Schmeilin, Evgeny 
<evge...@amazon.com>; Chauskin, Igor <igo...@amazon.com>; m...@semihalf.com; 
honnappa.nagaraha...@arm.com; ruifeng.w...@arm.com; phil.y...@arm.com; 
joyce.k...@arm.com
Subject: [EXTERNAL][PATCH RFC v1 0/7] relax barriers for ENA PMD and small fixes

CAUTION: This email originated from outside of the organization. Do not click 
links or open attachments unless you can confirm the sender and know the 
content is safe.



To ensure the stores to the host memory are observed by NIC HW before a door 
bell ring to the NIC HW and the HW starts actions, for example, doing DMA, a 
barrier is required on weak memory ordering platforms, like aarch64.

However, unnecessarily too strong barriers like 'dsb' on aarch64 will dampen 
performance.

In a typical doorbell use case, as NIC and CPU are in the outer sharable 
domain, a lighter weight 'dmb osh' barrier is sufficient.

The patch set relaxes the barriers in similar places and include one more patch 
for statistics logging with relaxed ordering and the other patch removing 
duplicate memset.

Note this set is submitted for RFC as we don't have physical ENA NICs in the 
lab and the patch set was not verified nor benchmarked.

Gavin Hu (7):
  net/ena: remove duplicate barrier
  net/ena: relax the barrier for doorbell ring
  net/ena: relax the rmb for DMA
  net/ena: relax barrier for completion queue update
  net/ena: relax the barrier for bounce buffer
  net/ena: use c11 atomic for statistics
  net/ena: remove duplicate memset

 drivers/net/ena/base/ena_eth_com.c   |  2 +-
 drivers/net/ena/base/ena_eth_com.h   |  6 ++--
 drivers/net/ena/base/ena_plat_dpdk.h |  2 +-
 drivers/net/ena/ena_ethdev.c         | 46 +++++++++++++++++-----------
 drivers/net/ena/ena_ethdev.h         |  8 ++---
 5 files changed, 38 insertions(+), 26 deletions(-)

--
2.17.1

Reply via email to