summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD385
1 files changed, 194 insertions, 191 deletions
diff --git a/PKGBUILD b/PKGBUILD
index a9a1bca088a3..2c7ad25a5310 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -45,9 +45,6 @@ _use_current=
# Enable fsync
_fsync=y
-#enable futex2
-_futex2=y
-
#enable winesync
_winesync=y
@@ -68,13 +65,13 @@ _kyber_disable=y
_mm_protect=y
### Enable multigenerational LRU
-_lru_enable=
+_lru_enable=y
### Enable Linux Random Number Generator
_lrng_enable=y
### Enable DAMON
-_damon=y
+_damon=
## Apply Kernel automatic Optimization
_use_auto_optimization=y
@@ -100,7 +97,7 @@ _zstd_level='ultra'
# 'normal' - standard compression ratio
# WARNING: the ultra settings can sometimes
# be counterproductive in both size and speed.
-_zstd_module_level='ultra'
+_zstd_module_level='normal'
### Enable SECURITY_FORK_BRUTE
# WARNING Not recommended.
@@ -131,7 +128,7 @@ _srcname=linux-${pkgver}
arch=(x86_64 x86_64_v3)
pkgdesc='Linux TT scheduler Kernel by CachyOS and with some other patches and other improvements'
_srcname=linux-${pkgver}
-pkgrel=1
+pkgrel=2
arch=('x86_64' 'x86_64_v3')
url="https://github.com/CachyOS/linux-cachyos"
license=('GPL2')
@@ -150,17 +147,17 @@ source=("https://www.kernel.org/pub/linux/kernel/v5.x/${_srcname}.tar.xz"
"${_patchsource}/TT/0001-tt-r3.patch"
"${_patchsource}/0001-arch-patches.patch"
"${_patchsource}/0001-cfi.patch"
- "${_patchsource}/0001-le9.patch"
+ "${_patchsource}/0001-lru-patches.patch"
"${_patchsource}/AMD/0001-amd-pstate-dev-v5-fixes.patch"
"${_patchsource}/AMD/0001-amd64-patches.patch"
"${_patchsource}/0001-bbr2.patch"
"${_patchsource}/0001-bitmap.patch"
"${_patchsource}/0001-block-patches.patch"
- #"${_patchsource}/0001-ksm-patches.patch"
"${_patchsource}/0001-cpu-patches.patch"
- "${_patchsource}/0001-misc-next.patch"
+ "${_patchsource}/0001-misc.patch"
"${_patchsource}/0001-btrfs-patches.patch"
"${_patchsource}/0001-clearlinux-patches.patch"
+ "${_patchsource}/0001-intel-patches.patch"
"${_patchsource}/0001-ntfs3.patch"
"${_patchsource}/0001-ck-hrtimer.patch"
"${_patchsource}/0001-fixes-miscellaneous.patch"
@@ -240,181 +237,186 @@ prepare() {
fi
fi
- if [ -n "$_use_cfi" ]; then
- scripts/config --enable CONFIG_ARCH_SUPPORTS_CFI_CLANG
- scripts/config --enable CONFIG_CFI_CLANG
- fi
-
- if [ -n "$_use_pgo" ]; then
- scripts/config --enable CONFIG_ARCH_SUPPORTS_PGO_CLANG
- scripts/config --enable DEBUG_FS
- scripts/config --enable CONFIG_PGO_CLANG
- fi
-
- ### Microarchitecture Optimization (GCC/CLANG)
- if [ -n "$_use_auto_optimization" ]; then
- "${srcdir}"/auto-cpu-optimization.sh
- fi
-
-
- if [ -n "$_use_optimization_select" ]; then
- source "${startdir}"/configure
- cpu_arch
- fi
-
-
- ### Optionally set tickrate to 2000HZ
- if [ -n "$_2k_HZ_ticks" ]; then
- echo "Setting tick rate to 2k..."
- scripts/config --disable CONFIG_HZ_300
- scripts/config --enable CONFIG_HZ_2000
- scripts/config --set-val CONFIG_HZ 2000
- fi
-
- ### Optionally set tickrate to 1000
- if [ -n "$_1k_HZ_ticks" ]; then
- echo "Setting tick rate to 1k..."
- scripts/config --disable CONFIG_HZ_300
- scripts/config --enable CONFIG_HZ_1000
- scripts/config --set-val CONFIG_HZ 1000
- fi
-
- ### Optionally set tickrate to 750HZ
- if [ -n "$_750_HZ_ticks" ]; then
- echo "Setting tick rate to 750HZ..."
- scripts/config --disable CONFIG_HZ_300
- scripts/config --enable CONFIG_HZ_750
- scripts/config --set-val CONFIG_HZ 750
- fi
-
- ### Optionally set tickrate to 600HZ
- if [ -n "$_600_HZ_ticks" ]; then
- echo "Setting tick rate to 600HZ..."
- scripts/config --disable CONFIG_HZ_300
- scripts/config --enable CONFIG_HZ_600
- scripts/config --set-val CONFIG_HZ 600
- fi
-
- ### Optionally set tickrate to 500HZ
- if [ -n "$_500_HZ_ticks" ]; then
- echo "Setting tick rate to 500HZ..."
- scripts/config --disable CONFIG_HZ_300
- scripts/config --enable CONFIG_HZ_500
- scripts/config --set-val CONFIG_HZ 500
- fi
-
- ### Optionally disable NUMA for 64-bit kernels only
- # (x86 kernels do not support NUMA)
- if [ -n "$_NUMAdisable" ]; then
- echo "Disabling NUMA from kernel config..."
- scripts/config --disable CONFIG_NUMA
- fi
-
- if [ -n "$_fsync" ]; then
- echo "Enable Fsync support"
- scripts/config --enable CONFIG_FUTEX
- scripts/config --enable CONFIG_FUTEX_PI
- fi
-
- if [ -n "$_futex2" ]; then
- echo "Enable Futex2 support"
- scripts/config --enable CONFIG_FUTEX2
- fi
-
- if [ -n "$_winesync" ]; then
- echo "Enable winesync support"
- scripts/config --module CONFIG_WINESYNC
- fi
-
- ### Disable MQ-Deadline I/O scheduler
- if [ -n "$_mq_deadline_disable" ]; then
- echo "Disabling MQ-Deadline I/O scheduler..."
- scripts/config --disable CONFIG_MQ_IOSCHED_DEADLINE
- fi
-
- ### Disable Kyber I/O scheduler
- if [ -n "$_kyber_disable" ]; then
- echo "Disabling Kyber I/O scheduler..."
- scripts/config --disable CONFIG_MQ_IOSCHED_KYBER
- fi
-
- ### Enable protect mappings under memory pressure
- if [ -n "$_mm_protect" ]; then
- scripts/config --set-val CONFIG_CLEAN_LOW_KBYTES 524288
- fi
-
- ### Enable multigenerational LRU
- if [ -n "$_lru_enable" ]; then
- echo "Enabling multigenerational LRU..."
- scripts/config --enable CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG
- scripts/config --enable CONFIG_LRU_GEN
- scripts/config --set-val CONFIG_NR_LRU_GENS 4
- scripts/config --set-val CONFIG_TIERS_PER_GEN 2
- scripts/config --disable CONFIG_LRU_GEN_ENABLED
- scripts/config --disable CONFIG_LRU_GEN_STATS
- fi
-
- ### Enable DAMON
- if [ -n "$_damon" ]; then
- echo "Enabling DAMON..."
- scripts/config --enable CONFIG_DAMON
- scripts/config --disable CONFIG_DAMON_VADDR
- scripts/config --disable CONFIG_DAMON_DBGFS
- scripts/config --enable CONFIG_DAMON_PADDR
- scripts/config --enable CONFIG_DAMON_RECLAIM
- fi
-
- ### Enable Linux Random Number Generator
- if [ -n "$_lrng_enable" ]; then
- echo "Enabling Linux Random Number Generator ..."
- scripts/config --enable CONFIG_LRNG
- scripts/config --enable CONFIG_LRNG_OVERSAMPLE_ENTROPY_SOURCES
- scripts/config --set-val CONFIG_CONFIG_LRNG_OVERSAMPLE_ES_BITS 64
- scripts/config --set-val CONFIG_LRNG_SEED_BUFFER_INIT_ADD_BITS 128
- scripts/config --enable CONFIG_LRNG_IRQ
- scripts/config --enable CONFIG_LRNG_CONTINUOUS_COMPRESSION_ENABLED
- scripts/config --disable CONFIG_LRNG_CONTINUOUS_COMPRESSION_DISABLED
- scripts/config --enable CONFIG_LRNG_ENABLE_CONTINUOUS_COMPRESSION
- scripts/config --enable CONFIG_LRNG_SWITCHABLE_CONTINUOUS_COMPRESSION
- scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_512
- scripts/config --enable CONFIG_LRNG_COLLECTION_SIZE_1024
- scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_2048
- scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_4096
- scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_8192
- scripts/config --set-val CONFIG_LRNG_COLLECTION_SIZE 1024
- scripts/config --enable CONFIG_LRNG_HEALTH_TESTS
- scripts/config --set-val CONFIG_LRNG_RCT_CUTOFF 31
- scripts/config --set-val CONFIG_LRNG_APT_CUTOFF 325
- scripts/config --set-val CONFIG_LRNG_IRQ_ENTROPY_RATE 256
- scripts/config --enable CONFIG_LRNG_JENT
- scripts/config --set-val CONFIG_LRNG_JENT_ENTROPY_RATE 16
- scripts/config --enable CONFIG_LRNG_CPU
- scripts/config --set-val CONFIG_LRNG_CPU_ENTROPY_RATE 8
- scripts/config --enable CONFIG_LRNG_DRNG_SWITCH
- scripts/config --enable CONFIG_LRNG_KCAPI_HASH
- scripts/config --module CONFIG_LRNG_DRBG
- scripts/config --module CONFIG_LRNG_KCAPI
- scripts/config --enable CONFIG_LRNG_TESTING_MENU
- scripts/config --disable CONFIG_LRNG_RAW_HIRES_ENTROPY
- scripts/config --disable CONFIG_LRNG_RAW_JIFFIES_ENTROPY
- scripts/config --disable CONFIG_LRNG_RAW_IRQ_ENTROPY
- scripts/config --disable CONFIG_LRNG_RAW_IRQFLAGS_ENTROPY
- scripts/config --disable CONFIG_LRNG_RAW_RETIP_ENTROPY
- scripts/config --disable CONFIG_LRNG_RAW_REGS_ENTROPY
- scripts/config --disable CONFIG_LRNG_RAW_ARRAY
- scripts/config --disable CONFIG_LRNG_IRQ_PERF
- scripts/config --disable CONFIG_LRNG_ACVT_HASH
- scripts/config --enable CONFIG_LRNG_RUNTIME_ES_CONFIG
- scripts/config --disable CONFIG_LRNG_RUNTIME_MAX_WO_RESEED_CONFIG
- scripts/config --disable CONFIG_LRNG_TEST_CPU_ES_COMPRESSION
- scripts/config --enable CONFIG_LRNG_SELFTEST
- scripts/config --disable CONFIG_LRNG_SELFTEST_PANIC
- fi
-
- echo "Enable LLVM LTO"
- if [ -n "$_use_llvm_lto" ]; then
- scripts/config --disable CONFIG_LTO_NONE
- fi
+ if [ -n "$_use_cfi" ] && [ -n "$_use_llvm_lto" ]; then
+ scripts/config --enable CONFIG_ARCH_SUPPORTS_CFI_CLANG
+ scripts/config --enable CONFIG_CFI_CLANG
+ fi
+
+ if [ -n "$_use_pgo" ]; then
+ scripts/config --enable CONFIG_ARCH_SUPPORTS_PGO_CLANG
+ scripts/config --enable DEBUG_FS
+ scripts/config --enable CONFIG_PGO_CLANG
+ fi
+
+ ### Microarchitecture Optimization (GCC/CLANG)
+ if [ -n "$_use_auto_optimization" ]; then
+ "${srcdir}"/auto-cpu-optimization.sh
+ fi
+
+
+ if [ -n "$_use_optimization_select" ]; then
+ source "${startdir}"/configure
+ cpu_arch
+ fi
+
+
+ ### Optionally set tickrate to 2000HZ
+ if [ -n "$_2k_HZ_ticks" ]; then
+ echo "Setting tick rate to 2k..."
+ scripts/config --disable CONFIG_HZ_300
+ scripts/config --enable CONFIG_HZ_2000
+ scripts/config --set-val CONFIG_HZ 2000
+ fi
+
+ ### Optionally set tickrate to 1000
+ if [ -n "$_1k_HZ_ticks" ]; then
+ echo "Setting tick rate to 1k..."
+ scripts/config --disable CONFIG_HZ_300
+ scripts/config --enable CONFIG_HZ_1000
+ scripts/config --set-val CONFIG_HZ 1000
+ fi
+
+ ### Optionally set tickrate to 750HZ
+ if [ -n "$_750_HZ_ticks" ]; then
+ echo "Setting tick rate to 750HZ..."
+ scripts/config --disable CONFIG_HZ_300
+ scripts/config --enable CONFIG_HZ_750
+ scripts/config --set-val CONFIG_HZ 750
+ fi
+
+ ### Optionally set tickrate to 600HZ
+ if [ -n "$_600_HZ_ticks" ]; then
+ echo "Setting tick rate to 600HZ..."
+ scripts/config --disable CONFIG_HZ_300
+ scripts/config --enable CONFIG_HZ_600
+ scripts/config --set-val CONFIG_HZ 600
+ fi
+
+ ### Optionally set tickrate to 500HZ
+ if [ -n "$_500_HZ_ticks" ]; then
+ echo "Setting tick rate to 500HZ..."
+ scripts/config --disable CONFIG_HZ_300
+ scripts/config --enable CONFIG_HZ_500
+ scripts/config --set-val CONFIG_HZ 500
+ fi
+
+ ### Optionally disable NUMA for 64-bit kernels only
+ # (x86 kernels do not support NUMA)
+ if [ -n "$_NUMAdisable" ]; then
+ echo "Disabling NUMA from kernel config..."
+ scripts/config --disable CONFIG_NUMA
+ fi
+
+ if [ -n "$_fsync" ]; then
+ echo "Enable Fsync support"
+ scripts/config --enable CONFIG_FUTEX
+ scripts/config --enable CONFIG_FUTEX_PI
+ fi
+
+
+ if [ -n "$_winesync" ]; then
+ echo "Enable winesync support"
+ scripts/config --module CONFIG_WINESYNC
+ fi
+
+ ### Disable MQ-Deadline I/O scheduler
+ if [ -n "$_mq_deadline_disable" ]; then
+ echo "Disabling MQ-Deadline I/O scheduler..."
+ scripts/config --disable CONFIG_MQ_IOSCHED_DEADLINE
+ fi
+
+ ### Disable Kyber I/O scheduler
+ if [ -n "$_kyber_disable" ]; then
+ echo "Disabling Kyber I/O scheduler..."
+ scripts/config --disable CONFIG_MQ_IOSCHED_KYBER
+ fi
+
+
+ ### Enable protect mappings under memory pressure
+ if [ -n "$_mm_protect" ]; then
+ echo "Enabling protect file mappings under memory pressure..."
+ scripts/config --enable CONFIG_UNEVICTABLE_FILE
+ scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_LOW 0
+ scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_MIN 0
+ echo "Enabling protect anonymous mappings under memory pressure..."
+ scripts/config --enable CONFIG_UNEVICTABLE_ANON
+ scripts/config --set-val CONFIG_UNEVICTABLE_ANON_KBYTES_LOW 0
+ scripts/config --set-val CONFIG_UNEVICTABLE_ANON_KBYTES_MIN 0
+ fi
+
+ ### Enable multigenerational LRU
+ if [ -n "$_lru_enable" ]; then
+ echo "Enabling multigenerational LRU..."
+ scripts/config --enable CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG
+ scripts/config --enable CONFIG_LRU_GEN
+ scripts/config --set-val CONFIG_NR_LRU_GENS 7
+ scripts/config --set-val CONFIG_TIERS_PER_GEN 4
+ scripts/config --enable CONFIG_LRU_GEN_ENABLED
+ scripts/config --disable CONFIG_LRU_GEN_STATS
+ fi
+
+ ### Enable DAMON
+ if [ -n "$_damon" ]; then
+ echo "Enabling DAMON..."
+ scripts/config --enable CONFIG_DAMON
+ scripts/config --disable CONFIG_DAMON_VADDR
+ scripts/config --disable CONFIG_DAMON_DBGFS
+ scripts/config --enable CONFIG_DAMON_PADDR
+ scripts/config --enable CONFIG_DAMON_RECLAIM
+ fi
+
+ ### Enable Linux Random Number Generator
+ if [ -n "$_lrng_enable" ]; then
+ echo "Enabling Linux Random Number Generator ..."
+ echo "Enabling Linux Random Number Generator with pfkernel config..."
+ scripts/config --enable CONFIG_LRNG
+ scripts/config --enable CONFIG_LRNG_OVERSAMPLE_ENTROPY_SOURCES
+ scripts/config --set-val CONFIG_CONFIG_LRNG_OVERSAMPLE_ES_BITS 64
+ scripts/config --set-val CONFIG_LRNG_SEED_BUFFER_INIT_ADD_BITS 128
+ scripts/config --enable CONFIG_LRNG_IRQ
+ scripts/config --enable CONFIG_LRNG_CONTINUOUS_COMPRESSION_ENABLED
+ scripts/config --disable CONFIG_LRNG_CONTINUOUS_COMPRESSION_DISABLED
+ scripts/config --enable CONFIG_LRNG_ENABLE_CONTINUOUS_COMPRESSION
+ scripts/config --enable CONFIG_LRNG_SWITCHABLE_CONTINUOUS_COMPRESSION
+ scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_512
+ scripts/config --enable CONFIG_LRNG_COLLECTION_SIZE_1024
+ scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_2048
+ scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_4096
+ scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_8192
+ scripts/config --set-val CONFIG_LRNG_COLLECTION_SIZE 1024
+ scripts/config --enable CONFIG_LRNG_HEALTH_TESTS
+ scripts/config --set-val CONFIG_LRNG_RCT_CUTOFF 31
+ scripts/config --set-val CONFIG_LRNG_APT_CUTOFF 325
+ scripts/config --set-val CONFIG_LRNG_IRQ_ENTROPY_RATE 256
+ scripts/config --enable CONFIG_LRNG_JENT
+ scripts/config --set-val CONFIG_LRNG_JENT_ENTROPY_RATE 16
+ scripts/config --enable CONFIG_LRNG_CPU
+ scripts/config --set-val CONFIG_LRNG_CPU_ENTROPY_RATE 8
+ scripts/config --enable CONFIG_LRNG_DRNG_SWITCH
+ scripts/config --enable CONFIG_LRNG_KCAPI_HASH
+ scripts/config --module CONFIG_LRNG_DRBG
+ scripts/config --module CONFIG_LRNG_KCAPI
+ scripts/config --enable CONFIG_LRNG_TESTING_MENU
+ scripts/config --disable CONFIG_LRNG_RAW_HIRES_ENTROPY
+ scripts/config --disable CONFIG_LRNG_RAW_JIFFIES_ENTROPY
+ scripts/config --disable CONFIG_LRNG_RAW_IRQ_ENTROPY
+ scripts/config --disable CONFIG_LRNG_RAW_IRQFLAGS_ENTROPY
+ scripts/config --disable CONFIG_LRNG_RAW_RETIP_ENTROPY
+ scripts/config --disable CONFIG_LRNG_RAW_REGS_ENTROPY
+ scripts/config --disable CONFIG_LRNG_RAW_ARRAY
+ scripts/config --disable CONFIG_LRNG_IRQ_PERF
+ scripts/config --disable CONFIG_LRNG_ACVT_HASH
+ scripts/config --enable CONFIG_LRNG_RUNTIME_ES_CONFIG
+ scripts/config --disable CONFIG_LRNG_RUNTIME_MAX_WO_RESEED_CONFIG
+ scripts/config --disable CONFIG_LRNG_TEST_CPU_ES_COMPRESSION
+ scripts/config --enable CONFIG_LRNG_SELFTEST
+ scripts/config --disable CONFIG_LRNG_SELFTEST_PANIC
+ fi
+
+ echo "Enable LLVM LTO"
+ if [ -n "$_use_llvm_lto" ]; then
+ scripts/config --disable CONFIG_LTO_NONE
+ fi
### Selecting the ZSTD compression level
if [ "$_zstd_level" = "ultra" ]; then
@@ -651,23 +653,24 @@ done
md5sums=('b79700122766ccf561f032eb3c8da27e'
- '0ac42c66359097d484fc67a1905008b0'
- 'c3ab4d8c534b883c18ed8a295f5e84bd'
+ 'd97e86d9464dd34683f67de4d4a595c0'
+ 'cfc49db1b15e5cce87ccbe983a48d899'
'2627c6fcd9760b0e7a3553500db0a7e1'
'e3fa8507aed6ef3ce37e62f18fe9b7e1'
- '448e2846e615c76989289ef30ec9eba2'
+ '4bfca774a71e7228f5b8bb31660521af'
'4866d66f4cc1b10cccb520c22cbc71d7'
'53f037488a66667220c263f92ded333d'
'2a8097ba46be56fbbe3967e9c34c9a0b'
'e708f2160dee1ef5c7dffb8a23c199d7'
'56ceaed8bfb44eca93298ccc5fe11ca7'
'67764a5824b567b49bcce19c01d4e1b3'
- '6971378b4fb2b16c0c0089cd55fc61f9'
+ '299b176cbfc1b386d74406387e9e2d6b'
'5b9a009ab68ba548e9d06e0932ab967d'
- '0b6d09bdd920f4c31c05fdeaa0740548'
+ '41887f2f959068e41756f4c39671ca79'
+ 'b04c8a3f01b3dfba1410e2c26ec7d975'
'8cf507777e20cd4d75a0627eef10c10d'
'6038177c72982533035309fcd6df208a'
- '8aaac6621843060d8fec99e839c3200a'
+ '2a13aa40945c9910f7ad20a429442793'
'8c354c3d1962ec6785db7f0c3fbbab03'
'9b6369bc4c58ad0d9195b5c204ed4b8a'
'c6efda5716e4ff79ebdbc963bebd851a'