From: Mike Larkin Subject: Re: Piglet allocation comment To: tech@openbsd.org Date: Sat, 17 Aug 2024 09:59:42 -0700 On Sat, Aug 17, 2024 at 11:25:53AM +0200, Martin Pieuchot wrote: > Remove a lie about the piglet allocation. km_alloc(9) is called with > `kd_nowait' as argument so uvm_pglistalloc(9) won't wait. > > There is no guarantee that the page daemon will ever be able to free > enough memory with a given range constraint. That's why allocating > such memory early, as discussed recently, is the way to go. > > ok? > ok mlarkin > Index: kern/subr_hibernate.c > =================================================================== > RCS file: /cvs/src/sys/kern/subr_hibernate.c,v > diff -u -p -r1.141 subr_hibernate.c > --- kern/subr_hibernate.c 5 Jun 2024 11:04:17 -0000 1.141 > +++ kern/subr_hibernate.c 17 Aug 2024 09:19:21 -0000 > @@ -470,10 +470,6 @@ uvm_pmr_alloc_pig(paddr_t *pa, psize_t s > * Piglets are aligned. > * > * sz and align in bytes. > - * > - * The call will sleep for the pagedaemon to attempt to free memory. > - * The pagedaemon may decide its not possible to free enough memory, causing > - * the allocation to fail. > */ > int > uvm_pmr_alloc_piglet(vaddr_t *va, paddr_t *pa, vsize_t sz, paddr_t align) >