Subject: Re: [PATCH net-next v3 1/6] net: sched: introduce qdisc-specific drop reason tracing

From: Toke Høiland-Jørgensen <[email-masked]>
Date: Tue, 10 Feb 2026 12:47:54 +0100

Jesper Dangaard Brouer <[email-masked]> writes:

> Create new enum qdisc_drop_reason and trace_qdisc_drop tracepoint
> for qdisc layer drop diagnostics with direct qdisc context visibility.
>
> The new tracepoint includes qdisc handle, parent, kind (name), and
> device information. Existing SKB_DROP_REASON_QDISC_DROP is retained
> for backwards compatibility via kfree_skb_reason().
>
> Convert FQ, FQ_CoDel, CoDel, SFB, and pfifo_fast to use the new
> infrastructure.
>
> Reported-by: [email-masked]
> Signed-off-by: Jesper Dangaard Brouer <[email-masked]>

One small nit, see below. With that:

Reviewed-by: Toke Høiland-Jørgensen <[email-masked]>

[...]
> @@ -37,6 +37,31 @@
>  const struct Qdisc_ops *default_qdisc_ops = &pfifo_fast_ops;
>  EXPORT_SYMBOL(default_qdisc_ops);
>  
> +void tcf_kfree_skb_list(struct sk_buff *skb, struct Qdisc *q,
> +			struct netdev_queue *txq, struct net_device *dev)
> +{
> +	while (unlikely(skb)) {

Seems a bit odd to have the unlikely() here. I guess it was originally
there because it was an inlined function, but since it isn't anymore
(presumably?), does it really do anything?

-Toke