Index | Thread | Search

From:
Mike Larkin <mlarkin@nested.page>
Subject:
Re: Piglet allocation comment
To:
tech@openbsd.org
Date:
Sat, 17 Aug 2024 09:59:42 -0700

Download raw body.

Thread
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)
>