[Bug 271764] buf_ring_dequeue_sc not holding strong for arm64 Azure
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 271764] buf_ring_dequeue_sc not holding strong for arm64 Azure"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 21 Jun 2023 10:26:22 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271764 --- Comment #2 from commit-hook@FreeBSD.org --- A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=17050a2b5b07160635aaa80b9aa4df4de500b090 commit 17050a2b5b07160635aaa80b9aa4df4de500b090 Author: Wei Hu <whu@FreeBSD.org> AuthorDate: 2023-06-21 09:31:46 +0000 Commit: Wei Hu <whu@FreeBSD.org> CommitDate: 2023-06-21 10:10:49 +0000 Hyper-V: vmbus: Prevent load/store reordering when access ring buffer index When running VM on ARM64 Hyper-V, we have seen netvsc/hn driver hit assert on reading duplicated network completion packets over vmbus channel or one of the tx channels stalls completely. This seems to caused by processor reordering the instructions when vmbus driver reading or updating its channel ring buffer indexes. Fix this by using load acquire and store release instructions to enforce the order of these memory accesses. PR: 271764 Reported by: Souradeep Chakrabarti <schakrabarti@microsoft.com> Reviewed by: Souradeep Chakrabarti <schakrabarti@microsoft.com> Tested by: whu Sponsored by: Microsoft sys/dev/hyperv/vmbus/vmbus_br.c | 31 +++++++++++++++++-------------- sys/dev/hyperv/vmbus/vmbus_brvar.h | 6 ++++-- 2 files changed, 21 insertions(+), 16 deletions(-) -- You are receiving this mail because: You are the assignee for the bug.