Messages in this thread | | | Subject | Re: [PATCH 07/12] mm, page_alloc: Distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd | From | Vlastimil Babka <> | Date | Thu, 27 Aug 2015 11:18:17 +0200 |
| |
On 08/26/2015 08:10 PM, Mel Gorman wrote: >> >> I think the most robust check would be to rely on what was already prepared >> by gfp_to_alloc_flags(), instead of repeating it here. So add alloc_flags >> parameter to warn_alloc_failed(), and drop the filter when >> - ALLOC_CPUSET is not set, as that disables the cpuset checks >> - ALLOC_NO_WATERMARKS is set, as that allows calling >> __alloc_pages_high_priority() attempt which ignores cpusets >> > > warn_alloc_failed is used outside of page_alloc.c in a context that does > not have alloc_flags. It could be extended to take an extra parameter > that is ALLOC_CPUSET for the other callers or else split it into > __warn_alloc_failed (takes alloc_flags parameter) and warn_alloc_failed > (calls __warn_alloc_failed with ALLOC_CPUSET) but is it really worth it?
Probably not. Testing lack of __GFP_DIRECT_RECLAIM is good enough until somebody cares more.
| |