On Thu, Jun 23, 2011 at 07:04:39PM +0100, Owain Ainsworth wrote: > 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?
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." > -- Ariane