Messages in this thread | | | Subject | Re: [RFC PATCH 2/2] arm64: Implement vmalloc based thread_info allocator | From | Jungseok Lee <> | Date | Thu, 28 May 2015 01:08:43 +0900 |
| |
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
| |