Frogging-Family / linux-tkg

linux-tkg custom kernels
GNU General Public License v2.0
1.32k stars 163 forks source link

Missing CPU schedulers on older versions. #635

Closed TheBill2001 closed 1 year ago

TheBill2001 commented 1 year ago

There is already a report about missing schedulers on 6.0.x at #631 and I understand the reason. However, as I choose an older version like v5.15.76, the only scheduler available is CFS. Does this suppose to happen?

Screenshot_20221031_050326

Screenshot_20221031_050405

Tk-Glitch commented 1 year ago

No that's not supposed to happen. I also cannot reproduce the issue on my end, neither with an empty _cpusched variable nor with it set to pds. I also tested an incorrect value to trigger the "not available" prompt (in case the issue came from the formatting in your .cfg), but got correct fallback listing as well 🤔 :

  -> Defaulting to Archlinux target

  -> Which kernel version do you want to install?
        0) v6.1-rc3
      > 1) v6.0.6
        2) v5.15.76
        3) v5.10.152
        4) v5.4.221
        5) Another (no longer maintained upstream)
[0-5]: 2
    Selected: v5.15.76
==> WARNING: Your cpusched selection ( test ) is not available for the selected kernel version.
==> WARNING: Please select another
  -> Which CPU sched variant do you want to build/install?
  -> Project C (pds) / BMQ (bmq) is usually a good balance for gaming.
  -> Select "cfs" (linux kernel's default) if unsure.
      > 0) Project C / PDS
        1) Project C / BMQ
        2) CacULE
        3) TT (TaskType)
        4) CFS (Completely Fair Scheduler) Linux kernel's default
[0-4]:

The check is defined here: https://github.com/Frogging-Family/linux-tkg/blob/a380d532bc85013c120b1d689a07367afc0e026b/linux-tkg-config/prepare#L272-303 Your issue could be due to _kver going wrong I guess. Now why it's going wrong would be the thing to find.

TheBill2001 commented 1 year ago

After diffing my config with customization.cfg and testing each option, I found the issue occur if _preempt_rt is set. I set it to test it when 6.0.0 was new and I had to switch back to CFS. From the warning, I thought that if I chose a different scheduler then that option would be ignored. Seem like that is not the case.

Tk-Glitch commented 1 year ago

Oh yeah that option enforces CFS only as it's not compatible with most alternative cpuscheds (I guess BORE would be the exception).

Alastair0100 commented 1 year ago

it seems BFQ is supported too https://aur.archlinux.org/packages/linux-rt-bfq-dev

ptr1337 commented 1 year ago

it seems BFQ is supported too https://aur.archlinux.org/packages/linux-rt-bfq-dev

bfq is a disk I/O Scheduler...