netlink: do not enter direct reclaim from netlink_trim()
In commit d35c99ff77
("netlink: do not enter direct reclaim from
netlink_dump()") we made sure to not trigger expensive memory reclaim.
Problem is that a bit later, netlink_trim() might be called and
trigger memory reclaim.
netlink_trim() should be best effort, and really as fast as possible.
Under memory pressure, it is fine to not trim this skb.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
3be0679b4a
Коммит
e89df81317
|
@ -1210,7 +1210,9 @@ static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
|
|||
skb = nskb;
|
||||
}
|
||||
|
||||
if (!pskb_expand_head(skb, 0, -delta, allocation))
|
||||
if (!pskb_expand_head(skb, 0, -delta,
|
||||
(allocation & ~__GFP_DIRECT_RECLAIM) |
|
||||
__GFP_NOWARN | __GFP_NORETRY))
|
||||
skb->truesize -= delta;
|
||||
|
||||
return skb;
|
||||
|
|
Загрузка…
Ссылка в новой задаче