Page MenuHomeFreeBSD

D21343.diff
No OneTemporary

D21343.diff

Index: head/sys/vm/vm_swapout.c
===================================================================
--- head/sys/vm/vm_swapout.c
+++ head/sys/vm/vm_swapout.c
@@ -226,20 +226,22 @@
vm_page_activate(p);
p->act_count += act_delta;
} else if (vm_page_active(p)) {
+ /*
+ * The page daemon does not requeue pages
+ * after modifying their activation count.
+ */
if (act_delta == 0) {
p->act_count -= min(p->act_count,
ACT_DECLINE);
if (!remove_mode && p->act_count == 0) {
pmap_remove_all(p);
vm_page_deactivate(p);
- } else
- vm_page_requeue(p);
+ }
} else {
vm_page_activate(p);
if (p->act_count < ACT_MAX -
ACT_ADVANCE)
p->act_count += ACT_ADVANCE;
- vm_page_requeue(p);
}
} else if (vm_page_inactive(p))
pmap_remove_all(p);

File Metadata

Mime Type
text/plain
Expires
Thu, Mar 19, 6:15 AM (14 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29951267
Default Alt Text
D21343.diff (858 B)

Event Timeline