Compared with sk_wmem_schedule(), sk_rmem_schedule() not only performs rmem accounting, but also checks skb_pfmemalloc. The __sk_rmem_schedule() helper function is introduced here to perform only rmem accounting related activities. Signed-off-by: Liu Jian <liujian56@xxxxxxxxxx> --- include/net/sock.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/include/net/sock.h b/include/net/sock.h index 2eb916d1ff64..58bf26c5c041 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -1617,16 +1617,20 @@ static inline bool sk_wmem_schedule(struct sock *sk, int size) return delta <= 0 || __sk_mem_schedule(sk, delta, SK_MEM_SEND); } -static inline bool -sk_rmem_schedule(struct sock *sk, struct sk_buff *skb, int size) +static inline bool __sk_rmem_schedule(struct sock *sk, int size) { int delta; if (!sk_has_account(sk)) return true; delta = size - sk->sk_forward_alloc; - return delta <= 0 || __sk_mem_schedule(sk, delta, SK_MEM_RECV) || - skb_pfmemalloc(skb); + return delta <= 0 || __sk_mem_schedule(sk, delta, SK_MEM_RECV); +} + +static inline bool +sk_rmem_schedule(struct sock *sk, struct sk_buff *skb, int size) +{ + return __sk_rmem_schedule(sk, size) || skb_pfmemalloc(skb); } static inline int sk_unused_reserved_mem(const struct sock *sk) -- 2.34.1