mbox series

[0/2] net: AWS ENA: Fix memory barrier usage when using LLQ

Message ID 20200102180830.66676-1-liran.alon@oracle.com
Headers show
Series net: AWS ENA: Fix memory barrier usage when using LLQ | expand

Message

Liran Alon Jan. 2, 2020, 6:08 p.m. UTC
Hi,

This simple patch-series address 2 issues found during code-review of AWS ENA NIC driver
related to how it use memory barriers when NIC is running in "low-latency queue" mode (LLQ).

1st patch removes an unnecessary wmb().

2nd patch fix a bug of not flushing write-combined buffers holding LLQ transmit descriptors
and first packet bytes before writing new SQ tail to device. This bug is introduced because
of a weird behaviour of x86 AMD CPU that it doesn't flush write-combined buffers when CPU
writes to UC memory as x86 Intel CPU does. Which makes writeX() insufficient in order to
guarantee write-combined buffers are flushed.
This patch makes sure to just fix AWS ENA to handle this case properly, but a future patch-series
should be submitted to probably introduce a new flush_wc_writeX() macro that handles this case
properly for all CPU archs and vendors. For more info, see patch commit message itself.

Regards,
-Liran