[Patch v1] skbuff: Hide GFP_ATOMIC page allocation failures for dropped packets

Subsystems: networking [general], the rest

STALE4884d

4 messages, 3 authors, 2013-05-27 · open the first message on its own page

[Patch v1] skbuff: Hide GFP_ATOMIC page allocation failures for dropped packets

From: <hidden>
Date: 2013-05-26 13:17:31

From: Aaron Tomlin <redacted>

Failed GFP_ATOMIC allocations by the network stack result in dropped
packets, which will be received on a subsequent retransmit, and an
unnecessary, noisy warning with a kernel backtrace.

These warnings are harmless, but they still cause users to panic and
file bug reports over dropped packets. It would be better to hide the
failed allocation warnings and backtraces, and let retransmits handle
dropped packets quietly.

Signed-off-by: Aaron Tomlin <redacted>
---
 net/core/skbuff.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index af9185d..02139d6 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -236,7 +236,7 @@ struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask,
 		? skbuff_fclone_cache : skbuff_head_cache;
 
 	if (sk_memalloc_socks() && (flags & SKB_ALLOC_RX))
-		gfp_mask |= __GFP_MEMALLOC;
+		gfp_mask |= (__GFP_MEMALLOC|__GFP_NOWARN);
 
 	/* Get the HEAD */
 	skb = kmem_cache_alloc_node(cache, gfp_mask & ~__GFP_DMA, node);
-- 
1.8.1.4

Re: [Patch v1] skbuff: Hide GFP_ATOMIC page allocation failures for dropped packets

From: Sergei Shtylyov <hidden>
Date: 2013-05-26 16:28:26

Hello.

On 26-05-2013 17:17, atomlin@redhat.com wrote:
From: Aaron Tomlin <redacted>
Failed GFP_ATOMIC allocations by the network stack result in dropped
packets, which will be received on a subsequent retransmit, and an
unnecessary, noisy warning with a kernel backtrace.
These warnings are harmless, but they still cause users to panic and
file bug reports over dropped packets. It would be better to hide the
failed allocation warnings and backtraces, and let retransmits handle
dropped packets quietly.
Signed-off-by: Aaron Tomlin <redacted>
---
  net/core/skbuff.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
quoted hunk
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index af9185d..02139d6 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -236,7 +236,7 @@ struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask,
  		? skbuff_fclone_cache : skbuff_head_cache;

  	if (sk_memalloc_socks() && (flags & SKB_ALLOC_RX))
-		gfp_mask |= __GFP_MEMALLOC;
+		gfp_mask |= (__GFP_MEMALLOC|__GFP_NOWARN);
   Parens not needed here.

WBR, Sergei

Re: [Patch v1] skbuff: Hide GFP_ATOMIC page allocation failures for dropped packets

From: Joe Perches <joe@perches.com>
Date: 2013-05-26 22:00:12

On Sun, 2013-05-26 at 20:28 +0400, Sergei Shtylyov wrote:
On 26-05-2013 17:17, atomlin@redhat.com wrote:
quoted
Failed GFP_ATOMIC allocations by the network stack result in dropped
packets, which will be received on a subsequent retransmit, and an
unnecessary, noisy warning with a kernel backtrace.
quoted
These warnings are harmless, but they still cause users to panic and
file bug reports over dropped packets. It would be better to hide the
failed allocation warnings and backtraces, and let retransmits handle
dropped packets quietly.
quoted
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
[]
quoted
@@ -236,7 +236,7 @@ struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask,
  		? skbuff_fclone_cache : skbuff_head_cache;

  	if (sk_memalloc_socks() && (flags & SKB_ALLOC_RX))
-		gfp_mask |= __GFP_MEMALLOC;
+		gfp_mask |= (__GFP_MEMALLOC|__GFP_NOWARN);
    Parens not needed here.
Maybe add a pr_debug before the goto out instead.

Re: [Patch v1] skbuff: Hide GFP_ATOMIC page allocation failures for dropped packets

From: Sergei Shtylyov <hidden>
Date: 2013-05-27 17:53:14

Hello.

On 26-05-2013 20:28, Sergei Shtylyov wrote:
quoted
From: Aaron Tomlin <redacted>
quoted
Failed GFP_ATOMIC allocations by the network stack result in dropped
packets, which will be received on a subsequent retransmit, and an
unnecessary, noisy warning with a kernel backtrace.
quoted
These warnings are harmless, but they still cause users to panic and
file bug reports over dropped packets. It would be better to hide the
failed allocation warnings and backtraces, and let retransmits handle
dropped packets quietly.
quoted
Signed-off-by: Aaron Tomlin <redacted>
---
  net/core/skbuff.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
quoted
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index af9185d..02139d6 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -236,7 +236,7 @@ struct sk_buff *__alloc_skb(unsigned int size,
gfp_t gfp_mask,
          ? skbuff_fclone_cache : skbuff_head_cache;

      if (sk_memalloc_socks() && (flags & SKB_ALLOC_RX))
-        gfp_mask |= __GFP_MEMALLOC;
+        gfp_mask |= (__GFP_MEMALLOC|__GFP_NOWARN);
    Parens not needed here.
   And add spaces around | please, to be consistent with other code.

WBR, Sergei
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help