Agreed, in master now -- thanks so much!

Karl Mehltretter <[email protected]> writes:

> When an image built with HAVE_MADVISE_HUGEPAGE runs on a kernel without
> THP, msbrk() aborts although the heap mapping succeeded.
>
> Keep requesting huge pages, but tolerate rejected advice.
>
> Backported to gcl27 2.7.1-4+rpi1 and tested on a Pi 1 B+ with Trixie,
> 6.18.50+rpt-rpi-v6. Both GCL variants start. ANSI allocation, GC and
> compilation pass; strace shows MADV_HUGEPAGE returning EINVAL.
>
> Rebuilt Maxima 5.47.0 passes 43 checks and rtest1/rtest2: 507 cases,
> five expected errors, no unexpected errors. Its launcher uses
> GCL_MEM_MULTIPLE=1.0.
>
> Introduced by 773905c4d4fb ("hugepage support").
>
> Bug: https://github.com/RPi-Distro/repo/issues/400
> Assisted-by: LLM
> ---
>  gcl/o/msbrk.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gcl/o/msbrk.c b/gcl/o/msbrk.c
> index c397e755..7a5f8f58 100644
> --- a/gcl/o/msbrk.c
> +++ b/gcl/o/msbrk.c
> @@ -75,7 +75,7 @@ msbrk(intptr_t inc) {
>      if (m+mps!=new_map(m+mps,p2-mps))
>        return (void *)-1;
>  #ifdef HAVE_MADVISE_HUGEPAGE
> -    massert(!madvise(m,p2,MADV_HUGEPAGE));
> +    (void)madvise(m,p2,MADV_HUGEPAGE);
>  #endif
>      mps=p2;
>    }

-- 
Camm Maguire                                        [email protected]
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

Reply via email to