From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4AD43397B02 for ; Sat, 22 Aug 2026 14:21:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787408507; cv=none; b=Gx6c59dTiGo72nJhC8KafwDLAW5SKFRCVRojMEJb1wlRSIasXEbUVD+Be7jhOAEV6f0m9u9U20vtV6XRmHop6LOPdklS4/1qjJmyUqHE6LKoMi6YEMuZRATDhyBjGAAOuDFX7H9G5gQERSHtZoNy8r2SaA5k3zr4SACxl++eRdU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787408507; c=relaxed/simple; bh=G0eOQ3AXutRzhAAo+NAeTfCVqXCxVg+JGLyJg0qXB9w=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=qNLxMwDrms6KLjSHAaBlu03ar8Scht870P7dT/e3BF2I6LxzfAP0bveCnMF7KcbQC+kUKygNyztSgiVxkN+VSuKHxQTiZl6lFzB61J4rCKY5XhELd7T0LVEuyn9xr7P5YbkGzu1njyjTibXfv00hdN86zY0Lhq+WZ61OdbVaQ8s= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 808E21F000E9; Sat, 22 Aug 2026 14:21:45 +0000 (UTC) Date: Sat, 22 Aug 2026 10:21:38 -0400 From: Steven Rostedt To: Con Kolivas Cc: linux-kernel Subject: Re: [ANNOUNCE] linux-7.2-ck1, MuQSS CPU scheduler for linux-7.2 Message-ID: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Mon, Aug 17, 2026 at 12:32:43PM +1000, Con Kolivas wrote: > Announcing the return of the first stable version of my out-of-tree > patchset - not for mainline inclusion consideration. > > Tag: > https://github.com/ckolivas/linux/releases/tag/v7.2-ck1 > Tree: > https://github.com/ckolivas/linux/tree/7.2-ck > > The -ck patchset aims to improve desktop/mobile device responsiveness, > interactivity, and gaming, mostly by replacing the CPU scheduler > en-bloc with my EEVDF, configurable runqueue sharing, MultiQueue > Skiplist Scheduler. > > It's been 10 years since I originally abandoned the patchset for time > reasons, but LLMs have made merging and development infinitely easier. > > Changes since the last publicly announced release are features I > planned years ago and never implemented that are new: > I/O aware CPU scheduling which accounts reads and writes to the calling task. > Kthread work on behalf of a calling task is accounted back to that task. > P/E core aware load balancing. > Skiplist structure size minimisation & micro-optimisations. > The mother of all resyncs to bring it up to 7.2. > Numerous bugfixes. > > Note: Scheduler CGROUPs remain no-op stubs as they are largely unused > in the target environments and would require massive amounts of code > to support. > Hi Con, Thank you for doing this. I'm actually trying to implement "Scheduler Governors"[1][2]. Back in 2023 when I was working on the Google ChromeOS team, we were looking for ways to improve our desktop performance. We had several benchmarks that we used. One was to run Google Meet with 16 users while typing in a Google Doc. This was fully automated (the test would simulate active users). We measured mouse jank and latency (key press, how long the screen would react after the mouse would move over a window, etc). We tested out your last MuQSS scheduler that you posted. It did extremely well. So much so, the tester wanted to push it upstream (I had to tell him about the history and that wasn't possible). But it did get me thinking. I found that trying to have one scheduler to handle multiple environments wasn't optimal. I would like to have different schedulers for different environments (one for phones, one for desktops, one for servers). I would use your MuQSS scheduler as the desktop governor. I recently received a grant on using Anthropic's max claude for 6 months (pretty much unlimited tokens) to do this. Peter Zijlstra hates this idea, but I want to do this and see if it is indeed an improvement. If anything, I'm hoping to improve the scheduler and perhaps with enough evidence it may be something to consider implementing upstream. -- Steve [1] https://lwn.net/Articles/1020596/ [2] https://docs.google.com/presentation/d/1dtm0AiiTI30gTFeKj95vmSyirYmk5_QiR_lh17l_Moo/edit?usp=sharing