[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200102180830.66676-1-liran.alon@oracle.com>
Date: Thu, 2 Jan 2020 20:08:28 +0200
From: Liran Alon <liran.alon@...cle.com>
To: netanel@...zon.com, davem@...emloft.net, netdev@...r.kernel.org
Cc: saeedb@...zon.com, zorik@...zon.com, sameehj@...zon.com,
igorch@...zon.com, akiyano@...zon.com, evgenys@...zon.com,
gtzalik@...zon.com, ndagan@...zon.com, matua@...zon.com,
galpress@...zon.com
Subject: [PATCH 0/2] net: AWS ENA: Fix memory barrier usage when using LLQ
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
Powered by blists - more mailing lists