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"

Reply via email to