Monday, November 13, 2017

PDS 0.98e release

PDS 0.98e is released with the following changes

1. Sync with 4.14 mainline scheduler changes.

This is sync-up release for 4.14. The remain known issue is the task accounting issue reported by Edurado, hopefully be fixed in this release.

Enjoy PDS 0.98e for v4.14 kernel, :)

code are available at
and also

 All-in-one patch is available too.


  1. All-in-one patch fails against 4.14:

    patching file Documentation/scheduler/sched-PDS-mq.txt
    patching file Documentation/sysctl/kernel.txt
    patching file arch/powerpc/platforms/cell/spufs/sched.c
    patching file arch/x86/Kconfig
    Hunk #1 succeeded at 951 (offset 1 line).
    patching file drivers/cpufreq/cpufreq.c
    patching file drivers/cpufreq/cpufreq_conservative.c
    patching file drivers/cpufreq/cpufreq_governor.c
    patching file drivers/cpufreq/cpufreq_ondemand.c
    patching file drivers/cpufreq/intel_pstate.c
    patching file fs/proc/base.c
    Hunk #1 succeeded at 465 (offset 1 line).
    patching file include/linux/init_task.h
    Hunk #1 succeeded at 172 (offset 1 line).
    Hunk #2 succeeded at 221 (offset 1 line).
    Hunk #3 succeeded at 372 (offset 1 line).
    patching file include/linux/ioprio.h
    Hunk #1 succeeded at 52 (offset 1 line).
    patching file include/linux/jiffies.h
    Hunk #1 succeeded at 168 (offset 1 line).
    patching file include/linux/sched.h
    Hunk #1 succeeded at 27 (offset 1 line).
    Hunk #2 succeeded at 540 (offset 1 line).
    Hunk #3 succeeded at 564 (offset 1 line).
    Hunk #4 succeeded at 1143 (offset 1 line).
    patching file include/linux/sched/deadline.h
    Hunk #1 succeeded at 4 (offset 1 line).
    Hunk #2 succeeded at 40 (offset 1 line).
    patching file include/linux/sched/nohz.h
    Hunk #1 succeeded at 6 (offset 1 line).
    patching file include/linux/sched/prio.h
    Hunk #1 succeeded at 20 (offset 1 line).
    patching file include/linux/sched/task.h
    Hunk #1 succeeded at 80 (offset 1 line).
    patching file include/linux/skip_list.h
    patching file include/uapi/linux/sched.h
    Hunk #1 succeeded at 37 (offset 1 line).
    patching file init/Kconfig
    patching file kernel/cgroup/cpuset.c
    patching file kernel/delayacct.c
    patching file kernel/exit.c
    patching file kernel/livepatch/transition.c
    patching file kernel/locking/rtmutex.c
    patching file kernel/sched/Makefile
    Hunk #1 succeeded at 16 (offset 1 line).
    patching file kernel/sched/cpufreq_schedutil.c
    patching file kernel/sched/cputime.c
    patching file kernel/sched/pds.c
    patching file kernel/sched/pds_sched.h
    patching file kernel/sched/sched.h
    Hunk #1 FAILED at 1.
    Hunk #2 succeeded at 2090 (offset 1 line).
    1 out of 2 hunks FAILED -- saving rejects to file kernel/sched/sched.h.rej
    patching file kernel/sched/stats.c
    Hunk #1 succeeded at 23 (offset 1 line).
    Hunk #2 succeeded at 43 (offset 1 line).
    Hunk #3 succeeded at 73 (offset 1 line).
    patching file kernel/sysctl.c
    patching file kernel/time/posix-cpu-timers.c
    Hunk #1 succeeded at 818 (offset 1 line).
    Hunk #2 succeeded at 828 (offset 1 line).
    Hunk #3 succeeded at 840 (offset 1 line).
    Hunk #4 succeeded at 1081 (offset 1 line).
    patching file kernel/trace/trace_selftest.c
    Hunk #1 succeeded at 1041 (offset 1 line).

    1. Sorry, the all-in-one patch file is re-generated and uploaded. Pls fetch it again.

    2. Thanks Alfred... all-in-one patch applied successfully. Building now... Cheers

  2. Thank you Alfred Chen! The subject of the post should be fixed to PDS 0.98e release.

  3. Alfred,

    I've got the following warning on suspend to RAM:

    It corresponds to this code:

    1324 /*
    1325 * Clearly, migrating tasks to offline CPUs is a fairly daft thing.
    1326 */
    1327 WARN_ON_ONCE(!cpu_online(new_cpu));

    Any idea on this?

    1. I've also found some commit in v4.14 that looks related:


      Maybe, this will give you a hint.

    2. Also, easily reproducible with a VM:

    3. Even simpler reproducer:

      No s2ram involved, just offline/online some CPU and get the warning.

    4. This code change is picked up by 4.14 mainline sync-up. Will look into it.

    5. @pf
      Please try below patch(should fix in the code path shown in above oops loga) and catch other oops log if warning still pop up.

    6. Hi, Alfred.

      With this patch I cannot reproduce the issue. Looks like a perfect hit.