polarathene This patch collection seems to be a byproduct of the custom kernel the repo owner spins for the Archlinux AUR and he has also created custom code & tweaks for this project aswell (ll, lucjan).
When you look into the README.md you can see where the patches are coming from. They are formatted in a way that you can selectively add specific features/fixes/patches of i.e. -pf, -ck, …, or archlinux kernels to a vanilla kernel.org sourcetree. A bit more information can be found on the author's gitlab here and here.
The patches are mostly organized as diffs between the stable kernel releases (5.13, 5.14, etc.) and the develoment branches of the custom kernel projects (linux-next, ProjectC, linux-pf,… the sources mentioned in the readme). LTS versions may get updated patchsets (feature backports) via this repo for longer aswell. You can get them merged into one file to avoid clutter or separately (-sep) if you want to cherry pick for yourself.
Since these development projects (like the ntfs patches or fixes from linux-next) do get updated several times during the lifetime of a stable kernel version or a minor release (i.e. 5.13.X) can make some of the patches obsolete, there are different versions of these patchsets (i.e. ntfs-patches-v1, -v2, -v3 and so on) aswell.
Another reason why old versions of the patchsets are still kept there is that stuff might break or not work as expected (they're mostly using out-of-tree code or stuff that hasn't hit linux-stable, afterall) and it allows you to revert to an earlier version.
Further you can get, say, an AIO patch containing the latest ProjectC version & dev-branch fixes without having to wait for Alfred to publish a new release as an all-in-one-patch. Be aware that lucjan structured the ProjectC patches differently than Alfred to allow for getting new features in older kernel versions (i.e. prjc-5.14 patchset in 5.13 kernels), meaning that they're incremental updates (require previous -v to be merged aswell), which is not the case for i.e. the ntfs and zstd patches.
Alternatively, you can also get the original PDS patches (from before ProjectC) and apply them to a recent kernel. For older kernels, there are also the original BMQ patches. That's the reason why they're listed separately from each other. The original PDS patchset is what was formerly known as "undead PDS" or PDS-mq and was offered a long time for TKglitch custom kernels.
The lru patches might be interesting for some very specific users as they are used to build realtime-capable (fully preemptible w/ latency guarantees) kernels.
My picked the following patches: I used this repo to get some of the XFS and memory management fixes expected to land with linux-5.15 even before 5.14 stable was released, got a feature that preserves some more memory pages to avoid UI stalling when I use up all my RAM when compiling big stuff, some more block device tuning for SSDs and lower CPU utilization under heavy IO, a security tweak + other misc. stuff like more complete zstd support within the kernel. Then I added ProjectC from Alfred's gitlab (for which I may get updates from lucjan, should I want to stay on 5.13), pulled futex, fsync2 and winesync patches from TKglitch's repo for better Proton support and got the patch for generating cpu-specific optimized kernel code from graysky for a general performance boost.
I hope this answered your questions to a satisfying degree, cheers.
When you look into the README.md you can see where the patches are coming from. They are formatted in a way that you can selectively add specific features/fixes/patches of i.e. -pf, -ck, …, or archlinux kernels to a vanilla kernel.org sourcetree. A bit more information can be found on the author's gitlab here and here.
The patches are mostly organized as diffs between the stable kernel releases (5.13, 5.14, etc.) and the develoment branches of the custom kernel projects (linux-next, ProjectC, linux-pf,… the sources mentioned in the readme). LTS versions may get updated patchsets (feature backports) via this repo for longer aswell. You can get them merged into one file to avoid clutter or separately (-sep) if you want to cherry pick for yourself.
Since these development projects (like the ntfs patches or fixes from linux-next) do get updated several times during the lifetime of a stable kernel version or a minor release (i.e. 5.13.X) can make some of the patches obsolete, there are different versions of these patchsets (i.e. ntfs-patches-v1, -v2, -v3 and so on) aswell.
Another reason why old versions of the patchsets are still kept there is that stuff might break or not work as expected (they're mostly using out-of-tree code or stuff that hasn't hit linux-stable, afterall) and it allows you to revert to an earlier version.
Further you can get, say, an AIO patch containing the latest ProjectC version & dev-branch fixes without having to wait for Alfred to publish a new release as an all-in-one-patch. Be aware that lucjan structured the ProjectC patches differently than Alfred to allow for getting new features in older kernel versions (i.e. prjc-5.14 patchset in 5.13 kernels), meaning that they're incremental updates (require previous -v to be merged aswell), which is not the case for i.e. the ntfs and zstd patches.
Alternatively, you can also get the original PDS patches (from before ProjectC) and apply them to a recent kernel. For older kernels, there are also the original BMQ patches. That's the reason why they're listed separately from each other. The original PDS patchset is what was formerly known as "undead PDS" or PDS-mq and was offered a long time for TKglitch custom kernels.
The lru patches might be interesting for some very specific users as they are used to build realtime-capable (fully preemptible w/ latency guarantees) kernels.
My picked the following patches: I used this repo to get some of the XFS and memory management fixes expected to land with linux-5.15 even before 5.14 stable was released, got a feature that preserves some more memory pages to avoid UI stalling when I use up all my RAM when compiling big stuff, some more block device tuning for SSDs and lower CPU utilization under heavy IO, a security tweak + other misc. stuff like more complete zstd support within the kernel. Then I added ProjectC from Alfred's gitlab (for which I may get updates from lucjan, should I want to stay on 5.13), pulled futex, fsync2 and winesync patches from TKglitch's repo for better Proton support and got the patch for generating cpu-specific optimized kernel code from graysky for a general performance boost.
I hope this answered your questions to a satisfying degree, cheers.
Comment