Thursday, August 16, 2018

PDS 0.98v release

PDS 0.98v is released with the following changes

1. Some code refine.
2. Make Batch/Idle tasks less preemptible vs Normal tasks.

With #2, Normal policy tasks should be more responsible when run with Batch/Idle policy tasks. Slight regression has been found for Batch/Idle policy task sanity tests, but they are the design intention of #2.

SMT_NICE will get some love in this kernel release. There will be some SMT_NICE pre-required code changes in next PDS release next week.

Enjoy PDS 0.98v for v4.18 kernel, :)

Code are available at
All-in-one patch is available too.


  1. Builds and boots fine on my hardware. Thanks.

  2. Alfred, just out of curiosity, do you have any plans on implementing at least some some stub for the cgroups CPU controller? zen-kernel guys have just tried to replace MuQSS with PDS-mq, but were pretty disappointed with having docker in a non-usable state. Otherwise, you could easily get a boost in the userbase.

    1. Cgroup is not yet in my working list, I can only work for one feature as a time, SMT_NICE is topic for this kernel cycle in PDS. So maybe in next kernel release, I could find some time to investigate it.
      AFAIK, cgroup in MuQSS just implement the interfaces, not the real functionality. I think you can go ahead and test your porting, see if it full-filled the interface requirement. And it should be a good start point for cgroup investigation.

    2. Yes, the stub from MuQSS works fine with PDS-mq, it seems:

      [~]$ wc -l /sys/fs/cgroup/cpu/tasks
      1089 /sys/fs/cgroup/cpu/tasks

      [~]$ dmesg | grep -m 1 PDS
      [ +0,000000] pds: PDS-mq CPU Scheduler 0.98v by Alfred Chen.

      [~]$ uname -a
      Linux spock 4.18.0-pf4 #1 SMP PREEMPT Tue Aug 21 16:12:32 UTC 2018 x86_64 GNU/Linux

    3. Oleksandr, works fine:

      $ wc -l /sys/fs/cgroup/cpu/tasks
      265 /sys/fs/cgroup/cpu/tasks

      $ dmesg | grep -m 1 PDS
      [ 0.000000] pds: PDS-mq CPU Scheduler 0.98v by Alfred Chen.

      $ uname -a
      Linux archlinux 4.18.5.ll6-0.1-lucjan-git+ #1 SMP PREEMPT Wed Aug 22 22:17:26 CEST 2018 x86_64 GNU/Linux

    4. It will be better to be cover by some other cgroup use cases, eg create another cgroup, etc. Just make sure the stub is completed, even the functionality is not yet be implemented.
      I will consider include this patch into 098x, b/c 098w is done.

  3. I've tried to port cgroup things mechanically from MuQSS:

    It compiles, but I haven't tried to boot it yet.

  4. Compiles and runs fine on Ryzen.
    Still going nohz_full, no downsides to my workload (games, browsing, movies and compiling) at the moment.

    Br, Eduardo

    1. Thanks for your feedback. I think it's good to repare next release.

  5. Anyone else noticed delays while typing text via their keyboard ?

    There seems to be delays with the keys registering.

    Haven't really noticed this before,

    I'm currently trying to figure out what might be the issue - it happens both under load and in idle.

    Just recently migrated to using nohz_full - so that could be it, still need to investigate if my keyboard has issues ...

    Thanks for your work Alfred !

    The system definitely is more snappy under high load, it's especially noticeable with chrome and bookmark handling (bookmarks bar)