list
Reply-To:
It will handle an empty list just fine (there is a potential small
optimisation in there to avoid grabbing the fpageqlock if no pages need
freeing but that is another diff)
ok?
diff --git uvm/uvm_km.c uvm/uvm_km.c
index 1990adf..818cb18 100644
--- uvm/uvm_km.c
+++ uvm/uvm_km.c
@@ -925,8 +925,7 @@ alloc_va:
while (uvm_km_pages.free == 0) {
if (kd->kd_waitok == 0) {
mtx_leave(&uvm_km_pages.mtx);
- if (!TAILQ_EMPTY(&pgl))
- uvm_pglistfree(&pgl);
+ uvm_pglistfree(&pgl);
return NULL;
}
msleep(&uvm_km_pages.free, &uvm_km_pages.mtx, PVM,
@@ -959,8 +958,7 @@ try_map:
tsleep(map, PVM, "km_allocva", 0);
goto try_map;
}
- if (!TAILQ_EMPTY(&pgl))
- uvm_pglistfree(&pgl);
+ uvm_pglistfree(&pgl);
return (NULL);
}
}
--
1.7.5
--
Banectomy, n.:
The removal of bruises on a banana.
-- Rich Hall, "Sniglets"