Tuesday, 5 May 2020

linux-5.6-ck2, MuQSS version 0.2 for linux-5.6

Announcing a new -ck release, 5.6-ck2  with the latest version of the Multiple Queue Skiplist Scheduler, version 0.2. These are patches designed to improve system responsiveness and interactivity with specific emphasis on the desktop, but configurable for any workload. This is a maintenance release to address a build failure on -ck1 when built with full dynticks, and fix some cosmetic CPU load accounting issues. Upgrading is not required unless you are affected by the aforementioned issues or are rebuilding for a new stable release. It's worth pointing out that changing the reported load might have repercussions with how CPU frequency scaling behaves.



linux-5.6-ck2:
-ck2 patch:

Git tree:

MuQSS only:
Download:
Git tree:
Web: http://kernel.kolivas.org


As an aside, it has been brought to my attention that the MESA code uses SCHED_IDLEPRIO for what it considers low priority threads. In the mainline kernel this only makes them lower priority than regular tasks, but on MuQSS which has true idle scheduling, it can potentially lead to stalls under conditions of load. Once a thread has stalled for an extended time, it is possible that it will not progress normally depending on how the code expects to run. This could lead to GUI stalls in applications that use MESA, of which there are quite a few now, such as firefox. I've been considering submitting a change to the MESA code in the hope they approach this differently, but I am a pragmatist and expect the turnaround time and acceptability of the changes may be drawn out and unsatisfactory. So I am considering alternatively softening the idle scheduling and making it configurable to behave more like mainline's by default and optionally be set to be true idle scheduling. In the meantime, I've prepared some hacked mesa packages for those on ubuntu 20.04 variants that disable this behaviour, but this is a cludge only for the time being:

mesa-ubuntu20.04 packages

Here is a much better patch for Mesa that converts threads to nice 19 SCHED_BATCH instead:

0001-Linux-Change-minimum-priority-threads-from-SCHED_IDL.patch


 Enjoy!
お楽しみ下さい
-ck

Tuesday, 28 April 2020

linux-5.6-ck1, MuQSS version 0.199 for linux-5.6

Announcing a new -ck release, 5.6-ck1  with the latest version of the Multiple Queue Skiplist Scheduler, version 0.199. These are patches designed to improve system responsiveness and interactivity with specific emphasis on the desktop, but configurable for any workload. Since MuQSS has reached version 0.199, I'm left wondering what I should make the next version. As it is likely to be just as trivial an update as this one was, version 0.200 will not actually be a significant update to some new fancy scheduler, it will just coincidentally bump the minor  version up. That said, MuQSS has been stable for a very long time so I should have bumped it to version 1.0 quite a while back.

linux-5.6-ck1:
-ck1 patch:
Git tree:
MuQSS only:
Download:
Git tree:
Web: http://kernel.kolivas.org

This is a resync from 5.5-ck1.

Enjoy!
お楽しみ下さい
-ck

Friday, 10 April 2020

Covid-19 Delays

As you've probably gathered, I've been preoccupied with Covid-19 issues delaying any attempt to stay in sync with the latest kernel. I didn't even know there was a new one till recently.

Here's what I've been busy with:

https://www.abc.net.au/news/2020-04-06/doctors-designing-medical-equipment-to-face-coronavirus-covid-19/12120588

I'll be back when things stop being so crazy.

お大事にしてください
Please take care,
-ck

Tuesday, 4 February 2020

linux-5.5-ck1, MuQSS version 0.198 for linux-5.5

Announcing a new -ck release, 5.5-ck1  with the latest version of the Multiple Queue Skiplist Scheduler, version 0.198. These are patches designed to improve system responsiveness and interactivity with specific emphasis on the desktop, but configurable for any workload.

linux-5.5-ck1:
-ck1 patch:
Git tree:
MuQSS only:
Download:
Git tree:
Web: http://kernel.kolivas.org
This is a resync from 5.4-ck1, with some minor tidying and fixes.

Enjoy!
お楽しみ下さい
-ck