[PATCH v3 4/5] malloc: Add Huge Page support for mmap()

Matheus Castanho msc@linux.ibm.com
Thu Aug 26 21:26:46 GMT 2021


Matheus Castanho via Libc-alpha <libc-alpha@sourceware.org> writes:

> Adhemerval Zanella <adhemerval.zanella@linaro.org> writes:
>
>> On 26/08/2021 15:35, Matheus Castanho wrote:
>>>
>>> Hi Adhemerval,
>>>
>>> I gave this new version a try and I'm still hitting the
>>> malloc/tst-free-errno* test failures on ppc64le as before [1][2]. I
>>> tried to debug it but I failed to find the root cause so far.
>>>
>>> I could not reproduce it on x86_64 either, only ppc64le. Please let me
>>> know if there's any test I can run to help.
>>>
>>> [1] https://sourceware.org/pipermail/libc-alpha/2021-August/130321.html
>>> [2] https://sourceware.org/pipermail/libc-alpha/2021-August/130344.html
>>
>> I need to send an updated version of the 5/5. But is it the same failure
>> as before?
>
> For malloc/tst-free-errno*, yes. The others were fixed in the new
> version. And these happen even without 5/5.
>
> $ GLIBC_TUNABLES="glibc.malloc.hugetlb=2" make test t=malloc/tst-free-errno
> [...]
> double free or corruption (out)
> make[2]: Leaving directory '/home/mscastanho/src/glibc/malloc'
> FAIL: malloc/tst-free-errno
> original exit status 1
> Didn't expect signal from child: got `Aborted'
>
> $ GLIBC_TUNABLES="glibc.malloc.hugetlb=2" make test t=malloc/tst-free-errno-mcheck
> [...]
> memory clobbered past end of allocated block
> make[2]: Leaving directory '/home/mscastanho/src/glibc/malloc'
> FAIL: malloc/tst-free-errno-mcheck
> original exit status 1
> Didn't expect signal from child: got `Aborted'
>
> $ GLIBC_TUNABLES="glibc.malloc.hugetlb=2" make test t=malloc/tst-free-errno-malloc-check
> [...]
> make[2]: Leaving directory '/home/mscastanho/src/glibc/malloc'
> FAIL: malloc/tst-free-errno-malloc-check
> original exit status 1
> error: xmmap.c:29: mmap of 16908288 bytes, prot=0x3, flags=0x32: Device or resource busy
> error: 1 test failures
>

More info:

I noticed that big_size used in tst-free-errno.c (0x1000000) happens to
match exactly the hugepage size of the system I was testing the patches
on (16 MB).

The tests pass when running on another POWER9 that uses 2 MB hugepages.

>> Unfortunately the powerpc machines I have access don't have
>> any large page configured, and I couldn't reproduced this issue on
>> aarch64 as well.


--
Matheus Castanho


More information about the Libc-alpha mailing list