commit | 23e4338c68c897c107ba83ea4145961327391b48 | [log] [tgz] |
---|---|---|
author | David Awogbemila <awogbemila@google.com> | Wed Jun 09 10:49:53 2021 -0700 |
committer | COS Cherry Picker <cloud-image-release@prod.google.com> | Wed Jun 09 13:56:35 2021 -0700 |
tree | 0c7371b5d9230d9e63b44357dd7ed36cd2329f3a | |
parent | 2bb777b7d2bd0e9e10fa648e8f5aff88dcc5ab01 [diff] |
gve: Upgrade memory barrier in poll routine We need a hard memory barrier in the poll routine for both tx and rx, so upgrade the barrier in the poll routine and remove the rx specific barrier since it is now the same. Upstream Commit: https://github.com/GoogleCloudPlatform/compute-virtual-ethernet-linux/commit/e5d501eda8d644b1d4e59da381ccc9e895106061 We have submitted https://cos-review.googlesource.com/c/third_party/kernel/+/17430 earlier. However, the current patch is more generic as it works for uniprocessor machines too. SOURCE=GVE(e5d501eda8d644b1d4e59da381ccc9e895106061) BUG=b/186581049 TEST=presubmit and customer tested the image. RELEASE_NOTE=Fixed a network regression while using gve network interface. cos-patch: bug Signed-off-by: David Awogbemila <awogbemila@google.com> Change-Id: I9dbb5196be413f97c580eaab40ee00b55fc4484b Reviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/17713 Reviewed-by: Roy Yang <royyang@google.com> Tested-by: Cusky Presubmit Bot <presubmit@cos-infra-prod.iam.gserviceaccount.com> Main-Branch-Verified: Cusky Presubmit Bot <presubmit@cos-infra-prod.iam.gserviceaccount.com>
diff --git a/drivers/net/ethernet/google/gve/gve_main.c b/drivers/net/ethernet/google/gve/gve_main.c index 4287256..f459c38 100644 --- a/drivers/net/ethernet/google/gve/gve_main.c +++ b/drivers/net/ethernet/google/gve/gve_main.c
@@ -175,7 +175,7 @@ /* Double check we have no extra work. * Ensure unmask synchronizes with checking for work. */ - smp_mb(); + mb(); if (block->tx) reschedule |= gve_tx_poll(block, -1); if (block->rx)