Thread (6 messages) 6 messages, 3 authors, 2022-01-04

Re: [PATCH] net: remove judgement based on gfp_flags

flat view

From: Zhaoyang Huang <hidden>
Date: 2021-12-27 06:14:29
Also in: lkml

On Fri, Dec 24, 2021 at 1:11 AM Jakub Kicinski [off-list ref] wrote:
On Thu, 23 Dec 2021 09:56:07 +0800 Huangzhaoyang wrote:
quoted
From: Zhaoyang Huang <redacted>

The parameter allocation here is used for indicating if the memory
allocation can stall or not. Since we have got the skb buffer, it
doesn't make sense to check if we can yield on the net's congested
via gfp_flags. Remove it now.
This is checking if we can sleep AFAICT. What are you trying to fix?
Yes and NO. gfp means *get free pages* which indicate if the embedded
memory allocation among the process can sleep or not, but without any
other meanings. The driver which invokes this function could have to
use GFP_KERNEL for allocating memory as the critical resources but
don't want to sleep on the netlink's congestion.
quoted
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 4c57532..af5b6af 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1526,7 +1526,7 @@ int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, u32 portid,
      consume_skb(info.skb2);

      if (info.delivered) {
-             if (info.congested && gfpflags_allow_blocking(allocation))
+             if (info.congested)
                      yield();
              return 0;
      }
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help