Page MenuHomeFreeBSD

D21978.diff
No OneTemporary

D21978.diff

Index: head/sys/amd64/vmm/vmm.c
===================================================================
--- head/sys/amd64/vmm/vmm.c
+++ head/sys/amd64/vmm/vmm.c
@@ -1235,22 +1235,6 @@
panic("Error %d setting state to %d", error, newstate);
}
-static void
-vm_set_rendezvous_func(struct vm *vm, vm_rendezvous_func_t func)
-{
-
- KASSERT(mtx_owned(&vm->rendezvous_mtx), ("rendezvous_mtx not locked"));
-
- /*
- * Update 'rendezvous_func' and execute a write memory barrier to
- * ensure that it is visible across all host cpus. This is not needed
- * for correctness but it does ensure that all the vcpus will notice
- * that the rendezvous is requested immediately.
- */
- vm->rendezvous_func = func;
- wmb();
-}
-
#define RENDEZVOUS_CTR0(vm, vcpuid, fmt) \
do { \
if (vcpuid >= 0) \
@@ -1281,7 +1265,7 @@
if (CPU_CMP(&vm->rendezvous_req_cpus,
&vm->rendezvous_done_cpus) == 0) {
VCPU_CTR0(vm, vcpuid, "Rendezvous completed");
- vm_set_rendezvous_func(vm, NULL);
+ vm->rendezvous_func = NULL;
wakeup(&vm->rendezvous_func);
break;
}
@@ -2535,7 +2519,7 @@
vm->rendezvous_req_cpus = dest;
CPU_ZERO(&vm->rendezvous_done_cpus);
vm->rendezvous_arg = arg;
- vm_set_rendezvous_func(vm, func);
+ vm->rendezvous_func = func;
mtx_unlock(&vm->rendezvous_mtx);
/*

File Metadata

Mime Type
text/plain
Expires
Fri, Nov 21, 9:45 PM (8 h, 22 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25810670
Default Alt Text
D21978.diff (1 KB)

Event Timeline