All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Toke Høiland-Jørgensen" <toke@toke.dk>
To: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: "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>,
	"Jonas Köppeler" <j.koeppeler@tu-berlin.de>,
	cake@lists.bufferbloat.net, netdev@vger.kernel.org
Subject: Re: [PATCH RFC net-next 0/4] Multi-queue aware sch_cake
Date: Mon, 13 Oct 2025 13:31:48 +0200	[thread overview]
Message-ID: <87v7kj597f.fsf@toke.dk> (raw)
In-Reply-To: <CAM0EoMnkOoA1x0o4VQ35kS-Sa69QSCRwmQBtVx5hEF9qo6rv4A@mail.gmail.com>

Jamal Hadi Salim <jhs@mojatatu.com> writes:

> On Wed, Sep 24, 2025 at 8:16 AM Toke Høiland-Jørgensen <toke@redhat.com> wrote:
>>
>> This series adds a multi-queue aware variant of the sch_cake scheduler,
>> called 'cake_mq'. Using this makes it possible to scale the rate shaper
>> of sch_cake across multiple CPUs, while still enforcing a single global
>> rate on the interface.
>>
>> The approach taken in this patch series is to implement a separate qdisc
>> called 'cake_mq', which is based on the existing 'mq' qdisc, but differs
>> in a couple of aspects:
>>
>> - It will always install a cake instance on each hardware queue (instead
>>   of using the default qdisc for each queue like 'mq' does).
>>
>> - The cake instances on the queues will share their configuration, which
>>   can only be modified through the parent cake_mq instance.
>>
>> Doing things this way does incur a bit of code duplication (reusing the
>> 'mq' qdisc code), but it simplifies user configuration by centralising
>> all configuration through the cake_mq qdisc (which also serves as an
>> obvious way of opting into the multi-queue aware behaviour).
>>
>> The cake_mq qdisc takes all the same configuration parameters as the
>> cake qdisc, plus on additional parameter to control the sync time
>> between the individual cake instances.
>>
>> We are posting this series to solicit feedback on the API, as well as
>> wider testing of the multi-core shaper.
>>
>> An earlier version of this work was presented at this year's Netdevconf:
>> https://netdevconf.info/0x19/sessions/talk/mq-cake-scaling-software-rate-limiting-across-cpu-cores.html
>>
>> The patch series is structured as follows:
>>
>> - Patch 1 factors out the sch_cake configuration variables into a
>>   separate struct that can be shared between instances.
>>
>> - Patch 2 adds the basic cake_mq qdisc, based on the mq code
>>
>> - Patch 3 adds configuration sharing across the cake instances installed
>>   under cake_mq
>>
>> - Patch 4 adds the shared shaper state that enables the multi-core rate
>>   shaping
>>
>> A patch to iproute2 to make it aware of the cake_mq qdisc is included as
>> a separate patch as part of this series.
>>
>
> For this version of the patchset
> Reviewed-by: Jamal Hadi Salim <jhs@mojatatu.com>

Thanks!

> Q: Does Eric's riddance of busylock help?

Good question! Probably not for cake_mq usage itself, but maybe it'll
change the baseline? We'll test this before sending a non-RFC :)

-Toke

      reply	other threads:[~2025-10-13 11:40 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-24 12:16 [PATCH RFC net-next 0/4] Multi-queue aware sch_cake Toke Høiland-Jørgensen
2025-09-24 12:16 ` [PATCH RFC net-next 1/4] net/sched: sch_cake: Factor out config variables into separate struct Toke Høiland-Jørgensen
2025-09-24 12:16 ` [PATCH RFC net-next 2/4] net/sched: sch_cake: Add cake_mq qdisc for using cake on mq devices Toke Høiland-Jørgensen
2025-09-24 12:16 ` [PATCH RFC net-next 3/4] net/sched: sch_cake: Share config across cake_mq sub-qdiscs Toke Høiland-Jørgensen
2025-09-24 12:16 ` [PATCH RFC net-next 4/4] net/sched: sch_cake: share shaper state across sub-instances of cake_mq Toke Høiland-Jørgensen
2025-09-25  9:04   ` Donald Hunter
2025-09-25 13:29     ` Toke Høiland-Jørgensen
2025-09-25 17:13   ` kernel test robot
2025-09-24 12:18 ` [PATCH RFC net-next] tc: cake: add cake_mq support Toke Høiland-Jørgensen
2025-10-12 15:51 ` [PATCH RFC net-next 0/4] Multi-queue aware sch_cake Jamal Hadi Salim
2025-10-13 11:31   ` Toke Høiland-Jørgensen [this message]

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=87v7kj597f.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=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.