Page MenuHomeFreeBSD

pagein_debug.patch

Authored By
dougm
Oct 17 2019, 3:15 PM
Size
1 KB
Referenced Files
None
Subscribers
None

pagein_debug.patch

Index: swap_pager.c
===================================================================
--- swap_pager.c (revision 353541)
+++ swap_pager.c (working copy)
@@ -1687,6 +1687,8 @@
vm_page_t ma[npages];
int i, j;
+ KASSERT(object->type == OBJT_SWAP, ("Not a swap object!"));
+ KASSERT((object->flags & OBJ_UNMANAGED) == 0, ("Obj not managed!"));
KASSERT(npages > 0, ("%s: No pages", __func__));
KASSERT(npages <= MAXPHYS / PAGE_SIZE,
("%s: Too many pages: %d", __func__, npages));
@@ -1694,6 +1696,7 @@
vm_page_grab_pages(object, pindex, VM_ALLOC_NORMAL, ma, npages);
for (i = j = 0;; i++) {
/* Count nonresident pages, to page-in all at once. */
+ KASSERT(i == npages || (ma[i]->oflags & VPO_UNMANAGED) == 0, ("Page not managed!"));
if (i < npages && ma[i]->valid != VM_PAGE_BITS_ALL)
continue;
if (j < i) {
@@ -1727,6 +1730,7 @@
daddr_t blk, n_blks, s_blk;
int i;
+ KASSERT(object->type == OBJT_SWAP, ("Not a swap object!"));
n_blks = 0;
for (pi = 0; (sb = SWAP_PCTRIE_LOOKUP_GE(
&object->un_pager.swp.swp_blks, pi)) != NULL; ) {

File Metadata

Mime Type
text/x-diff
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2342403
Default Alt Text
pagein_debug.patch (1 KB)

Event Timeline