Monday, September 17, 2018

PDS 0.98z release

PDS 0.98z is released with the following changes

1. Fix and improvement in the previous release.
2. Re-mapping SCHED_DEADLINE to SCHED_FIFO, which fix cpufreq_schedutil create kernel thread as SCHED_DEADLINE(thanks jwh7 for reporting)

This is a bug fix release. I'd like to let PDS stable for awhile in the incoming releases.

Enjoy PDS 0.98z for v4.18 kernel, :)

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

13 comments:

  1. Built and installed fine for x64, but still getting the same messages:
    =====
    $ dmesg |grep -e PDS -e cpufreq
    [ 0.000000] pds: PDS-mq CPU Scheduler 0.98z by Alfred Chen.
    [ 13.811218] cpufreq_schedutil: sugov_kthread_create: failed to set SCHED_DEADLINE
    [ 13.811219] cpufreq_schedutil: initialization failed (error -22)
    [ 13.811244] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 0 (-22)


    Let me know if you need me to check anything; here are some config params (note I expanded some of the schedutil stuff in trying to troubleshoot this):
    =====
    $ zcat /proc/config.gz|grep -e CPU.*FREQ -e DEADLINE -e FIFO
    # CONFIG_IOSCHED_DEADLINE is not set
    # CONFIG_MQ_IOSCHED_DEADLINE is not set
    CONFIG_ACPI_CPU_FREQ_PSS=y
    CONFIG_CPU_FREQ=y
    CONFIG_CPU_FREQ_GOV_ATTR_SET=y
    CONFIG_CPU_FREQ_STAT=y
    # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
    # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
    # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
    # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
    # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
    CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
    CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
    # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
    # CONFIG_CPU_FREQ_GOV_USERSPACE is not set
    # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
    # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
    CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
    CONFIG_X86_PCC_CPUFREQ=m
    CONFIG_X86_ACPI_CPUFREQ=m
    CONFIG_X86_ACPI_CPUFREQ_CPB=y
    CONFIG_NET_SCH_FIFO=y
    # CONFIG_PARPORT_PC_FIFO is not set


    Thanks Alfred!

    ReplyDelete
    Replies
    1. s:schedutil:cpufreq: stuff...

      Delete
    2. This comment has been removed by the author.

      Delete
    3. @jwh7
      In my previous test, I haven't noticed fast_switch enabled and thread is not created in my machine.
      Pls try fix commit at https://gitlab.com/alfredchen/linux-pds/commit/4f431cdc66a8700629b607d1eec381e85130b2e1
      This should fix your issue.

      Delete
    4. Right on man; working now;
      ===
      $ echo "---";ls -A /sys/devices/system/cpu/cpufreq/policy0/|grep scaling_[cdgm]|sed s:^.*\ ::;echo "---";sudo cat /sys/devices/system/cpu/cpufreq/policy0/scaling_[cdgm]*
      ---
      scaling_cur_freq
      scaling_driver
      scaling_governor
      scaling_max_freq
      scaling_min_freq
      ---
      2500000
      powernow-k8
      schedutil
      2500000
      1000000

      Delete
    5. @jwh7
      why so complicated, if a simple grep does the job better?

      root# grep . /sys/devices/system/cpu/cpufreq/policy0/scaling_[cdgm]*

      /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq:1345852
      /sys/devices/system/cpu/cpufreq/policy0/scaling_driver:intel_pstate
      /sys/devices/system/cpu/cpufreq/policy0/scaling_governor:powersave
      /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq:3500000
      /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq:800000

      Regards sysitos

      Delete
    6. Its (the expansion of...) an alias I use to output in a format used for spreadsheet data. :-)

      I now have .99z running 4.18.9 on my old Eee701 netbook; x86 UP, overclocked to 990 Mhz :-| Thanks again Alfred!

      Delete
  2. Thanks. Runs good but I think y patch is more responsive/faster.

    ReplyDelete
  3. Tested again, y is much faster.

    ReplyDelete
    Replies
    1. Is "faster" quantifiable number or faster is the "feeling" about system response?
      Both of them are ok, but still, it will be good to know...

      BR,
      Eduardo

      Delete
    2. From my sanity tests, not much difference between y and z. :)

      Delete
    3. System responsivity on my latency tuned system is much faster on the y one.

      Delete
    4. Unless real measurements are provided, this is a cheap talk.

      Delete