Files
kernel/include/linux
Vlastimil Babka 499118e966 mm: introduce memalloc_noreclaim_{save,restore}
The previous patch ("mm: prevent potential recursive reclaim due to
clearing PF_MEMALLOC") has shown that simply setting and clearing
PF_MEMALLOC in current->flags can result in wrongly clearing a
pre-existing PF_MEMALLOC flag and potentially lead to recursive reclaim.
Let's introduce helpers that support proper nesting by saving the
previous stat of the flag, similar to the existing memalloc_noio_* and
memalloc_nofs_* helpers.  Convert existing setting/clearing of
PF_MEMALLOC within mm to the new helpers.

There are no known issues with the converted code, but the change makes
it more robust.

Link: http://lkml.kernel.org/r/20170405074700.29871-3-vbabka@suse.cz
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Suggested-by: Michal Hocko <mhocko@suse.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Hillf Danton <hillf.zj@alibaba-inc.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Chris Leech <cleech@redhat.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Josef Bacik <jbacik@fb.com>
Cc: Lee Duncan <lduncan@suse.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Richard Weinberger <richard@nod.at>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-05-08 17:15:15 -07:00
..
2017-03-07 14:30:38 +01:00
2017-04-28 18:09:59 -04:00
2017-05-01 14:09:21 -07:00
2017-04-11 14:38:43 -04:00
2017-03-30 09:37:20 +02:00
2017-04-18 20:41:12 +02:00
2017-04-10 17:15:02 +02:00
2017-05-03 15:52:10 -07:00
2017-03-21 10:15:47 +02:00
2017-04-05 18:11:48 +02:00
2017-03-22 16:16:17 +01:00
2017-05-08 17:15:12 -07:00
2017-04-04 14:10:12 -07:00
2017-05-03 15:52:10 -07:00
2017-05-08 17:15:12 -07:00
2017-04-24 14:30:46 -04:00
2017-03-07 14:01:02 -08:00
2017-04-19 14:21:23 +02:00
2017-03-28 08:54:48 +02:00
2017-05-03 15:52:10 -07:00
2017-05-08 17:15:12 -07:00
2017-03-26 15:09:45 +02:00
2017-03-22 12:15:15 -07:00