How about this now? On Tue, May 31, 2011 at 12:03:49AM +0100, Owain Ainsworth wrote: > 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"
-- "Matrimony isn't a word, it's a sentence."