|
@@ -2557,6 +2557,7 @@ static int __zone_reclaim(struct zone *zone, gfp_t gfp_mask, unsigned int order)
|
|
|
* and RECLAIM_SWAP.
|
|
|
*/
|
|
|
p->flags |= PF_MEMALLOC | PF_SWAPWRITE;
|
|
|
+ lockdep_set_current_reclaim_state(gfp_mask);
|
|
|
reclaim_state.reclaimed_slab = 0;
|
|
|
p->reclaim_state = &reclaim_state;
|
|
|
|
|
@@ -2600,6 +2601,7 @@ static int __zone_reclaim(struct zone *zone, gfp_t gfp_mask, unsigned int order)
|
|
|
|
|
|
p->reclaim_state = NULL;
|
|
|
current->flags &= ~(PF_MEMALLOC | PF_SWAPWRITE);
|
|
|
+ lockdep_clear_current_reclaim_state();
|
|
|
return sc.nr_reclaimed >= nr_pages;
|
|
|
}
|
|
|
|