Wednesday, September 20, 2017

PDS 0.98 release

PDS 0.98 is released with the following changes

1. Renamed. As planned, the scheduler is proper described as Priority and Deadline based Skiplist multiple queue Scheduler, in short, PDS-mq or just PDS. Documentation/scheduler/sched-PDS-mq.txt has been added to document the PDS, but it is not finished.
2. Fix UP compilation issue in previous release, reported by jwh7.
3. re-queue task when priority/deadline changed, which fix tasks out of order issue in run queue and cause a WARNING kernel log.
4. Minor code improvements.
5. Skiplist randomization when task burst forking, this help with skiplist level randomization when forking tasks in a very short time frame.

This release is mainly for bug fix and rename. Now there is over 200+ commits for PDS and the scheduler is consider stable in this kernel release, so in next kernel release, it is planned to squash commits into one or just few for better maintenance.

Enjoy the brand new (named) PDS 0.98 for v4.13 kernel, :)

code are available at
https://bitbucket.org/alfredchen/linux-gc/commits/branch/linux-4.13.y-vrq
and also
https://github.com/cchalpha/linux-gc/commits/linux-4.13.y-vrq

(Yes, still use old branch name, will be renamed in 4.14)

 All-in-one patch is available too.


PS:
Found a task deadline level calculation mistaken on a debug load today, please consider to pick up the fix at https://bitbucket.org/alfredchen/linux-gc/commits/543de0b70aed7785c226ad65a39366c80f15711b

14 comments:

  1. @Alfred:
    Thanks for the fixes and improvements. Together with 4.13.3 and all the BFQ fixes provided by Oleksandr's github (I count 46) and a manually fixed TOI, everything works very well on my system. It even already survived one TOI hibernation, although TOI appears quite unreliable atm.

    BR, Manuel Krause

    ReplyDelete
    Replies
    1. @Manuel
      Just want to add that upsteam finally done some thing right to make suspend/resume works reliable in 4.13. I am happy to save some power usage during the night by suspend the system, :)

      Delete
    2. Installed PDS on i7 @ work, ironically I had first suspend/resume failure in a very long time (not less than half a year). After that crash, at least, 4 cycles were successful though.
      Now, I have to find out why. I compiled stuff as usual, except I added 4 patches for BFQ posted on https://groups.google.com/forum/#!topic/bfq-iosched/QmNQQU0kF58 .
      Except that, kernel seems to work fine. Later today I'll finally be adding fast SSD to my Ryzen system, I'll install PDS there, let's see how that turns out :)
      Also I'll install that to my son's computer on older Phenom.
      Will get back with compilation and gaming results.

      Thanks Alfred,
      Eduardo

      Delete
  2. Thanks Alfred! I'm looking forward to trying this out tonight w/ the latest BFQ and linux-block changes. Out of curiosity, if all goes well, will the next release be 1.0, or are you planning more features/changes first? Also, now that PDS has further diverged from the old BFS, could you give a short description of it's key differences (yes I did see sched-PDS-mq.txt in regard to MuQSS' skiplist)? I'm sure many will be curious, plus I'd like to mention this to Michael Larabel too. :-) But if you plan to have this with your other doc updates for the next release, that's fine.

    ReplyDelete
    Replies
    1. I'm a old school guy, so that means no hurry to bump up the version number. ATM, I don't have large feature/changes in the list. Looking forward, there will be some enhancement/clean up in the incoming releases, so they will all be 0.98 series. It's good news, that means stability.
      It is planned to finish the document work before next kernel release, and squashed commits on new git branch, all these would help others to easier understand what this scheduler is.

      Delete
  3. Compiles/boots/works okay for me. Thanks.

    ReplyDelete
  4. @All
    Found a task deadline level calculation mistaken on a debug load today, please consider to pick up the fix at https://bitbucket.org/alfredchen/linux-gc/commits/543de0b70aed7785c226ad65a39366c80f15711b

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. Fyi, I built x64 and x86-UP (including your above patch) on 4.13.4-rc1 (from stable-review); no problem so far. Thanks again

    ReplyDelete
  7. Hi,

    Compiled and using it on i7, Ryzen and Phenom with no visible issues for 2 days.
    Son says this is the best so far, he actually tried to game on stock Ubuntu kernel as a comparison and answer is - pds is the best so far.

    Thanks Alfred,
    Eduardo & Rinaldo

    ReplyDelete
    Replies
    1. @Edurado
      Thanks for testing, and 098a is released, you can give it a try.

      Delete
  8. What tick rate is recommended for this scheduler with a high core system(10) ?

    ReplyDelete
    Replies
    1. Same as mainline scheduler, 1000HZ for Desktop usage.

      Delete
    2. I use with 100 Hz with satisfactory responsiveness.

      Delete