PDS 0.98y is released with the following changes
1. Enable SMT_NICE scheduling. Below is the commit msg of this commit
"""
Firstly, look at the kernel compilation test result without(-j4) and with SMT(-j8).
Without SMT(-j4) With SMT(-j8)
4m30s 3m40s
In the scenario IDLE and NORMAL(BATCH,ISO,RT) policy tasks run together,
IDLE tasks can be supressed to run on SMT sibling cpus and let the other
policy tasks run without SMT. In this way, tasks with other policy will
take high priority and completed sooner than run with IDLE tasks on SMT
sibling cpus. This is called the SMT_NICE scheduling.
Below is the test results of SMT_NICE disabled and SMT_NICE enabled.
SMT_NICE disabled SMT_NICE enabled
NORMAL(-j4) 6m56s 5m3s
IDLE(-j4) 7m10s 8m30s
"""
Hopefully this commit can help with who has IDLE task running in the backgroup to improve the fontgroup task interactivity.
Enjoy PDS 0.98y for v4.18 kernel, :)
Code are available at https://gitlab.com/alfredchen/linux-pds.
All-in-one patch is available too.
Compiles/boots OK here, thank you.
ReplyDeleteI also did a brief smoke test with idle-prio'ed git gc/fsck, and nothing strange popped up.
Compiled, booted, run usual tests for games, wine and native, whole day uptime and not a single hickup yet.
ReplyDeleteThanks Alfred.
Br, Eduardo
Works fine here within the pf-kernel.
ReplyDeleteThanks
Regards sysitos
Running 4.18.7-PDSy on the x64 desktop and x86 netbook now; no problems. I was getting cpufreq schedutil errors on the former for a while, don't recall exactly when they started, but they seem to be suddenly gone...
ReplyDeleteOr not...still getting schedutil errors; vanilla kernel is fine. Messages are:
Delete[13.782548] cpufreq_schedutil: sugov_kthread_create: failed to set SCHED_DEADLINE
[13.782549] cpufreq_schedutil: initialization failed (error -22)
[13.782574] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 0 (-22)
Four in succession; anyone using schedutil with PDS? On AMD? An old k8 AMD? :-/
It seems some kernel threads want to run as SCHED_DEADLINE, which is not supported in PDS. Thanks for reporting, I will look into this.
DeleteHi Alfred.
ReplyDeleteI've uploaded throughput results with PDS 0.98y & SMT_NICE enabled.
There is almost no differences between NORMAL, BATCH and IDLE policies.
I guess it is to be expected because I ran my test on a idle system.
Differences would show up if I ran the tests on a already loaded system.
Do you think the runqlat tool from bcc can be used to show the benefit of SMT_NICE on interactivity ?
It runs on PDS, but I don't know if it is working as intended, as it is tied to the scheduler.
I'm thinking of loading my system with a make (NORMAL or IDLE) and then running another NORMAL task and collecting its runqueue times.
Pedro
Runs great! Tyvm.
ReplyDelete