mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-20 11:11:24 +00:00
hyperv: Use proper fence function to keep store-load order for msgs
sfence only makes sure about the store-store order, which is not sufficient here. Use atomic_thread_fence_seq_cst() as suggested jhb and kib (a locked op in the nutshell, which should have the Reviewed by: jhb, kib, Jun Su <junsu microsoft com> MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5436
This commit is contained in:
parent
f487b23214
commit
5fa2e9dd39
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=296180
@ -117,7 +117,7 @@ vmbus_msg_swintr(void *arg)
|
||||
* not deliver any more messages
|
||||
* since there is no empty slot
|
||||
*/
|
||||
wmb();
|
||||
atomic_thread_fence_seq_cst();
|
||||
|
||||
if (msg->header.message_flags.u.message_pending) {
|
||||
/*
|
||||
@ -187,7 +187,7 @@ hv_vmbus_isr(struct trapframe *frame)
|
||||
* not deliver any more messages
|
||||
* since there is no empty slot
|
||||
*/
|
||||
wmb();
|
||||
atomic_thread_fence_seq_cst();
|
||||
|
||||
if (msg->header.message_flags.u.message_pending) {
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user