Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: $_cpusched Options Cleanup #369

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

feat: $_cpusched Options Cleanup #369

wants to merge 4 commits into from

Conversation

1Naim
Copy link
Member

@1Naim 1Naim commented Dec 30, 2024

This PR moves around some of the options and also removes some in an attempt to clean it up and make it more clear to the user.
This will require changes in the kernel-manager, so this should be merged in parallel with #366 so there wouldn't be double work involved.

Notably, fd701cc (PKGBUILD: Remove cachyos from $cpusched options) removes the longstanding cachyos option that signals the scheduler used in our default kernel. This is such a short-term vision-esqued patch that I'm not really confident about it, and is such a strong contender on getting this dropped from the PR.

In an attempt to correctly classify $_cpusched as strictly CPU schedulers, remove both `rt` and `rt-bore` from $_cpusched
option and move it to $_preempt. In fact, this would be more correct and make more sense, since PREEMPT_RT only makes more
code preemptible compared to PREEMPT and doesn't do anything else special.

One of the blockers for this was sourcing the OOT patches that were needed for the i915 module to be compiled, but
this is not a problem as there is a conditional check for rt to not build zfs.

Signed-off-by: Eric Naim <[email protected]>
@1Naim 1Naim changed the title feat $_cpusched Options Cleanup feat: $_cpusched Options Cleanup Dec 30, 2024
This option served two purposes in the past:
1. <6.6: Chooses BORE+EEVDF+sched-ext, at this time, CFS was still the default scheduler
2. <6.12: Chooses BORE+sched-ext

Now, this option has no difference than `bore` and only serves to confuse the user. This can also help the PKGBUILDs
that have `cachyos-$_cpusched` as suffixes, since unknowingly choosing `cachyos` will lead to a package name of
`linux-cachyos-cachyos`.

Signed-off-by: Eric Naim <[email protected]>
Like the default and handheld kernel, the hardened kernel differs from the other generic cachyos kernels in that it uses
its own special config[1]. This means that you can't reproduce a "proper" hardened kernel by simply choosing the `hardened`
$_cpusched option.

Instead, we should source the patch directly in the main source array, like what we currently do with the handheld patches.
This will be addressed in the coming 6.13 stable sync, where no functional changes are intended so even if hardened still
stays on 6.12, it should be fine.

[1] https://gitlab.archlinux.org/archlinux/packaging/packages/linux-hardened/-/blob/main/config

Signed-off-by: Eric Naim <[email protected]>
This provides an easier way to use the PDS scheduler along with the CachyOS patchset. While it is very likely that we will
not compile this for our repositories, it can be useful for the users that care about PDS.

Signed-off-by: Eric Naim <[email protected]>
@1Naim 1Naim force-pushed the feat/cpusched-bits branch from 26dacdc to 923c329 Compare December 30, 2024 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant