All of lore.kernel.org
 help / color / mirror / Atom feed
From: Liran Alon <liran.alon@oracle.com>
To: netanel@amazon.com, davem@davemloft.net, netdev@vger.kernel.org
Cc: saeedb@amazon.com, zorik@amazon.com, sameehj@amazon.com,
	igorch@amazon.com, akiyano@amazon.com, evgenys@amazon.com,
	gtzalik@amazon.com, ndagan@amazon.com, matua@amazon.com,
	galpress@amazon.com
Subject: [PATCH 0/2] net: AWS ENA: Fix memory barrier usage when using LLQ
Date: Thu,  2 Jan 2020 20:08:28 +0200	[thread overview]
Message-ID: <20200102180830.66676-1-liran.alon@oracle.com> (raw)

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


             reply	other threads:[~2020-01-02 18:09 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-02 18:08 Liran Alon [this message]
2020-01-02 18:08 ` [PATCH 1/2] net: AWS ENA: Remove unncessary wmb() to flush bounce buffer Liran Alon
2020-01-17 15:54   ` Liran Alon
2020-01-02 18:08 ` [PATCH 2/2] net: AWS ENA: Flush WCBs before writing new SQ tail to doorbell Liran Alon
2020-01-03 18:46   ` Liran Alon
2020-01-04  4:55     ` Machulsky, Zorik
2020-01-05  9:53       ` Bshara, Saeed
2020-01-05 10:22         ` Liran Alon
2020-01-05 11:49           ` Bshara, Saeed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200102180830.66676-1-liran.alon@oracle.com \
    --to=liran.alon@oracle.com \
    --cc=akiyano@amazon.com \
    --cc=davem@davemloft.net \
    --cc=evgenys@amazon.com \
    --cc=galpress@amazon.com \
    --cc=gtzalik@amazon.com \
    --cc=igorch@amazon.com \
    --cc=matua@amazon.com \
    --cc=ndagan@amazon.com \
    --cc=netanel@amazon.com \
    --cc=netdev@vger.kernel.org \
    --cc=saeedb@amazon.com \
    --cc=sameehj@amazon.com \
    --cc=zorik@amazon.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.