From: Jakub Kicinski Date: Sat, 28 Feb 2026 23:31:38 +0000 (-0800) Subject: Merge branch 'net-sched-refactor-qdisc-drop-reasons-into-dedicated-tracepoint' X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=01857fc712f6469cab9cc578120cdc80f1c2a634;p=thirdparty%2Fkernel%2Flinux.git Merge branch 'net-sched-refactor-qdisc-drop-reasons-into-dedicated-tracepoint' Jesper Dangaard Brouer says: ==================== net: sched: refactor qdisc drop reasons into dedicated tracepoint This series refactors qdisc drop reason handling by introducing a dedicated enum qdisc_drop_reason and trace_qdisc_drop tracepoint, providing qdisc layer drop diagnostics with direct qdisc context visibility. Background: ----------- Identifying which qdisc dropped a packet via skb_drop_reason is difficult. Normally, the kfree_skb tracepoint caller "location" hints at the dropping code, but qdisc drops happen at a central point (__dev_queue_xmit), making this unusable. As a workaround, commits 5765c7f6e317 ("net_sched: sch_fq: add three drop_reason") and a42d71e322a8 ("net_sched: sch_cake: Add drop reasons") encoded qdisc names directly in the drop reason enums. This series provides a cleaner solution by creating a dedicated qdisc tracepoint that naturally includes qdisc context (handle, parent, kind). Solution: --------- Create a new tracepoint trace_qdisc_drop that builds on top of existing trace_qdisc_enqueue infrastructure. It includes qdisc handle, parent, qdisc kind (name), and device information directly. The existing SKB_DROP_REASON_QDISC_DROP is retained for backwards compatibility via kfree_skb_reason(). The qdisc-specific drop reasons (QDISC_DROP_*) provide fine-grained detail via the new tracepoint. The enum uses subsystem encoding (offset by SKB_DROP_REASON_SUBSYS_QDISC) to catch type mismatches during debugging. This implements the alternative approach described in: https://lore.kernel.org/all/6be17a08-f8aa-4f91-9bd0-d9e1f0a92d90@kernel.org/ ==================== Link: https://patch.msgid.link/177211325634.3011628.9343837509740374154.stgit@firesoul Signed-off-by: Jakub Kicinski --- 01857fc712f6469cab9cc578120cdc80f1c2a634