[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: new module 'aligned-malloc'
From: |
Florian Weimer |
Subject: |
Re: new module 'aligned-malloc' |
Date: |
Thu, 23 Jul 2020 22:20:43 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
* Paul Eggert:
> On 7/23/20 5:24 AM, Florian Weimer wrote:
>> Ah, 4096 is too small.
>>
>> For large allocations (above the mmap threshold), what happens in the
>> example is that the process VMA limit is eventually exhausted, at which
>> malloc falls back to sbrk, and then the algorithm succeeds. I don't
>> think it's a good idea to trigger ENOMEM, it's certainly not
>> thread-safe.
>
> I'm not sure I see what ENOMEM has to do with it if the algorithm is
> succeeding.
During the mmap phase, the algorithm never achieves alignment. Once
mmap fails with ENOMEM (likely because the number of VMAs would exceed
the per-process limit), malloc switch to the brk heap, where the
algorithm eventually produces an aligned allocation. Only then the loop
terminates.
Thanks,
Florian
- Re: new module 'aligned-malloc', (continued)
- Re: new module 'aligned-malloc', Bruno Haible, 2020/07/21
- Re: new module 'aligned-malloc', Paul Eggert, 2020/07/22
- Re: new module 'aligned-malloc', Bruno Haible, 2020/07/22
- Re: new module 'aligned-malloc', Jeffrey Walton, 2020/07/22
- Re: new module 'aligned-malloc', Paul Eggert, 2020/07/22
- Re: Minix, Bruno Haible, 2020/07/23
- Re: new module 'aligned-malloc', Florian Weimer, 2020/07/22
- Re: new module 'aligned-malloc', Paul Eggert, 2020/07/22
- Re: new module 'aligned-malloc', Florian Weimer, 2020/07/23
- Re: new module 'aligned-malloc', Paul Eggert, 2020/07/23
- Re: new module 'aligned-malloc',
Florian Weimer <=
Re: new module 'aligned-malloc', Bruno Haible, 2020/07/21