Bump to 6.0

Signed-off-by: Piotr Gorski <lucjan.lucjanov@gmail.com>
This commit is contained in:
Piotr Gorski 2022-10-04 15:55:52 +02:00
parent 818db97448
commit fa091a453e
No known key found for this signature in database
GPG key ID: 79AFA05ABDB26C5A
4 changed files with 11757 additions and 227 deletions

View file

@ -1,6 +1,6 @@
pkgbase = linux-cachyos pkgbase = linux-cachyos
pkgdesc = Linux BORE scheduler Kernel by CachyOS with other patches and improvements pkgdesc = Linux BORE scheduler Kernel by CachyOS with other patches and improvements
pkgver = 5.19.12 pkgver = 6.0.0
pkgrel = 1 pkgrel = 1
url = https://github.com/CachyOS/linux-cachyos url = https://github.com/CachyOS/linux-cachyos
arch = x86_64 arch = x86_64
@ -21,16 +21,20 @@ pkgbase = linux-cachyos
makedepends = make makedepends = make
makedepends = patch makedepends = patch
options = !strip options = !strip
source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.19.12.tar.xz source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.0.tar.xz
source = config source = config
source = config-rt
source = auto-cpu-optimization.sh source = auto-cpu-optimization.sh
source = https://raw.githubusercontent.com/cachyos/kernel-patches/master/5.19/all/0001-cachyos-base-all.patch source = https://raw.githubusercontent.com/cachyos/kernel-patches/master/6.0/all/0001-cachyos-base-all.patch
source = https://raw.githubusercontent.com/cachyos/kernel-patches/master/5.19/sched/0001-bore.patch source = https://raw.githubusercontent.com/cachyos/kernel-patches/master/6.0/sched/0001-bore.patch
sha256sums = c436a548c7312ce6fc5a3472cbead895eef8f52841fbe7c71fd8e48bdfe2b0ba source = https://raw.githubusercontent.com/cachyos/kernel-patches/master/6.0/misc/0001-Add-latency-priority-for-CFS-class.patch
sha256sums = c4543a2528981a6c4be7b368f3648995823ab9a1060afd7b51d06c9d377ad7fa sha256sums = 5c2443a5538de52688efb55c27ab0539c1f5eb58c0cfd16a2b9fbb08fd81788e
sha256sums = 545f9592ac0bb2959de4799133c53d79c9e2bd3f226804e92693a2e2c20d724a
sha256sums = f0e02c04001b39a79344a114daceda589658f79035ad8d912c3d3528c13d35ca
sha256sums = e1d45b5842079a5f0f53d7ea2d66ffa3f1497766f3ccffcf13ed00f1ac67f95e sha256sums = e1d45b5842079a5f0f53d7ea2d66ffa3f1497766f3ccffcf13ed00f1ac67f95e
sha256sums = efc09a728da21b8a9e068696c26e334d9fa950ad2e165cbd8a695f1897089da5 sha256sums = 8513b07315568e8c8cdd0790778bda3a4eb5e2cf4f585662fdd8bccbe331a40f
sha256sums = d116f6c42583c6e81914c5184fd89ad888403e54bad1ec3359051ddf36ae3b33 sha256sums = b487eeabfe71624d89ba4efd5dcdf83f9eb5d0406af43310400035a7060cecd0
sha256sums = d4b3fc8b159fd1445e34066c6a61bc73249b3733807cb63750e65561f6fa8bc0
pkgname = linux-cachyos pkgname = linux-cachyos
pkgdesc = The Linux BORE scheduler Kernel by CachyOS with other patches and improvements kernel and modules pkgdesc = The Linux BORE scheduler Kernel by CachyOS with other patches and improvements kernel and modules

115
PKGBUILD
View file

