Page MenuHomeFreeBSD

D13671.id37364.diff
No OneTemporary

D13671.id37364.diff

Index: head/sys/vm/vm_swapout.c
===================================================================
--- head/sys/vm/vm_swapout.c
+++ head/sys/vm/vm_swapout.c
@@ -203,6 +203,8 @@
TAILQ_FOREACH(p, &object->memq, listq) {
if (pmap_resident_count(pmap) <= desired)
goto unlock_return;
+ if (should_yield())
+ goto unlock_return;
if (vm_page_busied(p))
continue;
VM_CNT_INC(v_pdpages);
@@ -516,8 +518,10 @@
PRELE(p);
}
sx_sunlock(&allproc_lock);
- if (tryagain != 0 && attempts <= 10)
+ if (tryagain != 0 && attempts <= 10) {
+ maybe_yield();
goto again;
+ }
}
}

File Metadata

Mime Type
text/plain
Expires
Thu, Mar 13, 12:40 AM (11 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17128002
Default Alt Text
D13671.id37364.diff (612 B)

Event Timeline