Page MenuHomeFreeBSD

D50425.1785077731.diff
No OneTemporary

Size
742 B
Referenced Files
None
Subscribers
None

D50425.1785077731.diff

diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -1008,15 +1008,16 @@
vm_page_lock_assert(p, MA_NOTOWNED);
vm_page_assert_xbusied(p);
ma[0] = p;
- for (count = 1; count < vm_pageout_page_count; count++) {
- p = vm_radix_iter_next(pages);
- if (p == NULL || vm_page_tryxbusy(p) == 0)
+ runlen = vm_radix_iter_lookup_range(pages, p->pindex + 1,
+ &ma[1], vm_pageout_page_count - 1);
+ for (count = 1; count <= runlen; count++) {
+ p = ma[count];
+ if (vm_page_tryxbusy(p) == 0)
break;
if (!vm_object_page_remove_write(p, flags, allclean)) {
vm_page_xunbusy(p);
break;
}
- ma[count] = p;
}
vm_pageout_flush(ma, count, pagerflags, 0, &runlen, eio);

File Metadata

Mime Type
text/plain
Expires
Sun, Jul 26, 2:55 PM (18 h, 15 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29270794
Default Alt Text
D50425.1785077731.diff (742 B)

Event Timeline