[ANNOUNCE] linux-7.2-ck1, MuQSS CPU scheduler for linux-7.2
Con Kolivas <[email protected]>
| Newsgroups | gmane.linux.kernel |
|---|---|
| Message-ID | <CABqErrH=oQ3povVuSPhRON97v63=mB85jQmZjf443ofdYAuxxw@mail.gmail.com> |
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. Patchlist: Add -ck1 version. Make nohz_full not be picked up as a default config option and add recommendation to help. Set default Hz to 100 in combination with MuQSS and -ck patches. Make hrtimer granularity and minimum hrtimeout configurable in sysctl. Set default granularity to 100us and min timeout to 500us. Don't use hrtimer overlay when pm_freezing since some drivers still don't correctly use freezable timeouts. Replace all calls to schedule_timeout_uninterruptible to use schedule_msec_hrtimeout_uninterruptible. Replace all calls to schedule_timeout_interruptible to use schedule_msec_hrtimeout_interruptible. Convert msleep to use hrtimers when active. Convert all low value schedule_timeouts to their hrtimeout equivalents. Create highres timeout variants of schedule_timeout functions. Make preemptible kernel default. MultiQueue Skiplist Scheduler v0.31. The patches are kept modular for easy porting to each successive linux kernel version. Out of deference to LKML's signal to noise ratio, please just reply to me without CC'ing the mailing list for any discussion/issues. Enjoy! お楽しみください -ck