projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net: Always allocate at least 16 skb frags regardless of page size
[firefly-linux-kernel-4.4.55.git]
/
include
/
linux
/
skbuff.h
diff --git
a/include/linux/skbuff.h
b/include/linux/skbuff.h
index 24cfa626931ee56d45d8c6e0cdfa8b0474577425..239083bfea13d642c2c11d30398cc0365071b55c 100644
(file)
--- a/
include/linux/skbuff.h
+++ b/
include/linux/skbuff.h
@@
-122,8
+122,14
@@
struct sk_buff_head {
struct sk_buff;
struct sk_buff;
-/* To allow 64K frame to be packed as single skb without frag_list */
+/* To allow 64K frame to be packed as single skb without frag_list. Since
+ * GRO uses frags we allocate at least 16 regardless of page size.
+ */
+#if (65536/PAGE_SIZE + 2) < 16
+#define MAX_SKB_FRAGS 16
+#else
#define MAX_SKB_FRAGS (65536/PAGE_SIZE + 2)
#define MAX_SKB_FRAGS (65536/PAGE_SIZE + 2)
+#endif
typedef struct skb_frag_struct skb_frag_t;
typedef struct skb_frag_struct skb_frag_t;