From: "Toke Høiland-Jørgensen" <toke@toke.dk>
To: Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
Jamal Hadi Salim <jhs@mojatatu.com>,
Cong Wang <xiyou.wangcong@gmail.com>,
Jiri Pirko <jiri@resnulli.us>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Simon Horman <horms@kernel.org>
Cc: "Jonas Köppeler" <j.koeppeler@tu-berlin.de>,
cake@lists.bufferbloat.net, netdev@vger.kernel.org
Subject: Re: [PATCH net-next v2 2/4] net/sched: sch_cake: Add cake_mq qdisc for using cake on mq devices
Date: Sat, 29 Nov 2025 10:21:34 +0100 [thread overview]
Message-ID: <87a505b3dt.fsf@toke.dk> (raw)
In-Reply-To: <willemdebruijn.kernel.2e44851dd8b26@gmail.com>
Willem de Bruijn <willemdebruijn.kernel@gmail.com> writes:
> Toke Høiland-Jørgensen wrote:
>> Add a cake_mq qdisc which installs cake instances on each hardware
>> queue on a multi-queue device.
>>
>> This is just a copy of sch_mq that installs cake instead of the default
>> qdisc on each queue. Subsequent commits will add sharing of the config
>> between cake instances, as well as a multi-queue aware shaper algorithm.
>>
>> Reviewed-by: Jamal Hadi Salim <jhs@mojatatu.com>
>> Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
>> ---
>> net/sched/sch_cake.c | 214 ++++++++++++++++++++++++++++++++++++++++++++++++++-
>> 1 file changed, 213 insertions(+), 1 deletion(-)
>
> Is this code duplication unavoidable?
>
> Could the same be achieved by either
>
> extending the original sch_mq to have a variant that calls the
> custom cake_mq_change.
>
> Or avoid hanging the shared state off of parent mq entirely. Have the
> cake instances share it directly. E.g., where all but the instance on
> netdev_get_tx_queue(dev, 0) are opened in a special "shared" mode (a
> bit like SO_REUSEPORT sockets) and lookup the state from that
> instance.
We actually started out with something like that, but ended up with the
current variant for primarily UAPI reasons: Having the mq variant be a
separate named qdisc is simple and easy to understand ('cake' gets you
single-queue, 'cake_mq' gets you multi-queue).
I think having that variant live with the cake code makes sense. I
suppose we could reuse a couple of the mq callbacks by exporting them
and calling them from the cake code and avoid some duplication that way.
I can follow up with a patch to consolidate those if you think it is
worth it to do so?
-Toke
next prev parent reply other threads:[~2025-11-29 9:21 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-27 9:30 [PATCH net-next v2 0/4] Multi-queue aware sch_cake Toke Høiland-Jørgensen
2025-11-27 9:30 ` [PATCH net-next v2 1/4] net/sched: sch_cake: Factor out config variables into separate struct Toke Høiland-Jørgensen
2025-11-27 9:30 ` [PATCH net-next v2 2/4] net/sched: sch_cake: Add cake_mq qdisc for using cake on mq devices Toke Høiland-Jørgensen
2025-11-29 2:08 ` Willem de Bruijn
2025-11-29 9:21 ` Toke Høiland-Jørgensen [this message]
2025-11-29 16:56 ` Willem de Bruijn
2025-11-29 19:33 ` Toke Høiland-Jørgensen
2025-11-30 15:07 ` Willem de Bruijn
2025-11-30 16:19 ` Toke Høiland-Jørgensen
2025-11-30 16:58 ` Willem de Bruijn
2025-11-30 20:34 ` Toke Høiland-Jørgensen
2025-11-27 9:30 ` [PATCH net-next v2 3/4] net/sched: sch_cake: Share config across cake_mq sub-qdiscs Toke Høiland-Jørgensen
2025-11-27 9:30 ` [PATCH net-next v2 4/4] net/sched: sch_cake: share shaper state across sub-instances of cake_mq Toke Høiland-Jørgensen
2025-11-27 18:27 ` [PATCH net-next v2 0/4] Multi-queue aware sch_cake Cong Wang
2025-11-27 19:27 ` Toke Høiland-Jørgensen
2025-11-28 17:50 ` Jakub Kicinski
2025-11-28 22:33 ` Toke Høiland-Jørgensen
2025-11-29 2:48 ` Jakub Kicinski
2025-11-29 9:25 ` Toke Høiland-Jørgensen
2025-12-03 5:31 ` Cong Wang
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=87a505b3dt.fsf@toke.dk \
--to=toke@toke.dk \
--cc=cake@lists.bufferbloat.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=j.koeppeler@tu-berlin.de \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=willemdebruijn.kernel@gmail.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.