Messages in this thread | | | From | KOSAKI Motohiro <> | Subject | Re: [PATCH 10/25] Calculate the alloc_flags for allocation only once | Date | Tue, 21 Apr 2009 19:40:14 +0900 (JST) |
| |
> The changelog now reads > ===== > > Factor out the mapping between GFP and alloc_flags only once. Once factored > out, it only needs to be calculated once but some care must be taken. > > [neilb@suse.de says] > As the test: > > - if (((p->flags & PF_MEMALLOC) || > unlikely(test_thread_flag(TIF_MEMDIE))) > - && !in_interrupt()) { > - if (!(gfp_mask & __GFP_NOMEMALLOC)) { > > has been replaced with a slightly weaker one: > > + if (alloc_flags & ALLOC_NO_WATERMARKS) { > > Without care, this would allow recursion into the allocator via direct > reclaim. This patch ensures we do not recurse when PF_MEMALLOC is set > but TF_MEMDIE callers are now allowed to directly reclaim where they > would have been prevented in the past.
Excellent. :)
| |