Friday, May 22, 2020

Project C announcement

BMQ scheduler has been development for more than one year. And it has accomplished the ambition when it was setup to be. As a simple scheduler, BMQ is now stable for several kernel release and less feature is added from release to release. It is now in maintenance mode.

When searching for idea about cpu scheduling, PDS, which has been exiled since BMQ, is still the most potential one, and the one most close to BMQ(in code level and performance level). Several very early improvement idea has been drafted after the reviewing of the latest PDS(kernel 5.0). So, PDS will be picked up again, and it is going to share same code base of BMQ. That comes Project C.

Project C ambitions
1. Based on BMQ code base, provide common alternative cpu scheduler code for linux kernel.
2. Provide single patch set for BMQ and PDS, switch at kernel configuration.
3. Maintenance BMQ
4. Continuous improvement on PDS till it enter maintenance mode.

Here is the recent Project C planing in the incoming kernel release cycle
5.7   Refactor BMQ into Project C infrastructure. 
5.8   Recreate PDS based on Project C code base.
5.9   PDS beta.
5.10 PDS official release.
5.11 PDS continuous improvement. 

Project C has no deadline defined, but may last for a year.

And the last thing, C for "Cross".


  1. Great news! PDS showed some really impressive results in the past (and still does with unofficial TK-GLitch's port).
    Speaking of future there might be some challenge with schedutil support. Currently it doesn't work correctly/overactive with MuQSS, BMQ and PDS. But at some point it may replace other cpufreq governors (ondemand, convervative) [ ]

    1. It's better to open ticket in bug report, describe what's the wrong behaviors with BMQ and what behaviors is expected. And how schedutil is setup to be used will be appreciated.

    2. I couldn't find a bug report on gitlab. I'm interested in trying BMQ but I was wondering if anyone else reported issues with schedutil?

  2. Very nice.
    I missed PDS scheduler.

  3. Thank you for everything you do Alfred!

  4. Alfred please add in this prpject sched optimize for server and networking