Sunday, November 11, 2018

PDS 0.99d release

PDS 0.99d is released with the following changes

1. Rework SCHED_ISO support. Based on the limitation of the user land tools, for example, schedtool only support ISO tasks with priority specified, there is not big change for ISO. But this rework remove the "iso_cpu" kernel parameter. The logic behind this is, if your ISO task breaks the system, this parameter doesn't help(much), and if your ISO task runs well, you don't need to adjust this parameter. So, to keep the code simple, it has been removed.
2. UP compilation fix. Thanks jwh7's reporting. For the incoming release, I will do at least one UP compilation per kernel release cycle to prevent UP compilation breaks again.

This release includes the rest part of task policy support review in PDS. Now I am working on overhead cutting by cleaning up/reworking some balance code path. The next PDS release will be about two weeks later.

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

Code are available at https://gitlab.com/alfredchen/linux-pds
All-in-one patch is available too.

14 comments:

  1. Builds and boots fine as usual.

    Tested with sched_iso (schedtool -I) and Unigine Valley benchmark through wine w/dxvk (d3d11 -> Vulkan). Had the same "random 1 second freeze" as 0.99c + i got a "soft lockup - CPU#9 stuck for 22s!" until i killed that.

    This soft lockup MIGHT be just a random happening, but sched_iso is not usable atm for wine+dxvk. Not really sure if its just me, as i use a custom compiled 4.19.1 kernel w/1000hz so it could be just something strange. However the last "sched_iso" bug report here indicated nVidia to be a possible culprit (nVidia GTX970 w/396.54.9 driver here).

    ReplyDelete
    Replies
    1. As I said, not every task(s) is suitable to run at ISO, as system tasks are at NORMAL, it's a global system planning about tasks priority in a system that running.From scheduler itself, it can't do anything to change it.
      So, if the tasks not suitable to run at ISO, bring them back to NORMAL.

      Delete
    2. True :)

      I've been testing -ck kernel a bit with MuQSS, and there is no freeze or soft lockup with sched_iso when i do wine benchies so far. Running with the same 4.19.2 kernel and mostly the same .config xept for ofc the MuQSS spesific options, and for me a change from 1000hz -> 100hz.

      But i am not sure if MuQSS and -ck patchset has seen any "changes" other than rebases for 4.19 kernel tho? Will keep testing.

      Delete
    3. @Sveinar
      Pls feel free to continue your tests. And BTW, there may be difference between MuQSS and PDS in ISO, and ISO handling in PDS has been simplified in 099c. I have a draft idea to improve ISO support, but it wouldn't happen till pending tasks are finished.

      Delete
    4. Looking forward to next version thats for sure Alfred :)

      Also seem there are stuff happening regarding that horrible "STIBP Patch" that was backported to 4.19.2. Im back to 4.19.1 atm tho. Some reads on lkml indicate Linus was not too happy with the solution.

      There seem to be a couple of patchsets in the brew that will kinda make this "on demand" thing, but some also talks about using the scheduler intelligently to determine if this process should use it.. Stuff like that.

      Any thoughts or insights?

      Delete
  2. Hi,

    Compiles, boots and works fine here for a day on Ryzen@home and i7@work.

    I don't know exactly why, but 4.19 + pds099c behave strange on my i7 (on Ryzen it's fine for gaming, compilations and web), it froze up couple of times, music skips while saving libreoffie docs etc., not very bad, but annoying. I don't know whether it's 4.19 or pds.
    I'll try to observe whether 099d behaves the same or will see whether 4.18 + pds does better (maybe smth else changed).
    I have no time at the moment to debug this and compare to vanilla etc. or other versions, deadlines on every project I'm working on. So I'll do minimum to get rid of problem currently. Do any of You have smth similar?

    BR, Eduardo

    ReplyDelete
    Replies
    1. @Alfred, I tested MUQSS and sound problem is not present there. It kinda seems to me that when tasks need a quick and short CPU time, PDS is not giving that exactly.
      Still, is anyone else experiencing this? Alfred, can You look into this, is this expected or is this a side effect of SCHED changes?

      BR, Eduardo

      Delete
    2. @Eduardo
      Pls try the fairness fix in 099e and see if it helps?

      Delete
  3. Builds and works fine (4.19.2). Thx Alfred

    ReplyDelete
  4. Built x64 and x86-UP the other night, and updated the Eee701 netbook yesterday; running great! Thanks Alfred

    ReplyDelete
  5. Are there any binary kernel builds for ubuntu armv7l with PDS?

    ReplyDelete
    Replies
    1. My raspberry pi2 is running with PDS scheduler 7*24.

      Delete
    2. I meant a package. Building the kernel on a raspberry pi takes a long time. But maybe I should look in to cross compiling.

      Delete