[RFC PATCH 2/2] arm64: Implement vmalloc based thread_info allocator
Jungseok Lee
jungseoklee85 at gmail.com
Wed May 27 09:08:43 PDT 2015
On May 27, 2015, at 1:10 PM, Minchan Kim wrote:
> Hello Jungseok,
Hi, Minchan,
> On Tue, May 26, 2015 at 08:29:59PM +0900, Jungseok Lee wrote:
>> On May 25, 2015, at 11:40 PM, Minchan Kim wrote:
>>> Hello Jungseok,
>>
>> Hi, Minchan,
>>
>>> On Mon, May 25, 2015 at 01:02:20AM +0900, Jungseok Lee wrote:
>>>> Fork-routine sometimes fails to get a physically contiguous region for
>>>> thread_info on 4KB page system although free memory is enough. That is,
>>>> a physically contiguous region, which is currently 16KB, is not available
>>>> since system memory is fragmented.
>>>
>>> Order less than PAGE_ALLOC_COSTLY_ORDER should not fail in current
>>> mm implementation. If you saw the order-2,3 high-order allocation fail
>>> maybe your application received SIGKILL by someone. LMK?
>>
>> Exactly right. The allocation is failed via the following path.
>>
>> if (test_thread_flag(TIF_MEMDIE) && !(gfp_mask & __GFP_NOFAIL))
>> goto nopage;
>>
>> IMHO, a reclaim operation would be not needed in this context if memory is
>> allocated from vmalloc space. It means there is no need to traverse shrinker list.
>
> For making fork successful with using vmalloc, it's bandaid.
Thanks for clarification!
Best Regards
Jungseok Lee
More information about the linux-arm-kernel
mailing list