From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=none smtp.mailfrom=mojatatu.com; dkim=pass header.d=mojatatu-com.20230601.gappssmtp.com; arc=none (Message is not ARC signed); dmarc=none Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com [IPv6:2607:f8b0:4864:20::1033]) by mail.toke.dk (Postfix) with ESMTPS id 90D277897AC for ; Sun, 12 Oct 2025 17:51:32 +0200 (CEST) Received: by mail-pj1-x1033.google.com with SMTP id 98e67ed59e1d1-33082c95fd0so4230306a91.1 for ; Sun, 12 Oct 2025 08:51:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mojatatu-com.20230601.gappssmtp.com; s=20230601; t=1760284290; x=1760889090; darn=lists.bufferbloat.net; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=nokm4b1fJ6STX0tx8BP4NI1/qKuZKnYqjVb6I3fubi0=; b=krSuvn34bCvpEdTkpvPyHh7VxqmhqqN7q/RnkiAtknMq1I6ISFk5Cqy+lhOkzYDlpD Qc/DnnSmTftZBFanLytWjA83Yq5vuov7bbKxk6/9e7FbyzoFASXMxblgeXfjIZyAoqwJ RivSN8f+v8KY0hC7yxsa3BIPJY0L0FE57ZjUgT0OyZk9LW3K2OHJL5EzXdUIqP40BHBQ MgxR7gzKmT3xf2BHGo2WXCIBVYnko6Q/j28T1g/p3ykSisXOXDE2fijggBc06HLrQgpH RVGF72t89r5ZK7Xv3ccwjT6s+dtLWhKOI3eq6tXe9DLnJtaDrRMCbt8YaQr92R44q5FY jfRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760284290; x=1760889090; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nokm4b1fJ6STX0tx8BP4NI1/qKuZKnYqjVb6I3fubi0=; b=iLdWBWTXUbueU9o+S1f3xuT2M9mdbzt44WueYNk8Z6F3mCaLVD7GXyaM+RMCweYhCH Bo2dUDZYx553PknBajl56As8Q2DCLJ/LdMT9lN6kAXjPxHHCzC2ZSnef02UJUziOyFvQ iMX2G4qut8Lymerjq4Y10dpLFivFS0ekaM8ZbHDdgYkXRap2630aPKekTkrU+1KCDRbE y0Z5a2imSniM2FY6ierdQ62Mm1q0IK8fmv2aC1bBf51Ni8geK5VdU6Zqy1pyJhNM/HnD Pf7J04a+l4urZb/1bVkgasusGggDL5C0ne0FdGQuRWEwV2A26PDfLofxltLzOfmVqryr cTYQ== X-Forwarded-Encrypted: i=1; AJvYcCVrHPwqW1hGNfULbtvSV5zkoRXrtnunOWeDXOtkWrqAmrKGCSXE6xTWSwVAEtpuSGcZxDZp@lists.bufferbloat.net X-Gm-Message-State: AOJu0YwhxuZwc0ZaAjFfLnJ/fBK/8kwdM+UAtQMP0c8YEVDPsytEOHEz 9mvZ6c2nvzPX6t9vfF5tdpLNVHb8xFVH/dxClfz1eN+2t9RvaCHJguryTRZc6tC5bvnZ1kEz73V 5396d6WQGMokr1bFa2Zst8aeRYqZ8AFV3y0CiDDmZ X-Gm-Gg: ASbGncuEkibF+DVU8L+YRg7wJ8fwqOeIMPqdZ3N7N4Uore3ShiSvKTLvIsj2cFWVNsD jw8KEkECysemqePfP1NlYGfixQO9asUaymOZo8W4LBMABw5DsEj02tVn3IZL+tSV6Z5IRRDLrh5 R2r/rsDcAcZePvBwqj2+OX45alhSCqr3hKJmCVn2b+ezC84j+1SnTSemox67rh7xwaqnlsAKHZA 5tGtEy21kmZVJ1FwsMjC41/3JcCZR0IgO9RJ94qCznggzTj7MJzWOtBt3FvdK1pjjmcIQwQN3hG zCvcrAlRq5Yw X-Google-Smtp-Source: AGHT+IGAV/J5KM7v7Wni7fp1uZ+pYkDMllI8brJJEiuS9kBasFE+HHPvZ/3J/t08yxso9/z7RLG2r6gEzhEHY3Z2CjI= X-Received: by 2002:a17:902:e952:b0:262:4878:9dff with SMTP id d9443c01a7336-290273567a8mr226024845ad.12.1760284289952; Sun, 12 Oct 2025 08:51:29 -0700 (PDT) MIME-Version: 1.0 References: <20250924-mq-cake-sub-qdisc-v1-0-43a060d1112a@redhat.com> In-Reply-To: <20250924-mq-cake-sub-qdisc-v1-0-43a060d1112a@redhat.com> From: Jamal Hadi Salim Date: Sun, 12 Oct 2025 11:51:18 -0400 X-Gm-Features: AS18NWCpWejm6_EFikvhcTI51qpJk4bosEjS9lUx2F59P9nxfEvx151uLU4uwVE Message-ID: To: =?UTF-8?B?VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu?= Cc: =?UTF-8?B?VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu?= , Cong Wang , Jiri Pirko , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , =?UTF-8?Q?Jonas_K=C3=B6ppeler?= , cake@lists.bufferbloat.net, netdev@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Message-ID-Hash: ETX4MOQ5IAN7DTXE53SRBXW5ADZLOHYO X-Message-ID-Hash: ETX4MOQ5IAN7DTXE53SRBXW5ADZLOHYO X-MailFrom: jhs@mojatatu.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Subject: [Cake] Re: [PATCH RFC net-next 0/4] Multi-queue aware sch_cake List-Id: Cake - FQ_codel the next generation Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Wed, Sep 24, 2025 at 8:16=E2=80=AFAM Toke H=C3=B8iland-J=C3=B8rgensen 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 Q: Does Eric's riddance of busylock help? cheers, jamal > --- > Jonas K=C3=B6ppeler (1): > net/sched: sch_cake: share shaper state across sub-instances of cak= e_mq > > Toke H=C3=B8iland-J=C3=B8rgensen (3): > net/sched: sch_cake: Factor out config variables into separate stru= ct > net/sched: sch_cake: Add cake_mq qdisc for using cake on mq devices > net/sched: sch_cake: Share config across cake_mq sub-qdiscs > > include/uapi/linux/pkt_sched.h | 2 + > net/sched/sch_cake.c | 635 +++++++++++++++++++++++++++++++++--= ------ > 2 files changed, 514 insertions(+), 123 deletions(-) > --- > base-commit: dc1dea796b197aba2c3cae25bfef45f4b3ad46fe > change-id: 20250902-mq-cake-sub-qdisc-cdf0b59d2fe5 >