mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
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.
[[email protected]: in net/core/sock.c the hunk is missing]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Vlastimil Babka <[email protected]>
Acked-by: Michal Hocko <[email protected]>
Cc: Josef Bacik <[email protected]>
Cc: Lee Duncan <[email protected]>
Cc: Chris Leech <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Eric Dumazet <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Andrey Ryabinin <[email protected]>
Cc: Boris Brezillon <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Richard Weinberger <[email protected]>
Cc: Wouter Verhelst <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
499118e966
commit
f108304872
4 changed files with 16 additions and 12 deletions
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@
|
|||
#include <linux/proc_fs.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/sched/mm.h>
|
||||
#include <linux/timer.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/sockios.h>
|
||||
|
|
@ -372,14 +373,14 @@ EXPORT_SYMBOL_GPL(sk_clear_memalloc);
|
|||
int __sk_backlog_rcv(struct sock *sk, struct sk_buff *skb)
|
||||
{
|
||||
int ret;
|
||||
unsigned long pflags = current->flags;
|
||||
unsigned int noreclaim_flag;
|
||||
|
||||
/* these should have been dropped before queueing */
|
||||
BUG_ON(!sock_flag(sk, SOCK_MEMALLOC));
|
||||
|
||||
current->flags |= PF_MEMALLOC;
|
||||
noreclaim_flag = memalloc_noreclaim_save();
|
||||
ret = sk->sk_backlog_rcv(sk, skb);
|
||||
current_restore_flags(pflags, PF_MEMALLOC);
|
||||
memalloc_noreclaim_restore(noreclaim_flag);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue