diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2021-11-15 16:35:44 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2021-11-15 18:01:30 +0000 |
| commit | 87b646630c4892e21446cd096bea6bcaecea33ac (patch) | |
| tree | 576a9259bd27b62ce891154313b7ad1205255e55 /sys/vm/vm_fault.c | |
| parent | b0acc3f11ba31f0aea8ca5ce2720b481dfa79d1b (diff) | |
Diffstat (limited to 'sys/vm/vm_fault.c')
| -rw-r--r-- | sys/vm/vm_fault.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 6bc59222b50e..d459bad78dd8 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -1294,9 +1294,8 @@ vm_fault_busy_sleep(struct faultstate *fs) } vm_object_pip_wakeup(fs->object); unlock_map(fs); - if (fs->m == vm_page_lookup(fs->object, fs->pindex)) - vm_page_busy_sleep(fs->m, "vmpfw", false); - else + if (fs->m != vm_page_lookup(fs->object, fs->pindex) || + !vm_page_busy_sleep(fs->m, "vmpfw", 0)) VM_OBJECT_WUNLOCK(fs->object); VM_CNT_INC(v_intrans); vm_object_deallocate(fs->first_object); |
