From: "Toke Høiland-Jørgensen" <toke@redhat.com>
To: Dave Taht <dave.taht@gmail.com>, Jakub Kicinski <kuba@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>,
netdev@vger.kernel.org, Jamal Hadi Salim <jhs@mojatatu.com>,
cake@lists.bufferbloat.net, Eric Dumazet <edumazet@google.com>,
Simon Horman <horms@kernel.org>,
Cong Wang <xiyou.wangcong@gmail.com>,
Paolo Abeni <pabeni@redhat.com>,
"David S. Miller" <davem@davemloft.net>
Subject: Re: [Cake] [PATCH net-next] net_sched: sch_cake: Add drop reasons
Date: Tue, 10 Dec 2024 09:42:55 +0100 [thread overview]
Message-ID: <87a5d46i9c.fsf@toke.dk> (raw)
In-Reply-To: <CAA93jw4chUsQ40LQStvJBeOEENydbv58gOWz8y7fFPJkATa9tA@mail.gmail.com>
Dave Taht <dave.taht@gmail.com> writes:
> On Mon, Dec 9, 2024 at 3:52 PM Jakub Kicinski via Cake
> <cake@lists.bufferbloat.net> wrote:
>>
>> On Mon, 09 Dec 2024 13:02:18 +0100 Toke Høiland-Jørgensen wrote:
>> > Add three qdisc-specific drop reasons for sch_cake:
>> >
>> > 1) SKB_DROP_REASON_CAKE_CONGESTED
>> > Whenever a packet is dropped by the CAKE AQM algorithm because
>> > congestion is detected.
>> >
>> > 2) SKB_DROP_REASON_CAKE_FLOOD
>> > Whenever a packet is dropped by the flood protection part of the
>> > CAKE AQM algorithm (BLUE).
>> >
>> > 3) SKB_DROP_REASON_CAKE_OVERLIMIT
>> > Whenever the total queue limit for a CAKE instance is exceeded and a
>> > packet is dropped to make room.
>>
>> Eric's patch was adding fairly FQ-specific reasons, other than flood
>> this seems like generic AQM stuff, no? From a very quick look the
>> congestion looks like fairly standard AQM, overlimit is also typical
>> for qdics?
>
> While I initially agreed with making this generic, preserving the qdisc from
> where the drop came lets you safely inspect the cb block (timestamp, etc),
> format of which varies by qdisc. You also get insight as to which
> qdisc was dropping.
>
> Downside is we'll end up with SKB_DROP_REASON_XXX_OVERLIMIT for
> each of the qdiscs. Etc.
Yeah, I agree that a generic "dropped by AQM" reason will be too generic
without knowing which qdisc dropped it. I guess any calls directly to
kfree_skb_reason() from the qdisc will provide the calling function, but
for qdisc_drop_reason() the drop will be deferred to __dev_queue_xmit(),
so no way of knowing where the drop came from, AFAICT?
-Toke
next prev parent reply other threads:[~2024-12-10 8:43 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-09 12:02 [PATCH net-next] net_sched: sch_cake: Add drop reasons Toke Høiland-Jørgensen
2024-12-09 13:26 ` Eric Dumazet
2024-12-09 23:00 ` Jamal Hadi Salim
2024-12-09 23:14 ` [Cake] " Dave Taht
2024-12-09 23:51 ` Jakub Kicinski
2024-12-10 0:25 ` [Cake] " Dave Taht
2024-12-10 8:42 ` Toke Høiland-Jørgensen [this message]
2024-12-10 9:10 ` Jonathan Morton
2024-12-11 1:28 ` Jakub Kicinski
2024-12-11 9:55 ` Toke Høiland-Jørgensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a5d46i9c.fsf@toke.dk \
--to=toke@redhat.com \
--cc=cake@lists.bufferbloat.net \
--cc=dave.taht@gmail.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=xiyou.wangcong@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.