Wednesday, 10 June 2020

linux-5.7-ck1, MuQSS version 0.202 for linux-5.7

Announcing a new -ck release, 5.7-ck1  with the latest version of the Multiple Queue Skiplist Scheduler, version 0.202. These are patches designed to improve system responsiveness and interactivity with specific emphasis on the desktop, but configurable for any workload.

linux-5.7-ck1:
-ck1 patch:
Git tree:
MuQSS only:
Download:
Git tree:
Web: http://kernel.kolivas.org

This release is a minor bugfix and resync from 5.6-ck2.
Enjoy!
お楽しみ下さい
-ck

23 comments:

  1. Thank you very much.

    ReplyDelete
  2. Hi CK. I am getting this error when building. Did you miss a resync?

    ...
    GEN .version
    CHK include/generated/compile.h
    LD vmlinux.o
    MODPOST vmlinux.o
    MODINFO modules.builtin.modinfo
    GEN modules.builtin
    LD .tmp_vmlinux.btf
    ld: drivers/thermal/cpufreq_cooling.o: in function `cpufreq_set_cur_state':
    /scratch/linux-ck/src/linux-5.7.1/drivers/thermal/cpufreq_cooling.c:458: undefined reference to `arch_set_thermal_pressure'
    BTF .btf.vmlinux.bin.o
    tag__check_id_drift: subroutine_type id drift, core_id: 1129, btf_type_id: 1127, type_id_off: 0
    libbpf: Unsupported BTF_KIND:0
    btf_elf__encode: btf__new failed!
    free(): double free detected in tcache 2
    scripts/link-vmlinux.sh: line 114: 3291862 Aborted (core dumped) LLVM_OBJCOPY=${OBJCOPY} ${PAHOLE} -J ${1}
    LD .tmp_vmlinux.kallsyms1
    .btf.vmlinux.bin.o: file not recognized: file format not recognized
    make: *** [Makefile:1117: vmlinux] Error 1

    ReplyDelete
    Replies
    1. https://git.archlinux.org/svntogit/packages.git/tree/trunk/config?h=packages/linux

      Delete
    2. Thanks. I'm not sure if you use git, but I've pushed a simple fix for that build issue to the git tree for both muqss and -ck.

      Delete
    3. Thanks, CK. I applied that patch and the build completed successfully.

      https://aur.archlinux.org/cgit/aur.git/commit/?h=linux-ck&id=2b6a356337429a433f3cc364ed071a8d29e44397

      Delete
  3. CK - Is cpufreq_cooling.c missing that function as suggested by several users of the linux-ck package?

    https://gitlab.com/alfredchen/linux-bmq/-/commit/ad9eb862e06f395e846a2f2e084e5b0e7eb9ca4b

    ReplyDelete
  4. Thank you for the update. No issues here.

    ReplyDelete
  5. Hello.
    And someone has been conducting tests recently between the MuQSS and the CFS?

    ReplyDelete
  6. Hola Con; thank you for your work

    Would you expect isolcpus to work against this muqss release?

    isolcpus=11-14,27-30 nohz_full=11-14,27-30 rcu_nocbs=11-14,27-30

    carves a hole in my resources when using a stock kernel, but I am not seeing the same scheduling hole when using 5.7-ck.

    ReplyDelete
    Replies
    1. Probably not. I haven't paid much attention to enterprisey features short of making them compile in when demanded by userspace.

      Delete
    2. Hi Con, what about adding stubs for setting cfs_quota_us for docker? I got an issue recently for Liquorix that Pterodactyl doesn't start with MuQSS. The software tries to always set cfs_quota_us even if it doesn't exist:

      https://github.com/damentz/liquorix-package/issues/34

      Delete
  7. Building 5.7.6 with patch-5.7-ck1 I get:
    error: include/uapi/linux/sched.h: leak CONFIG_SCHED_MUQSS to user-space
    make[6]: *** [scripts/Makefile.headersinst:63: usr/include/linux/sched.h] Error 1
    make[6]: *** Waiting for unfinished jobs....
    make[5]: *** [Makefile:1234: headers] Error 2

    ReplyDelete
    Replies
    1. Same on building 5.4.49 with patch-5.4-ck1 :(

      Delete
    2. Didn't test yet myself, but this should fix it:
      https://github.com/zen-kernel/zen-kernel/commit/6aefea555ae66883483540d43c2024acecf61599

      Delete
  8. I can confirm that
    https://github.com/zen-kernel/zen-kernel/commit/6aefea555ae66883483540d43c2024acecf61599
    fixes the issue. Thanks

    ReplyDelete
  9. With kernel 5.7 I can't suspend my laptop to ram. The suspend procedure gets stuck, the screen goes off but the laptop is not suspended (the fans keeps spinning etc.). A hard reset is necessary. The log stops at:

    giu 28 16:34:24 stryke systemd[1]: Reached target Sleep.
    giu 28 16:34:24 stryke systemd[1]: Starting Suspend...
    giu 28 16:34:24 stryke systemd-sleep[1522]: Suspending system...
    giu 28 16:34:24 stryke kernel: PM: suspend entry (deep)

    With stock kernel it works as expected.
    My system is Archlinux with linux-ck-skylake 5.7.6-2 from graysky's repo-ck.

    ReplyDelete
    Replies
    1. Check zen kernel's 5.7/muqss branch here:

      https://github.com/zen-kernel/zen-kernel/commits/5.7/muqss

      It's currently untested, but "muqss: Revert invocation of "finish_cpu" when offlining core" should fix the issue. Worst case, you can revert "sched/core: Fix illegal RCU from offline CPUs" entirely.

      Delete
    2. Thanks, but I'm not very comfortable in patching&building the kernel. In any case, if these are known regressions then are they going to be fixed in mainline ck patchset? If yes then I'll simply wait for a new release.

      Delete
    3. That's up to Con. I'll revisit this thread once I release a new update to Liquorix and let you know if the patch solves the issue.

      And like I mentioned, you can just straight up revert the commit that introduced the bug. That's the easiest and most straightforward change that fixes suspend.

      Delete
    4. I released a new Liquorix kernel today for 5.7.7, the updated workaround that reverts the invocation for finish_cpu on MuQSS works. I'm able to suspend and resume without a hitch.

      Delete
  10. Same here with Arch Linux and kernel 5.7; laptop is not able to resume from suspend. There is nothing in logs.

    ReplyDelete
    Replies
    1. Check zen kernel's 5.7/muqss branch here:

      https://github.com/zen-kernel/zen-kernel/commits/5.7/muqss

      It's currently untested, but "muqss: Revert invocation of "finish_cpu" when offlining core" should fix the issue. Worst case, you can revert "sched/core: Fix illegal RCU from offline CPUs" entirely.

      Delete