treewide: convert PF_MEMALLOC manipulations to new helpers
We now have memalloc_noreclaim_{save,restore} helpers for robust setting and clearing of PF_MEMALLOC. Let's convert the code which was using the generic tsk_restore_flags(). No functional change. [vbabka@suse.cz: in net/core/sock.c the hunk is missing] Link: http://lkml.kernel.org/r/20170405074700.29871-4-vbabka@suse.cz Signed-off-by: Vlastimil Babka <vbabka@suse.cz> Acked-by: Michal Hocko <mhocko@suse.com> Cc: Josef Bacik <jbacik@fb.com> Cc: Lee Duncan <lduncan@suse.com> Cc: Chris Leech <cleech@redhat.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Eric Dumazet <edumazet@google.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: Michal Hocko <mhocko@suse.com> Cc: Richard Weinberger <richard@nod.at> Cc: Wouter Verhelst <w@uter.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
499118e966
commit
f108304872
@@ -81,6 +81,7 @@
|
||||
#include <linux/hash.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/sched/mm.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/mm.h>
|
||||
@@ -4235,7 +4236,7 @@ static int __netif_receive_skb(struct sk_buff *skb)
|
||||
int ret;
|
||||
|
||||
if (sk_memalloc_socks() && skb_pfmemalloc(skb)) {
|
||||
unsigned long pflags = current->flags;
|
||||
unsigned int noreclaim_flag;
|
||||
|
||||
/*
|
||||
* PFMEMALLOC skbs are special, they should
|
||||
@@ -4246,9 +4247,9 @@ static int __netif_receive_skb(struct sk_buff *skb)
|
||||
* Use PF_MEMALLOC as this saves us from propagating the allocation
|
||||
* context down to all allocation sites.
|
||||
*/
|
||||
current->flags |= PF_MEMALLOC;
|
||||
noreclaim_flag = memalloc_noreclaim_save();
|
||||
ret = __netif_receive_skb_core(skb, true);
|
||||
current_restore_flags(pflags, PF_MEMALLOC);
|
||||
memalloc_noreclaim_restore(noreclaim_flag);
|
||||
} else
|
||||
ret = __netif_receive_skb_core(skb, false);
|
||||
|
||||
|
Reference in New Issue
Block a user