Skip to content

Commit

Permalink
Prepare for final 6.9 Release
Browse files Browse the repository at this point in the history
Signed-off-by: Peter Jung <[email protected]>
  • Loading branch information
ptr1337 committed May 10, 2024
1 parent 9561889 commit 0bfe0a6
Show file tree
Hide file tree
Showing 27 changed files with 976 additions and 13,777 deletions.
26 changes: 12 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,23 +25,14 @@ The Schedulers listed below are supported

## linux-cachyos
We have provided all these CPU schedulers because each scheduler performs differently depending on usage. We recommend testing each one to determine which best suits your specific requirements.
- **([BORE](https://github.com/firelzrd))** **Burst-Oriented Response Enhancer** Scheduler by [firelzrd (BORE)](https://github.com/firelzrd/bore-scheduler) `linux-bore` / `linux-cachyos-bore` / `linux-cachyos`
- **([BORE](https://github.com/firelzrd))** **Burst-Oriented Response Enhancer** Scheduler by [firelzrd (BORE)](https://github.com/firelzrd/bore-scheduler) `linux-bore` / `linux-cachyos-bore`
- **([EEVDF](https://lwn.net/Articles/927530/))** **Earliest Eligible Virtual Deadline** - `linux-cachyos-eevdf`
- **([SCHED-EXT](https://lwn.net/Articles/922405/))** **BPF extensible scheduler class** - `linux-cachyos-sched-ext`
- **([SCHED-EXT](https://lwn.net/Articles/922405/))** **BPF extensible scheduler class** - `linux-cachyos-sched-ext` / `linux-cachyos-sched-ext-debug`
- **([ECHO](https://github.com/hamadmarri))** **Enhanced CPU Handling Orchestrator** Scheduler by [Hamad Marri](https://github.com/hamadmarri) - `linux-cachyos-echo`

#### CachyOS default kernel
> - **([SCHED-EXT](https://lwn.net/Articles/922405/))** **BPF extensible scheduler class** - `linux-cachyos`
### :books: Archived schedulers
- **CacULE and CacULE-RDB** by Hamad Marri, supported by CachyOS in the past as - `linux-cachyos-cacule`
***ATTENTION:** Not supported after version 6.1. If you still want to use it, you can get it from the archive repository - [linux-cacule](https://github.com/ptr1337/linux-cacule)*
- **(CFS) - Standard Scheduler Completely Fair Scheduler** - `linux-cachyos-cfs`
- **(BMQ) - BitMap Queue** by Alfred Chen - `linux-cachyos-bmq`
- **(PDS) - Priority and Deadline based Skiplist multiple queue** by Alfred Chen - `linux-cachyos-pds`
- **(TT) - Task Type** Scheduler by [Hamad Marri](https://github.com/hamadmarri/TT-CPU-Scheduler) - `linux-cachyos-tt` / `linux-tt`
***ATTENTION:** Not supported after version 6.6.*

> The CachyOS repositories provide prebuilt kernels in three different march versions: `x86-64`, `x86-64-v3`, and `x86-64-v4`. In addition, the repositories also offer LTO-enabled kernels.
## Features
Expand All @@ -50,7 +41,7 @@ Here is a list of features of Linux kernels prebuilt in the CachyOS repositories
- Very customizable PKGBUILD with many features and improvements.
- `GCC/CLANG` Optimization with automatically found CPU architecture or also selectable CPU architecture.
- Choose between `LLVM/LTO & Thin-LTO` or `GCC`.
- Choose between 300Hz, 500Hz, 600 Hz ,750Hz and 1000Hz. Defaults to 500Hz
- Choose between 300Hz, 500Hz, 600 Hz ,750Hz and 1000Hz. Defaults to 1000Hz
- Kernel Control Flow Integrity (kCFI) selectable when using `LLVM`

### :abacus: CPU enhancements
Expand All @@ -59,9 +50,8 @@ Here is a list of features of Linux kernels prebuilt in the CachyOS repositories
- SCHED-EXT Schedulers prebuilt in the repository # https://lwn.net/Articles/922405/ - `linux-cachyos` and `linux-cachyos-sched-ext`
- Cachy Sauce (CONFIG_CACHY), enables various tweaks for the scheduler and other settings
### :bookmark_tabs: Filesystem & memory
- Latest BTRFS/XFS/EXT4 improvements & fixes
- ZFS Filesystem Support and prebuilt in the repository
- NVIDIA Module Support - Build the nvidia module together with the kernel
- NVIDIA Module Support including patches - Build the nvidia module together with the kernel
- Latest & improved ZSTD 1.5.6 patch-set
- UserKSM daemon from pf
- Improved BFQ Scheduler
Expand All @@ -75,6 +65,13 @@ Here is a list of features of Linux kernels prebuilt in the CachyOS repositories
- Scheduler patches from linux-next/tip
- OpenRGB and ACS Override support
- AMD: Allow override of min_powercap with `amdgpu_ignore_min_pcap`
- Steam Deck Patches included - Audi, HW Quirks, HID
- Rog Ally patches included
- v4l2loopback modules as default included
- HDR support enabled
- Various GCC Optimization flags applied (`-fivopts -fmodulo-sched`)
- NTSync patched and integrated into the kernel (`NTSYNC=y`)
- VRR fixes for AMD GPU's

# [CachyOS repositories](https://mirror.cachyos.org/)
The repositories contain both Arch Linux and CachyOS packages, which have been re-built with flags optimized for performance, stability, and security.
Expand Down Expand Up @@ -265,6 +262,7 @@ Just follow this [README](https://github.com/chaotic-cx/nyx#how-to-use-it)

## Support
**Discord:** <https://discord.gg/cachyos-862292009423470592> <br />
**Forum:** <https://discuss.cachyos.org> <br />
**Telegram:** <https://t.me/+zCzPX4cAFjk1MTYy> <br />
**Matrix:** <https://matrix.cachyos.org> <br />

Expand Down
59 changes: 11 additions & 48 deletions linux-bore/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ _cachy_config=${_cachy_config-y}
# ATTENTION - only one of the following values can be selected:
# 'bore' - select 'Burst-Oriented Response Enhancer'
# 'hardened' - select 'BORE Scheduler hardened' ## kernel with hardened config and hardening patches with the bore scheduler
# 'cachyos' - select 'EEVDF-BORE Variant Scheduler'
# 'cachyos' - select 'Sched-Ext Scheduler Framework Variant Scheduler'
# 'eevdf' - select 'EEVDF Scheduler'
# 'rt' - select EEVDF, but includes a series of realtime patches
# 'rt-bore' - select Burst-Oriented Response Enhancer, but includes a series of realtime patches
Expand Down Expand Up @@ -82,20 +82,6 @@ _tickrate=${_tickrate-full}
## Choose between full(low-latency), voluntary or server
_preempt=${_preempt-full}

### Enable multigenerational LRU
# ATTENTION - one of three predefined values should be selected!
# 'standard' - enable multigenerational LRU
# 'stats' - enable multigenerational LRU with stats
# 'none' - disable multigenerational LRU
_lru_config=${_lru_config-standard}

### Enable per-VMA locking
# ATTENTION - one of three predefined values should be selected!
# 'standard' - enable per-VMA locking
# 'stats' - enable per-VMA locking with stats
# 'none' - disable per-VMA locking
_vma_config=${_vma_config-standard}

### Transparent Hugepages
# ATTENTION - one of two predefined values should be selected!
# 'always' - always enable THP
Expand All @@ -115,9 +101,9 @@ _damon=${_damon-}
# - "native_intel" (use compiler autodetection and will prompt for P6_NOPS - Selecting your arch manually in the list above is recommended instead of this option)
# - "generic" (kernel's default - to share the package between machines with different CPU µarch as long as they are x86-64)
#
# Or use the _use_auto_optimization with _use_auto_optimization=y
_processor_opt=${_processor_opt-}

# This does automatically detect your supported CPU and optimizes for it
_use_auto_optimization=${_use_auto_optimization-y}

# Clang LTO mode, only available with the "llvm" compiler - options are "none", "full" or "thin".
Expand Down Expand Up @@ -158,18 +144,18 @@ elif [ -n "$_use_llvm_lto" ] || [[ "$_use_lto_suffix" = "n" ]]; then
pkgsuffix=${_cpusched}
pkgbase=linux-$pkgsuffix
fi
_major=6.8
_minor=9
_major=6.9
_minor=0
#_minorc=$((_minor+1))
#_rcver=rc8
pkgver=${_major}.${_minor}
_stable=${_major}.${_minor}
#_stable=${_major}
#_stable=${_major}.${_minor}
_stable=${_major}
#_stablerc=${_major}-${_rcver}
_srcname=linux-${_stable}
#_srcname=linux-${_major}
pkgdesc='Linux EEVDF-BORE scheduler Kernel by CachyOS with other patches and improvements'
pkgrel=4
pkgdesc='Linux BORE + Cachy Sauce scheduler Kernel by CachyOS with other patches and improvements'
pkgrel=1
_kernver=$pkgver-$pkgrel
arch=('x86_64' 'x86_64_v3')
url="https://github.com/CachyOS/linux-cachyos"
Expand Down Expand Up @@ -216,9 +202,8 @@ fi

## List of CachyOS schedulers
case "$_cpusched" in
cachyos) ## SCHED-EXT + BORE Scheduler
source+=("${_patchsource}/sched/0001-sched-ext.patch"
"${_patchsource}/sched/0001-bore-cachy-ext.patch");;
cachyos) # CachyOS Scheduler (Sched-ext + Cachy Sauce)
source+=("${_patchsource}/sched/0001-sched-ext.patch");;
bore) ## BORE Scheduler
source+=("${_patchsource}/sched/0001-bore-cachy.patch");;
echo) ## ECHO Scheduler
Expand Down Expand Up @@ -289,7 +274,7 @@ prepare() {
[ -z "$_cpusched" ] && _die "The value is empty. Choose the correct one again."

case "$_cpusched" in
cachyos) scripts/config -e SCHED_CLASS_EXT -e SCHED_BORE;;
cachyos) scripts/config -e SCHED_CLASS_EXT;;
bore|hardened) scripts/config -e SCHED_BORE;;
echo) scripts/config -e ECHO_SCHED;;
eevdf) ;;
Expand Down Expand Up @@ -422,29 +407,7 @@ prepare() {
--set-str DEFAULT_TCP_CONG bbr
fi

### Select LRU config
[ -z "$_lru_config" ] && _die "The value is empty. Choose the correct one again."

case "$_lru_config" in
standard) scripts/config -e LRU_GEN -e LRU_GEN_ENABLED -d LRU_GEN_STATS;;
stats) scripts/config -e LRU_GEN -e LRU_GEN_ENABLED -e LRU_GEN_STATS;;
none) scripts/config -d LRU_GEN;;
*) _die "The value '$_lru_config' is invalid. Choose the correct one again.";;
esac

echo "Selecting '$_lru_config' LRU_GEN config..."

### Select VMA config
[ -z "$_vma_config" ] && _die "The value is empty. Choose the correct one again."

case "$_vma_config" in
standard) scripts/config -e PER_VMA_LOCK -d PER_VMA_LOCK_STATS;;
stats) scripts/config -e PER_VMA_LOCK -e PER_VMA_LOCK_STATS;;
none) scripts/config -d PER_VMA_LOCK;;
*) _die "The value '$_vma_config' is invalid. Choose the correct one again.";;
esac

echo "Selecting '$_vma_config' PER_VMA_LOCK config..."

### Select THP
[ -z "$_hugepage" ] && _die "The value is empty. Choose the correct one again."
Expand Down
Loading

0 comments on commit 0bfe0a6

Please sign in to comment.