Sunday, December 9, 2018

PDS 0.99g release

PDS 0.99g is released with the following changes

1. [Sync] c5511d03ec09 sched/smt: Make sched_smt_present track topology. A lot of changes from mainline in v4.19.7 and the incoming 4.20 kernel release.
2. Fix smt boot up crash. This fix a bug in 0.99f PDS release(not related to mainline code changes), thanks @pf's report and help for debugging.

This is a sync-up and bug-fix release.

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

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

15 comments:

  1. Thank you very much.
    Nice development speed.

    ReplyDelete
    Replies
    1. Also from my side: Many thanks, it works very well for me @4.19.8 !

      BR, Manuel

      Delete
  2. Also works for me on x64 and x86-UP. It seems suspend/resume is broken on the 4.19 kernel for x64; vanilla (Arch) kernel does the same.

    ReplyDelete
  3. Works for me on i7@work, for two days now. Using 250Hz nohz_idle.
    Suspend/resume works for me ~ 7-10 times on dell xps 9550 laptop (Ubuntu).
    Not sure, yet, about sound skipping under load. Will report back on this later.

    Br, Eduardo

    ReplyDelete
    Replies
    1. Yeah, sound skipping is still here :( This time with NOHZ_IDLE (normal) + 250Hz.
      I still need to debug when it started, but that may take some time.

      Br, Eduardo

      Delete
    2. @Eduardo
      Will wait for your further information. Maybe you need to test back to elder kernel release with PDS. Thanks you in advanced.

      Delete
  4. Alfred, could you please also elaborate on this:

    ===
    [~]$ dmesg | grep -i pds
    [ +0,019743] pds: PDS-mq CPU Scheduler 0.99g by Alfred Chen.
    [ +0,002114] pds: cpu #0 affinity check mask - smt 0x00000002
    [ +0,000000] pds: cpu #0 affinity check mask - coregroup 0x0000000e
    [ +0,000000] pds: cpu #1 affinity check mask - smt 0x00000001
    [ +0,000000] pds: cpu #1 affinity check mask - coregroup 0x0000000d
    [ +0,000000] pds: cpu #2 affinity check mask - smt 0x00000008
    [ +0,000000] pds: cpu #2 affinity check mask - coregroup 0x0000000b
    [ +0,000000] pds: cpu #3 affinity check mask - smt 0x00000004
    [ +0,000000] pds: cpu #3 affinity check mask - coregroup 0x00000007
    ===

    Shouldn't coregroup be the same for HT cores that reside on the same physical core? This is the output from 2C/4T CPU. Or my understanding is wrong?

    ReplyDelete
    Replies
    1. @pf
      The latest change about this is at https://gitlab.com/alfredchen/linux-pds/commit/c0ac95da9fe1540e1dc64f746ee7e195e6bd8b63

      In short, "affinity check mask - coregroup" is the the coregroup cpu mask of the given cpu exclude the given cpu itself.

      It looks strange but that's what it designed to be.

      Delete
  5. Alfred,

    I've got this during one of the suspend-resume cycles: https://gist.github.com/fa7abcf1a7b19b5e1839c6145ced4abf

    Only one occurrence so far, and I don't see any consequence. But anyway check it please.

    ReplyDelete
    Replies
    1. FYI, I've also triggered it on demand in a 32 vCPU QEMU VM by just hot unplugging CPUs in a loop: https://gist.github.com/5087807ac5a96f7f2590be86e2ce6658

      Delete
    2. @pf
      Still, it was a bug in 0.99f new code changes, not considering the cpu could going offline. Pls check the fix at
      https://gitlab.com/alfredchen/linux-pds/commit/a473f87a3bd13ca95b3838108aa8f3a2f7e0f8e6

      Delete
    3. The issue is no longer visible with this patch applied, at least, so far.

      Thank you.

      Delete