diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 116a075e8e8..965666ecd0b 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -495,6 +495,13 @@ vm_object_deallocate(vm_object_t object) */ object->ref_count++; VM_OBJECT_UNLOCK(object); + /* + * More likely than not the thread + * holding robject's lock has lower + * priority than the current thread. + * Let the lower priority thread run. + */ + tsleep(&proc0, PVM, "vmo_de", 1); continue; } if ((robject->handle == NULL) &&