diff options
-rw-r--r-- | sys/vm/vm_object.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 116a075..965666e 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) && |