| From: |
| menglong8.dong-AT-gmail.com |
| To: |
| dsahern-AT-kernel.org, kuba-AT-kernel.org |
| Subject: |
| [PATCH net-next 0/7] net: dev: add skb drop reasons to net/core/dev.c |
| Date: |
| Fri, 04 Mar 2022 01:47:00 +0800 |
| Message-ID: |
| <20220303174707.40431-1-imagedong@tencent.com> |
| Cc: |
| rostedt-AT-goodmis.org, mingo-AT-redhat.com, davem-AT-davemloft.net, ast-AT-kernel.org, daniel-AT-iogearbox.net, hawk-AT-kernel.org, john.fastabend-AT-gmail.com, imagedong-AT-tencent.com, edumazet-AT-google.com, talalahmad-AT-google.com, keescook-AT-chromium.org, ilias.apalodimas-AT-linaro.org, alobakin-AT-pm.me, flyingpeng-AT-tencent.com, mengensun-AT-tencent.com, atenart-AT-kernel.org, bigeasy-AT-linutronix.de, memxor-AT-gmail.com, arnd-AT-arndb.de, pabeni-AT-redhat.com, willemb-AT-google.com, vvs-AT-virtuozzo.com, cong.wang-AT-bytedance.com, linux-kernel-AT-vger.kernel.org, netdev-AT-vger.kernel.org, bpf-AT-vger.kernel.org |
| Archive-link: |
| Article |
From: Menglong Dong <imagedong@tencent.com>
In the commit c504e5c2f964 ("net: skb: introduce kfree_skb_reason()"),
we added the support of reporting the reasons of skb drops to kfree_skb
tracepoint. And in this series patches, reasons for skb drops are added
to the link layer, which means that 'net/core/dev.c' is our target.
Following functions are processed:
sch_handle_egress()
__dev_xmit_skb()
enqueue_to_backlog()
do_xdp_generic()
sch_handle_ingress()
__netif_receive_skb_core()
and following new drop reasons are added (what they mean can be see in
the document of them):
SKB_DROP_REASON_QDISC_EGRESS
SKB_DROP_REASON_QDISC_DROP
SKB_DROP_REASON_CPU_BACKLOG
SKB_DROP_REASON_XDP
SKB_DROP_REASON_QDISC_INGRESS
SKB_DROP_REASON_PTYPE_ABSENT
In order to add skb drop reasons to kfree_skb_list(), the function
kfree_skb_list_reason() is introduced in the 2th patch, which will be
used in __dev_xmit_skb() in the 3th patch.
Menglong Dong (7):
net: dev: use kfree_skb_reason() for sch_handle_egress()
net: skb: introduce the function kfree_skb_list_reason()
net: dev: add skb drop reasons to __dev_xmit_skb()
net: dev: use kfree_skb_reason() for enqueue_to_backlog()
net: dev: use kfree_skb_reason() for do_xdp_generic()
net: dev: use kfree_skb_reason() for sch_handle_ingress()
net: dev: use kfree_skb_reason() for __netif_receive_skb_core()
include/linux/skbuff.h | 32 +++++++++++++++++++++++++++++++-
include/trace/events/skb.h | 5 +++++
net/core/dev.c | 25 ++++++++++++++++---------
net/core/skbuff.c | 7 ++++---
4 files changed, 56 insertions(+), 13 deletions(-)
--
2.35.1