Date: Wed, 21 Jun 2023 10:26:22 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 271764] buf_ring_dequeue_sc not holding strong for arm64 Azure Message-ID: <bug-271764-227-eiWC3edy5A@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-271764-227@https.bugs.freebsd.org/bugzilla/> References: <bug-271764-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D271764 --- Comment #2 from commit-hook@FreeBSD.org --- A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3D17050a2b5b07160635aaa80b9aa4df4de= 500b090 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 i= ndex 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(-) --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-271764-227-eiWC3edy5A>