X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=mm%2Fpage_alloc.c;h=f87e0d8df5a7f517a06fff972674bd1039da61d5;hb=558f6ab9106e6be701acb0257e7171df1bbccf04;hp=a92b0975b9a5f49c7f1c235f0064921f18c43913;hpb=65fb0d23fcddd8697c871047b700c78817bdaa43;p=linux-2.6-block.git diff --git a/mm/page_alloc.c b/mm/page_alloc.c index a92b0975b9a5..f87e0d8df5a7 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1479,6 +1479,8 @@ __alloc_pages_internal(gfp_t gfp_mask, unsigned int order, unsigned long did_some_progress; unsigned long pages_reclaimed = 0; + lockdep_trace_alloc(gfp_mask); + might_sleep_if(wait); if (should_fail_alloc_page(gfp_mask, order)) @@ -1578,12 +1580,15 @@ nofail_alloc: */ cpuset_update_task_memory_state(); p->flags |= PF_MEMALLOC; + + lockdep_set_current_reclaim_state(gfp_mask); reclaim_state.reclaimed_slab = 0; p->reclaim_state = &reclaim_state; did_some_progress = try_to_free_pages(zonelist, order, gfp_mask); p->reclaim_state = NULL; + lockdep_clear_current_reclaim_state(); p->flags &= ~PF_MEMALLOC; cond_resched();