summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMenglong Dong <imagedong@tencent.com>2022-03-04 09:00:43 +0300
committerDavid S. Miller <davem@davemloft.net>2022-03-04 15:17:11 +0300
commit44f0bd40803c0e04f1c8cd59df3c7acce783ae9c (patch)
tree3cd93d933de81e188ba8fd4589011b70ad88f891 /include
parent7faef0547f4c29031a68d058918b031a8e520d49 (diff)
downloadlinux-44f0bd40803c0e04f1c8cd59df3c7acce783ae9c.tar.xz
net: dev: use kfree_skb_reason() for enqueue_to_backlog()
Replace kfree_skb() used in enqueue_to_backlog() with kfree_skb_reason(). The skb rop reason SKB_DROP_REASON_CPU_BACKLOG is introduced for the case of failing to enqueue the skb to the per CPU backlog queue. The further reason can be backlog queue full or RPS flow limition, and I think we needn't to make further distinctions. Signed-off-by: Menglong Dong <imagedong@tencent.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/skbuff.h6
-rw-r--r--include/trace/events/skb.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 769d54ba2f3b..44ecbfff2b69 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -399,6 +399,12 @@ enum skb_drop_reason {
* outputting (failed to enqueue to
* current qdisc)
*/
+ SKB_DROP_REASON_CPU_BACKLOG, /* failed to enqueue the skb to
+ * the per CPU backlog queue. This
+ * can be caused by backlog queue
+ * full (see netdev_max_backlog in
+ * net.rst) or RPS flow limit
+ */
SKB_DROP_REASON_MAX,
};
diff --git a/include/trace/events/skb.h b/include/trace/events/skb.h
index dbf3e2e3c1b4..3bb90ca893ae 100644
--- a/include/trace/events/skb.h
+++ b/include/trace/events/skb.h
@@ -47,6 +47,7 @@
EM(SKB_DROP_REASON_NEIGH_DEAD, NEIGH_DEAD) \
EM(SKB_DROP_REASON_TC_EGRESS, TC_EGRESS) \
EM(SKB_DROP_REASON_QDISC_DROP, QDISC_DROP) \
+ EM(SKB_DROP_REASON_CPU_BACKLOG, CPU_BACKLOG) \
EMe(SKB_DROP_REASON_MAX, MAX)
#undef EM