Friday, November 23, 2018

PDS 0.99e release

PDS 0.99e is released with the following changes

1. Fix sched_fork() time slice fairness. Simplify the code and fairness first.
2. Refine take_other_rq_task() code path.
3. Remove cpumask_weight() in best_mask_cpu().

This release includes minor changes. It's good to have such small change release before the big one.

Enjoy PDS 0.99e for v4.19 kernel, :)

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


  1. @Alfred:
    Somehow the top page's link to this topic is inactive? So do several areas of your posting, not selectable.

    The new code "e" itself runs well on here.

    BR, Manuel

    1. Tested it myself. It should worked.

    2. Ah, o.k., thank you for checking, then I say sorry for bothering. Error on my side :-(
      (Off topic info: Since some days I'm using a different ad blocker than ABP as that got worse to configure recently. Seems that uBlock Origin's default settings destroy blogspot's page display. Disabling it for blogspot shows everything correctly.)

      BR, Manuel

  2. Builds and works fine, again. Thx Alfred.

  3. @Alfred,

    I can confirm that 0.99e compiles and works fine on Ryzen@home and i7@work. Games, browsing and compilations work fine.

    BUT on i7@work there is still an issue with sound skipping when using heavy java apps, it seems that for LO document saving problem is gone. I can test that rather reliably, I just start JDeveloper and I have noticeable crackling. This is on 4.19.5 + 0.99e + nohz_full + 250Hz. Problem is not present in MUQSS with the same kernel + 100Hz, but I don't use nohz_full there.
    If remember correctly, this started about the time You started scheduling changes.

    If I'll be able, I'll test this without nohz_full.
    The thing is that even more distros start to use nohz_full as default kernel, like Fedora (I think it was one of the first), CentOS, RedHat, ArchLinux... So it seems I'm not really alone in full tickless :)

    BR, Eduardo

    1. I do not use JDeveloper, but i game using wine, and that has sometimes been a "crackle-fest" when using default Ubuntu kernel. Cant say i am really troubled with this anymore using PDS scheduler.
      I do not run CONFIG_NO_HZ_FULL, but regular CONFIG_NO_HZ_IDLE, and I use CONFIG_HZ=1000.

      Have tried to do comparisons between 100-500-1000hz, but it is no definite answer to that i am afraid, but TO ME i have the feeling that 1000hz is slightly more responsive. I can do a make -j12 while gaming on my i7 8700K with it still being usable. And i kinda believe wine with its possibly weird threading model, nVidia with its "THREADED_OPTIMIZATIONS" and now vulkan..

      Was under the understanding that NO_HZ_FULL was kinda for "special" applications that dont use massive threads and stuff? JDeveloper might ofc be one of those?

    2. @Eduardo
      I'm lucky having no project needs java so I can't test it on my site. And I don't have any idea why it happens just by go through the code.
      If you confirm that it doesn't happen in previous pds release. It will be nice if you can trace back to which release and which commit introduce this issue. It will give the best clue which part to look into.