Page MenuHomeFreeBSD

D47214.diff
No OneTemporary

D47214.diff

diff --git a/sys/sys/user.h b/sys/sys/user.h
--- a/sys/sys/user.h
+++ b/sys/sys/user.h
@@ -605,7 +605,8 @@
uint64_t _kvo_backing_obj; /* Handle for the backing obj */
} kvo_type_spec; /* Type-specific union */
uint64_t kvo_me; /* Uniq handle for anon obj */
- uint64_t _kvo_qspare[6];
+ uint64_t kvo_laundry; /* Number of laundry pages. */
+ uint64_t _kvo_qspare[5];
uint32_t kvo_swapped; /* Number of swapped pages */
uint32_t kvo_flags;
uint32_t _kvo_ispare[6];
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
@@ -2575,10 +2575,12 @@
* sysctl is only meant to give an
* approximation of the system anyway.
*/
- if (m->a.queue == PQ_ACTIVE)
+ if (vm_page_active(m))
kvo->kvo_active++;
- else if (m->a.queue == PQ_INACTIVE)
+ else if (vm_page_inactive(m))
kvo->kvo_inactive++;
+ else if (vm_page_in_laundry(m))
+ kvo->kvo_laundry++;
}
}

File Metadata

Mime Type
text/plain
Expires
Tue, May 26, 11:05 PM (17 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33540585
Default Alt Text
D47214.diff (972 B)

Event Timeline