PC-BSD/trueos 05da83fusr.sbin/bhyve virtio.c

bhyve virtio needs barriers

Under certain tight race conditions, we found that the lack of a memory
barrier in bhyve's virtio handling causes it to miss a NO_NOTIFY state
transition on block devices, resulting in guest stall. The investigation
is recorded in OS-7613. As part of the examination into bhyve's use of
barriers, one other section was found to be problematic, but only on
non-x86 ISAs with less strict memory ordering. That was addressed in
this patch as well, although it was not at all a problem on x86.

PR:             231117
Submitted by:   Patrick Mooney <patrick.mooney at joyent.com>
Reviewed by:    jhb, kib, rgrimes
Approved by:    jhb
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D19501
DeltaFile
+16-0usr.sbin/bhyve/virtio.c
+16-01 files

UnifiedSplitRaw