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.
Thank you very much.
ReplyDeleteNice development speed.
Also from my side: Many thanks, it works very well for me @4.19.8 !
DeleteBR, Manuel
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.
ReplyDeleteWorks for me on i7@work, for two days now. Using 250Hz nohz_idle.
ReplyDeleteSuspend/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
Yeah, sound skipping is still here :( This time with NOHZ_IDLE (normal) + 250Hz.
DeleteI still need to debug when it started, but that may take some time.
Br, Eduardo
@Eduardo
DeleteWill wait for your further information. Maybe you need to test back to elder kernel release with PDS. Thanks you in advanced.
Thanks and welcome ;).
ReplyDeleteAlfred, could you please also elaborate on this:
ReplyDelete===
[~]$ 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?
@pf
DeleteThe 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.
OK, thanks for confirming.
DeleteAlfred,
ReplyDeleteI'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.
@pf
DeleteThanks. Will look into it.
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@pf
DeleteStill, 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
The issue is no longer visible with this patch applied, at least, so far.
DeleteThank you.