From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; dkim=pass header.d=toke.dk; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=toke.dk policy.dmarc=reject From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=toke.dk; s=20161023; t=1759255246; bh=qX0cC0YQzh2//2d92Ld0BTJgOaVPDSBeYNwadt7ShuE=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=Pdtsyhbw2hhDR0OYiktwY1d9W+Z9JLTAfDMcJX5/oyFWZrf8eWy3bv5rbwSLF6Sj3 rrczT0bfUxmSi6tH/Sv5uGcUyoy91QHRaaBf8CdrNs78DznlnGLQ/Y0DNb5sZP+Q7P 8oyiJrMUS4CzNX5bJtxGdz9y7tpwYLwddmgwNcZaOBNaBSVf6ZXLM+5ZRojKrnSSd7 ClXAUzn+uDupgg/1ixZCC4y3sMXlvfqClSDrAe51RSD52Nhejl3GHjmBlCuQ1dH5Y2 vi/es4bCwv1B3zb0kxpRjLXZxsdm/Z7MTy+5T1iAS4dcnhJxwfL4BP3Dmjt/nfGCZp 2UcBsmTRsARjQ== To: David Lang , Sebastian Moeller Cc: David Lang , Jonathan Morton , cake@lists.bufferbloat.net In-Reply-To: <47onq471-4q1p-029n-s77p-q420sp0396o5@ynat.uz> References: <47onq471-4q1p-029n-s77p-q420sp0396o5@ynat.uz> Date: Tue, 30 Sep 2025 20:00:44 +0200 X-Clacks-Overhead: GNU Terry Pratchett Message-ID: <87ecrnn7lf.fsf@toke.dk> MIME-Version: 1.0 Content-Type: text/plain Message-ID-Hash: QLLXNANKI4AGNEJJ5FBWFJW576M6RGHI X-Message-ID-Hash: QLLXNANKI4AGNEJJ5FBWFJW576M6RGHI X-MailFrom: toke@toke.dk 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: help request for cake on a large network List-Id: Cake - FQ_codel the next generation Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: David Lang writes: > Sebastian Moeller wrote: > >> Hi David, >> >> >>> On 30. Sep 2025, at 14:37, David Lang wrote: >>> >>> Jonathan Morton wrote: >>> >>>> On Sunday, 28 September 2025, David Lang wrote: >>>>> I'm starting to prepare for the next Scale conference and we are switching from >>>>> Juniper routers to Linux routers. This gives me the ability to implement cake. >>>>> >>>>> One problem we have is classes that tell everyone 'go download this' that >>>>> trigger hundreds of people to hammer the network at the same time (this is both >>>>> a wifi and a network bandwidth issue, wifi is being worked on) >>>>> >>>>> The network is pretty flat, a couple of subnets each on ipv4 and ipv6. >>>>> >>>>> Any suggestions on how to configure cake for this sort of environment where >>>>> there are so many devices? >>>> >>>> So far as Cake is concerned, the normal setup should work fine even under stress conditions. If there are too many simultaneous flows to achieve full flow isolation, it degrades gracefully to statistical multiplexing, and you still have the AQM working to keep everything responsive. Or rather, a thousand AQMs working in parallel... >>> >>> what would need to be done to increase resources to allow for full isolation of more flows? >> >> I believe editing net/sched/sch_cake.c and increase the number of CAKE_QUEUES: >> #define CAKE_QUEUES (1024) >> >> to something larger... >> >> however I do not know what a realistic maximum is... and IIRC cake will search through this repeatedly, 1024 is one full memory page (4k pages) anything larger will require multiple pages (likely as single contiguous allocation). I remember dimmly someone ages ago playing with this and finding that the number can be increased, but not arbitrarily so at least on your typical somewhat memory-poor router. But that should be easy to figure out. > > In this case, we are using Ryzon systems with at least 32G of ram (need to look > up the detailed specs) Other than the memory usage, the number of queues are constrained by the need to avoid overflows. Also, it has to be a power of 2. Anything up to 0x8000 (32k) should be fine, AFAICT from a quick glance through the code... -Toke