@ -7,7 +7,7 @@
# ATTENTION - one of two predefined values should be selected! # ATTENTION - one of two predefined values should be selected!
# 'yes' - enable CachyOS config # 'yes' - enable CachyOS config
# 'no' - disable CachyOS config # 'no' - disable CachyOS config
_cachy_config='yes' _cachy_config=${_cachy_config-'yes'}
### Selecting the CPU scheduler ### Selecting the CPU scheduler
# ATTENTION - one of seven predefined values should be selected! # ATTENTION - one of seven predefined values should be selected!
@ -19,27 +19,27 @@ _cachy_config='yes'
# 'cfs' - select 'Completely Fair Scheduler' # 'cfs' - select 'Completely Fair Scheduler'
# 'tt' - select 'Task Type Scheduler by Hamad Marri' # 'tt' - select 'Task Type Scheduler by Hamad Marri'
# 'hardened' - select 'BORE Scheduler hardened' ## kernel with hardened config and hardening patches with the bore scheduler # 'hardened' - select 'BORE Scheduler hardened' ## kernel with hardened config and hardening patches with the bore scheduler
_cpusched='bore' _cpusched=${_cpusched-'bore'}
### BUILD OPTIONS ### BUILD OPTIONS
# Set these variables to ANYTHING that is not null to enable them # Set these variables to ANYTHING that is not null to enable them
### Tweak kernel options prior to a build via nconfig ### Tweak kernel options prior to a build via nconfig
_makenconfig= _makenconfig=${_makenconfig-}
### Tweak kernel options prior to a build via menuconfig ### Tweak kernel options prior to a build via menuconfig
_makemenuconfig= _makemenuconfig=${_makemenuconfig-}
### Tweak kernel options prior to a build via xconfig ### Tweak kernel options prior to a build via xconfig
_makexconfig= _makexconfig=${_makexconfig-}
### Tweak kernel options prior to a build via gconfig ### Tweak kernel options prior to a build via gconfig
_makegconfig= _makegconfig=${_makegconfig-}
# NUMA is optimized for multi-socket motherboards. # NUMA is optimized for multi-socket motherboards.
# A single multi-core CPU actually runs slower with NUMA enabled. # A single multi-core CPU actually runs slower with NUMA enabled.
# See, https://bugs.archlinux.org/task/31187 # See, https://bugs.archlinux.org/task/31187
_NUMAdisable=y _NUMAdisable=${_NUMAdisable-}
# Compile ONLY used modules to VASTLYreduce the number of modules built # Compile ONLY used modules to VASTLYreduce the number of modules built
# and the build time. # and the build time.
@ -49,62 +49,62 @@ _NUMAdisable=y
# This PKGBUILD read the database kept if it exists # This PKGBUILD read the database kept if it exists
# #
# More at this wiki page ---> https://wiki.archlinux.org/index.php/Modprobed-db # More at this wiki page ---> https://wiki.archlinux.org/index.php/Modprobed-db
_localmodcfg= _localmodcfg=${_localmodcfg-}
# Use the current kernel's .config file # Use the current kernel's .config file
# Enabling this option will use the .config of the RUNNING kernel rather than # Enabling this option will use the .config of the RUNNING kernel rather than
# the ARCH defaults. Useful when the package gets updated and you already went # the ARCH defaults. Useful when the package gets updated and you already went
# through the trouble of customizing your config options. NOT recommended when # through the trouble of customizing your config options. NOT recommended when
# a new kernel is released, but again, convenient for package bumps. # a new kernel is released, but again, convenient for package bumps.
_use_current= _use_current=${_use_current-}
### Enable KBUILD_CFLAGS -O3 ### Enable KBUILD_CFLAGS -O3
_cc_harder=y _cc_harder=${_cc_harder-y}
### Set this to your number of threads you have in your machine otherwise it will default to 128 ### Set this to your number of threads you have in your machine otherwise it will default to 128
_nr_cpus= _nr_cpus=${_nr_cpus-}
### Set performance governor as default ### Set performance governor as default
_per_gov=y _per_gov=${_per_gov-y}
### Enable TCP_CONG_BBR2 ### Enable TCP_CONG_BBR2
_tcp_bbr2=y _tcp_bbr2=${_tcp_bbr2=y}
### Running with a 1000HZ, 750Hz, 600 Hz, 500Hz, 300Hz, 250Hz and 100Hz tick rate ### Running with a 1000HZ, 750Hz, 600 Hz, 500Hz, 300Hz, 250Hz and 100Hz tick rate
_HZ_ticks=750 _HZ_ticks=${_HZ_ticks-750}
## Choose between perodic, idle or full ## Choose between perodic, idle or full
### Full tickless can give higher performances in various cases but, depending on hardware, lower consistency. ### Full tickless can give higher performances in various cases but, depending on hardware, lower consistency.
_tickrate=full _tickrate=${_tickrate-full}
## Choose between full(low-latency), voluntary or server ## Choose between full(low-latency), voluntary or server
_preempt=full _preempt=${_preempt-full}
### Disable MQ-Deadline I/O scheduler ### Disable MQ-Deadline I/O scheduler
_mq_deadline_disable=y _mq_deadline_disable=${_mq_deadline_disable-y}
### Disable Kyber I/O scheduler ### Disable Kyber I/O scheduler
_kyber_disable=y _kyber_disable=${_kyber_disable-y}
### Enable multigenerational LRU ### Enable multigenerational LRU
# ATTENTION - one of three predefined values should be selected! # ATTENTION - one of three predefined values should be selected!
# 'standard' - enable multigenerational LRU # 'standard' - enable multigenerational LRU
# 'stats' - enable multigenerational LRU with stats # 'stats' - enable multigenerational LRU with stats
# 'none' - disable multigenerational LRU # 'none' - disable multigenerational LRU
_lru_config='standard' _lru_config=${_lru_config-'standard'}
### Enable per-VMA locking ### Enable per-VMA locking
# ATTENTION - one of three predefined values should be selected! # ATTENTION - one of three predefined values should be selected!
# 'standard' - enable per-VMA locking # 'standard' - enable per-VMA locking
# 'stats' - enable per-VMA locking with stats # 'stats' - enable per-VMA locking with stats
# 'none' - disable per-VMA locking # 'none' - disable per-VMA locking
_vma_config='standard' _vma_config=${_vma_config-'standard'}
## Enable DAMON ## Enable DAMON
_damon= _damon=${_damon-}
## Enable Linux Random Number Generator ## Enable Linux Random Number Generator
_lrng_enable=y _lrng_enable=${_lrng_enable-y}
# CPU compiler optimizations - Defaults to prompt at kernel config if left empty # CPU compiler optimizations - Defaults to prompt at kernel config if left empty
# AMD CPUs : "k8" "k8sse3" "k10" "barcelona" "bobcat" "jaguar" "bulldozer" "piledriver" "steamroller" "excavator" "zen" "zen2" "zen3" # AMD CPUs : "k8" "k8sse3" "k10" "barcelona" "bobcat" "jaguar" "bulldozer" "piledriver" "steamroller" "excavator" "zen" "zen2" "zen3"
@ -115,15 +115,15 @@ _lrng_enable=y
# - "generic" (kernel's default - to share the package between machines with different CPU µarch as long as they are x86-64) # - "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 # Or use the _use_auto_optimization with _use_auto_optimization=y
_processor_opt= _processor_opt=${_processor_opt-}
_use_auto_optimization=y _use_auto_optimization=${_use_auto_optimization-y}
# disable debug to lower the size of the kernel # disable debug to lower the size of the kernel
_disable_debug=y _disable_debug=${_disable_debug-y}
## Enable zram/zswap ZSTD compression ## Enable zram/zswap ZSTD compression
_zstd_compression=y _zstd_compression=${_zstd_compression-y}
### Selecting the ZSTD kernel and modules compression level ### Selecting the ZSTD kernel and modules compression level
# ATTENTION - one of two predefined values should be selected! # ATTENTION - one of two predefined values should be selected!
@ -131,12 +131,12 @@ _zstd_compression=y
# 'normal' - standard compression ratio # 'normal' - standard compression ratio
# WARNING: the ultra settings can sometimes # WARNING: the ultra settings can sometimes
# be counterproductive in both size and speed. # be counterproductive in both size and speed.
_zstd_level_value='normal' _zstd_level_value=${_zstd_level_value-'normal'}
# Clang LTO mode, only available with the "llvm" compiler - options are "no", "full" or "thin". # Clang LTO mode, only available with the "llvm" compiler - options are "no", "full" or "thin".
# "full: uses 1 thread for Linking, slow and uses more memory, theoretically with the highest performance gains." # "full: uses 1 thread for Linking, slow and uses more memory, theoretically with the highest performance gains."
# "thin: uses multiple threads, faster and uses less memory, may have a lower runtime performance than Full." # "thin: uses multiple threads, faster and uses less memory, may have a lower runtime performance than Full."
_use_llvm_lto= _use_llvm_lto=${_use_llvm_lto-}
# KCFI is a proposed forward-edge control-flow integrity scheme for # KCFI is a proposed forward-edge control-flow integrity scheme for
# Clang, which is more suitable for kernel use than the existing CFI # Clang, which is more suitable for kernel use than the existing CFI
@ -147,13 +147,17 @@ _use_llvm_lto=
# you can find a patched llvm-git in the cachyos-repo's. # you can find a patched llvm-git in the cachyos-repo's.
# The packagename is called "llvm-kcfi" # The packagename is called "llvm-kcfi"
# ATTENTION!: This is very experimental and could fail and the compilation or have other bugs in the kernel # ATTENTION!: This is very experimental and could fail and the compilation or have other bugs in the kernel
_use_kcfi= _use_kcfi=${_use_kcfi-}
# Build the zfs module builtin in to the kernel # Build the zfs module builtin in to the kernel
_build_zfs= _build_zfs=${_build_zfs-}
# Enable bcachefs # Enable bcachefs
_bcachefs= _bcachefs=${_bcachefs-}
# Enable RT kernel
# Only works for CFS Scheduler and BORE Scheduler
_rtkernel=${_rtkernel-}
# Enable NEST # Enable NEST
# NEST is a experimental cfs scheduler you can find more about here: # NEST is a experimental cfs scheduler you can find more about here:
@ -163,7 +167,7 @@ _bcachefs=
# taskset -c $THREADS application # taskset -c $THREADS application
# example: taskset -c 0-23 application # example: taskset -c 0-23 application
# ATTENTION!:Just works together with the BORE Scheduler and CFS Scheduler # ATTENTION!:Just works together with the BORE Scheduler and CFS Scheduler
_nest= _nest=${_nest-}
# Enable LATENCY NICE # Enable LATENCY NICE
# Latency nice is a approach to sets latency-nice as a per-task attribute # Latency nice is a approach to sets latency-nice as a per-task attribute
@ -174,7 +178,7 @@ _nest=
# You need to configure ananicy-cpp for this or use existing settings # You need to configure ananicy-cpp for this or use existing settings
# If you want to test it, use the following branch # If you want to test it, use the following branch
# https://gitlab.com/ananicy-cpp/ananicy-cpp/-/tree/feature/latency-nice # https://gitlab.com/ananicy-cpp/ananicy-cpp/-/tree/feature/latency-nice
_latency_nice= _latency_nice=${_latency_nice-y}
if [ -n "$_use_llvm_lto" ]; then if [ -n "$_use_llvm_lto" ]; then
pkgsuffix=cachyos-lto pkgsuffix=cachyos-lto
@ -184,13 +188,13 @@ else
pkgsuffix=cachyos pkgsuffix=cachyos
pkgbase=linux-$pkgsuffix pkgbase=linux-$pkgsuffix
fi fi
_major=5.19 _major=6.0
_minor=12 _minor=0
#_minorc=$((_minor+1)) #_minorc=$((_minor+1))
#_rcver=rc8 #_rcver=rc8
pkgver=${_major}.${_minor} pkgver=${_major}.${_minor}
_stable=${_major}.${_minor} #_stable=${_major}.${_minor}
#_stable=${_major} _stable=${_major}
#_stablerc=${_major}-${_rcver} #_stablerc=${_major}-${_rcver}
_srcname=linux-${_stable} _srcname=linux-${_stable}
#_srcname=linux-${_major} #_srcname=linux-${_major}
@ -220,12 +224,12 @@ fi
_patchsource="https://raw.githubusercontent.com/cachyos/kernel-patches/master/${_major}" _patchsource="https://raw.githubusercontent.com/cachyos/kernel-patches/master/${_major}"
source=( source=(
"https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.xz" "https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.xz"
"config" "config" "config-rt"
"auto-cpu-optimization.sh" "auto-cpu-optimization.sh"
"${_patchsource}/all/0001-cachyos-base-all.patch") "${_patchsource}/all/0001-cachyos-base-all.patch")
## ZFS Support ## ZFS Support
if [ -n "$_build_zfs" ]; then if [ -n "$_build_zfs" ]; then
source+=("git+https://github.com/openzfs/zfs.git#commit=979fd5a434ebc422c02dec5deddd485ce6127fc5") source+=("git+https://github.com/openzfs/zfs.git#commit=6a6bd493988c75331deab06e5352a9bed035a87d")
fi fi
## BMQ Scheduler ## BMQ Scheduler
if [ "$_cpusched" = "bmq" ]; then if [ "$_cpusched" = "bmq" ]; then
@ -270,6 +274,10 @@ fi
if [ -n "$_bcachefs" ]; then if [ -n "$_bcachefs" ]; then
source+=("${_patchsource}/misc/0001-bcachefs-after-lru.patch") source+=("${_patchsource}/misc/0001-bcachefs-after-lru.patch")
fi fi
## rt kernel
if [ -n "$_rtkernel" ]; then
source+=("${_patchsource}/misc/0001-rt-rc.patch")
fi
## NEST Support ## NEST Support
if [ -n "$_nest" ]; then if [ -n "$_nest" ]; then
if [[ "$_cpusched" = "bore" || "$_cpusched" = "cfs" || "$_cpusched" = "hardened" ]]; then if [[ "$_cpusched" = "bore" || "$_cpusched" = "cfs" || "$_cpusched" = "hardened" ]]; then
@ -306,7 +314,11 @@ prepare() {
done done
echo "Setting config..." echo "Setting config..."
cp ../config .config if [ -n "$_rtkernel" ]; then
cp ../config-rt .config
else
cp ../config .config
fi
### Select CPU optimization ### Select CPU optimization
if [ -n "$_processor_opt" ]; then if [ -n "$_processor_opt" ]; then
@ -338,6 +350,17 @@ prepare() {
exit exit
fi fi
### Selecting proper RT config
if [ -n "$_rtkernel" ]; then
echo "Setting proper RT config"
scripts/config --disable RCU_NOCB_CPU_CB_BOOST \
--enable RCU_NOCB_CPU_DEFAULT_ALL \
--enable HZ_1000 \
--set-val HZ 1000 \
--enable PREEMPT_RT \
--enable PREEMPT_LAZY
fi
### Selecting the CPU scheduler ### Selecting the CPU scheduler
if [ "$_cpusched" = "bmq" ]; then if [ "$_cpusched" = "bmq" ]; then
echo "Selecting BMQ CPU scheduler..." echo "Selecting BMQ CPU scheduler..."
@ -593,7 +616,7 @@ prepare() {
--set-str DEFAULT_TCP_CONG bbr2 --set-str DEFAULT_TCP_CONG bbr2
fi fi
### Select LRU config ### Select LRU config
if [ "$_lru_config" = "standard" ]; then if [ "$_lru_config" = "standard" ]; then
echo "Enabling multigenerational LRU..." echo "Enabling multigenerational LRU..."
scripts/config --enable LRU_GEN \ scripts/config --enable LRU_GEN \
@ -999,8 +1022,10 @@ for _p in "${pkgname[@]}"; do
}" }"
done done
sha256sums=('c436a548c7312ce6fc5a3472cbead895eef8f52841fbe7c71fd8e48bdfe2b0ba' sha256sums=('5c2443a5538de52688efb55c27ab0539c1f5eb58c0cfd16a2b9fbb08fd81788e'
'c4543a2528981a6c4be7b368f3648995823ab9a1060afd7b51d06c9d377ad7fa' '545f9592ac0bb2959de4799133c53d79c9e2bd3f226804e92693a2e2c20d724a'
'f0e02c04001b39a79344a114daceda589658f79035ad8d912c3d3528c13d35ca'
'e1d45b5842079a5f0f53d7ea2d66ffa3f1497766f3ccffcf13ed00f1ac67f95e' 'e1d45b5842079a5f0f53d7ea2d66ffa3f1497766f3ccffcf13ed00f1ac67f95e'
'efc09a728da21b8a9e068696c26e334d9fa950ad2e165cbd8a695f1897089da5' '8513b07315568e8c8cdd0790778bda3a4eb5e2cf4f585662fdd8bccbe331a40f'
'd116f6c42583c6e81914c5184fd89ad888403e54bad1ec3359051ddf36ae3b33') 'b487eeabfe71624d89ba4efd5dcdf83f9eb5d0406af43310400035a7060cecd0'
'd4b3fc8b159fd1445e34066c6a61bc73249b3733807cb63750e65561f6fa8bc0')

417
config

File diff suppressed because it is too large Load diff

11432
config-rt Normal file

File diff suppressed because it is too large Load diff