Sync with Github
Signed-off-by: Piotr Gorski <lucjan.lucjanov@gmail.com>
This commit is contained in:
parent
407bc81153
commit
8dbd3d28ba
2
.SRCINFO
2
.SRCINFO
@ -28,7 +28,7 @@ pkgbase = linux-cachyos
|
|||||||
source = https://raw.githubusercontent.com/cachyos/kernel-patches/master/6.1/misc/0001-Add-latency-priority-for-CFS-class.patch
|
source = https://raw.githubusercontent.com/cachyos/kernel-patches/master/6.1/misc/0001-Add-latency-priority-for-CFS-class.patch
|
||||||
source = https://raw.githubusercontent.com/cachyos/kernel-patches/master/6.1/sched/0001-bore-cachy.patch
|
source = https://raw.githubusercontent.com/cachyos/kernel-patches/master/6.1/sched/0001-bore-cachy.patch
|
||||||
sha256sums = 0be2919ba91cf5873a4cb4d429de78aad0469120d624e333a43b4b011d74d19d
|
sha256sums = 0be2919ba91cf5873a4cb4d429de78aad0469120d624e333a43b4b011d74d19d
|
||||||
sha256sums = a9673e76b766f3a71472e39fb6a3e03e5c1e6d91680cb50b0b54af610039a847
|
sha256sums = 111246473833b7576d33e284becf55dbb3533b657391fa2a3846b0da6d6039c6
|
||||||
sha256sums = 41c34759ed248175e905c57a25e2b0ed09b11d054fe1a8783d37459f34984106
|
sha256sums = 41c34759ed248175e905c57a25e2b0ed09b11d054fe1a8783d37459f34984106
|
||||||
sha256sums = 87929b669f1081d34e27768ee9426da8c97038619d4deee38487f93ca9c9a629
|
sha256sums = 87929b669f1081d34e27768ee9426da8c97038619d4deee38487f93ca9c9a629
|
||||||
sha256sums = 479019c7ea52de10b6cadac468eb61215bafef596da3d751571bb6dc4fcd8787
|
sha256sums = 479019c7ea52de10b6cadac468eb61215bafef596da3d751571bb6dc4fcd8787
|
||||||
|
289
PKGBUILD
289
PKGBUILD
@ -3,29 +3,26 @@
|
|||||||
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
|
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
|
||||||
# Contributor: Thomas Baechler <thomas@archlinux.org>
|
# Contributor: Thomas Baechler <thomas@archlinux.org>
|
||||||
|
|
||||||
|
### BUILD OPTIONS
|
||||||
|
# Set these variables to ANYTHING that is not null or choose proper variable to enable them
|
||||||
|
|
||||||
### Selecting CachyOS config
|
### Selecting CachyOS config
|
||||||
# ATTENTION - one of two predefined values should be selected!
|
_cachy_config=${_cachy_config-y}
|
||||||
# 'yes' - enable CachyOS config
|
|
||||||
# 'no' - disable CachyOS config
|
|
||||||
_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 six predefined values should be selected!
|
||||||
# 'bmq' - select 'BitMap Queue CPU scheduler'
|
# 'bmq' - select 'BitMap Queue CPU scheduler'
|
||||||
# 'pds' - select 'Priority and Deadline based Skip list multiple queue CPU scheduler'
|
# 'pds' - select 'Priority and Deadline based Skip list multiple queue CPU scheduler'
|
||||||
# 'bore' - select 'Burst-Oriented Response Enhancer'
|
# 'bore' - select 'Burst-Oriented Response Enhancer'
|
||||||
# '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=${_cpusched-'bore'}
|
_cpusched=${_cpusched-bore}
|
||||||
|
|
||||||
## Apply some suggested sysctl values from the bore developer
|
## Apply some suggested sysctl values from the bore developer
|
||||||
## These are adjusted to BORE
|
## These are adjusted to BORE
|
||||||
_tune_bore=${_tune_bore-}
|
_tune_bore=${_tune_bore-}
|
||||||
|
|
||||||
### BUILD OPTIONS
|
|
||||||
# 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=${_makenconfig-}
|
||||||
|
|
||||||
@ -93,14 +90,14 @@ _kyber_disable=${_kyber_disable-y}
|
|||||||
# '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=${_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=${_vma_config-'none'}
|
_vma_config=${_vma_config-none}
|
||||||
|
|
||||||
### Transparent Hugepages
|
### Transparent Hugepages
|
||||||
# ATTENTION - one of two predefined values should be selected!
|
# ATTENTION - one of two predefined values should be selected!
|
||||||
@ -108,7 +105,7 @@ _vma_config=${_vma_config-'none'}
|
|||||||
# 'madvise' - madvise, prevent applications from allocating more memory resources than necessary
|
# 'madvise' - madvise, prevent applications from allocating more memory resources than necessary
|
||||||
# More infos here:
|
# More infos here:
|
||||||
# https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/performance_tuning_guide/sect-red_hat_enterprise_linux-performance_tuning_guide-configuring_transparent_huge_pages
|
# https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/performance_tuning_guide/sect-red_hat_enterprise_linux-performance_tuning_guide-configuring_transparent_huge_pages
|
||||||
_hugepage=${_hugepage-'always'}
|
_hugepage=${_hugepage-always}
|
||||||
|
|
||||||
## Enable DAMON
|
## Enable DAMON
|
||||||
_damon=${_damon-}
|
_damon=${_damon-}
|
||||||
@ -141,12 +138,14 @@ _zstd_compression=${_zstd_compression-}
|
|||||||
# '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=${_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 "none", "full" or "thin".
|
||||||
|
# ATTENTION - one of three predefined values should be selected!
|
||||||
# "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-}
|
# "none: disable LTO
|
||||||
|
_use_llvm_lto=${_use_llvm_lto-none}
|
||||||
|
|
||||||
# Use suffix -lto only when requested by the user
|
# Use suffix -lto only when requested by the user
|
||||||
# Enabled by default.
|
# Enabled by default.
|
||||||
@ -189,7 +188,7 @@ _bcachefs=${_bcachefs-}
|
|||||||
# 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-y}
|
_latency_nice=${_latency_nice-y}
|
||||||
|
|
||||||
if [[ -n "$_use_llvm_lto" && -n "$_use_lto_suffix" ]]; then
|
if [[ "$_use_llvm_lto" = "thin" || "$_use_llvm_lto" = "full" && -n "$_use_lto_suffix" ]]; then
|
||||||
pkgsuffix=cachyos-lto
|
pkgsuffix=cachyos-lto
|
||||||
pkgbase=linux-$pkgsuffix
|
pkgbase=linux-$pkgsuffix
|
||||||
|
|
||||||
@ -216,7 +215,7 @@ license=('GPL2')
|
|||||||
options=('!strip')
|
options=('!strip')
|
||||||
makedepends=('bc' 'libelf' 'pahole' 'cpio' 'perl' 'tar' 'xz' 'zstd' 'gcc' 'gcc-libs' 'glibc' 'binutils' 'make' 'patch')
|
makedepends=('bc' 'libelf' 'pahole' 'cpio' 'perl' 'tar' 'xz' 'zstd' 'gcc' 'gcc-libs' 'glibc' 'binutils' 'make' 'patch')
|
||||||
# LLVM makedepends
|
# LLVM makedepends
|
||||||
if [ -n "$_use_llvm_lto" ]; then
|
if [[ "$_use_llvm_lto" = "thin" || "$_use_llvm_lto" = "full" ]]; then
|
||||||
makedepends+=(clang llvm lld python)
|
makedepends+=(clang llvm lld python)
|
||||||
BUILD_FLAGS=(
|
BUILD_FLAGS=(
|
||||||
CC=clang
|
CC=clang
|
||||||
@ -328,19 +327,9 @@ prepare() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
### Selecting CachyOS config
|
### Selecting CachyOS config
|
||||||
if [ "$_cachy_config" = "yes" ]; then
|
if [ -n "$_cachy_config" ]; then
|
||||||
echo "Enabling CachyOS config..."
|
echo "Enabling CachyOS config..."
|
||||||
scripts/config -e CACHY
|
scripts/config -e CACHY
|
||||||
elif [ "$_cachy_config" = "no" ]; then
|
|
||||||
echo "Disabling CachyOS config..."
|
|
||||||
scripts/config -d CACHY
|
|
||||||
else
|
|
||||||
if [ -n "$_cachy_config" ]; then
|
|
||||||
error "The value $_cachy_config is invalid. Choose the correct one again."
|
|
||||||
else
|
|
||||||
error "The value is empty. Choose the correct one again."
|
|
||||||
fi
|
|
||||||
_die "Selecting CachyOS config failed!"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
### Selecting the CPU scheduler
|
### Selecting the CPU scheduler
|
||||||
@ -366,31 +355,16 @@ prepare() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
### Select LLVM level
|
### Select LLVM level
|
||||||
if [ "$_use_llvm_lto" = "thin" ]; then
|
[ -z "$_use_llvm_lto" ] && _die "The value is empty. Choose the correct one again."
|
||||||
echo "Enabling LLVM THIN LTO..."
|
|
||||||
scripts/config -e LTO \
|
case "$_use_llvm_lto" in
|
||||||
-e LTO_CLANG \
|
thin) scripts/config -e LTO -e LTO_CLANG -e ARCH_SUPPORTS_LTO_CLANG -e ARCH_SUPPORTS_LTO_CLANG_THIN -d LTO_NONE -e HAS_LTO_CLANG -d LTO_CLANG_FULL -e LTO_CLANG_THIN -e HAVE_GCC_PLUGINS;;
|
||||||
-e ARCH_SUPPORTS_LTO_CLANG \
|
full) scripts/config -e LTO -e LTO_CLANG -e ARCH_SUPPORTS_LTO_CLANG -e ARCH_SUPPORTS_LTO_CLANG_THIN -d LTO_NONE -e HAS_LTO_CLANG -e LTO_CLANG_FULL -d LTO_CLANG_THIN -e HAVE_GCC_PLUGINS;;
|
||||||
-e ARCH_SUPPORTS_LTO_CLANG_THIN \
|
none) scripts/config -e LTO_NONE;;
|
||||||
-d LTO_NONE \
|
*) _die "The value '$_use_llvm_lto' is invalid. Choose the correct one again.";;
|
||||||
-e HAS_LTO_CLANG \
|
esac
|
||||||
-d LTO_CLANG_FULL \
|
|
||||||
-e LTO_CLANG_THIN \
|
echo "Selecting '$_use_llvm_lto' LLVM level..."
|
||||||
-e HAVE_GCC_PLUGINS
|
|
||||||
elif [ "$_use_llvm_lto" = "full" ]; then
|
|
||||||
echo "Enabling LLVM FULL LTO..."
|
|
||||||
scripts/config -e LTO \
|
|
||||||
-e LTO_CLANG \
|
|
||||||
-e ARCH_SUPPORTS_LTO_CLANG \
|
|
||||||
-e ARCH_SUPPORTS_LTO_CLANG_THIN \
|
|
||||||
-d LTO_NONE \
|
|
||||||
-e HAS_LTO_CLANG \
|
|
||||||
-e LTO_CLANG_FULL \
|
|
||||||
-d LTO_CLANG_THIN \
|
|
||||||
-e HAVE_GCC_PLUGINS
|
|
||||||
else
|
|
||||||
scripts/config -e LTO_NONE
|
|
||||||
fi
|
|
||||||
|
|
||||||
### Enable GCC FULL LTO
|
### Enable GCC FULL LTO
|
||||||
### Disable LTO_CP_CLONE, its experimental
|
### Disable LTO_CP_CLONE, its experimental
|
||||||
@ -461,75 +435,28 @@ prepare() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
### Select tick type
|
### Select tick type
|
||||||
if [ "$_tickrate" = "periodic" ]; then
|
[ -z "$_tickrate" ] && _die "The value is empty. Choose the correct one again."
|
||||||
echo "Enabling periodic ticks..."
|
|
||||||
scripts/config -d NO_HZ_IDLE \
|
case "$_tickrate" in
|
||||||
-d NO_HZ_FULL \
|
perodic) scripts/config -d NO_HZ_IDLE -d NO_HZ_FULL -d NO_HZ -d NO_HZ_COMMON -e HZ_PERIODIC;;
|
||||||
-d NO_HZ \
|
idle) scripts/config -d HZ_PERIODIC -d NO_HZ_FULL -e NO_HZ_IDLE -e NO_HZ -e NO_HZ_COMMON;;
|
||||||
-d NO_HZ_COMMON \
|
full) scripts/config -d HZ_PERIODIC -d NO_HZ_IDLE -d CONTEXT_TRACKING_FORCE -e NO_HZ_FULL_NODEF -e NO_HZ_FULL -e NO_HZ -e NO_HZ_COMMON -e CONTEXT_TRACKING;;
|
||||||
-e HZ_PERIODIC
|
*) _die "The value '$_tickrate' is invalid. Choose the correct one again.";;
|
||||||
elif [ "$_tickrate" = "idle" ]; then
|
esac
|
||||||
echo "Enabling idle ticks.."
|
|
||||||
scripts/config -d HZ_PERIODIC \
|
echo "Selecting '$_tickrate' tick type..."
|
||||||
-d NO_HZ_FULL \
|
|
||||||
-e NO_HZ_IDLE \
|
|
||||||
-e NO_HZ \
|
|
||||||
-e NO_HZ_COMMON
|
|
||||||
elif [ "$_tickrate" = "full" ]; then
|
|
||||||
echo "Enabling full ticks..."
|
|
||||||
scripts/config -d HZ_PERIODIC \
|
|
||||||
-d NO_HZ_IDLE \
|
|
||||||
-d CONTEXT_TRACKING_FORCE \
|
|
||||||
-e NO_HZ_FULL_NODEF \
|
|
||||||
-e NO_HZ_FULL \
|
|
||||||
-e NO_HZ \
|
|
||||||
-e NO_HZ_COMMON \
|
|
||||||
-e CONTEXT_TRACKING
|
|
||||||
else
|
|
||||||
if [ -n "$_tickrate" ]; then
|
|
||||||
error "The value $_tickrate is invalid. Choose the correct one again."
|
|
||||||
else
|
|
||||||
error "The value is empty. Choose the correct one again."
|
|
||||||
fi
|
|
||||||
_die "Selecting the tick rate failed!"
|
|
||||||
fi
|
|
||||||
|
|
||||||
### Select preempt type
|
### Select preempt type
|
||||||
if [ "$_preempt" = "full" ]; then
|
[ -z "$_preempt" ] && _die "The value is empty. Choose the correct one again."
|
||||||
echo "Enabling low latency preempt..."
|
|
||||||
scripts/config -e PREEMPT_BUILD \
|
case "$_preempt" in
|
||||||
-d PREEMPT_NONE \
|
full) scripts/config -e PREEMPT_BUILD -d PREEMPT_NONE -d PREEMPT_VOLUNTARY -e PREEMPT -e PREEMPT_COUNT -e PREEMPTION -e PREEMPT_DYNAMIC;;
|
||||||
-d PREEMPT_VOLUNTARY \
|
voluntary) scripts/config -e PREEMPT_BUILD -d PREEMPT_NONE -e PREEMPT_VOLUNTARY -d PREEMPT -e PREEMPT_COUNT -e PREEMPTION -d PREEMPT_DYNAMIC;;
|
||||||
-e PREEMPT \
|
server) scripts/config -e PREEMPT_NONE_BUILD -e PREEMPT_NONE -d PREEMPT_VOLUNTARY -d PREEMPT -d PREEMPTION -d PREEMPT_DYNAMIC;;
|
||||||
-e PREEMPT_COUNT \
|
*) _die "The value '$_preempt' is invalid. Choose the correct one again.";;
|
||||||
-e PREEMPTION \
|
esac
|
||||||
-e PREEMPT_DYNAMIC
|
|
||||||
elif [ "$_preempt" = "voluntary" ]; then
|
echo "Selecting '$_preempt' preempt type..."
|
||||||
echo "Enabling voluntary preempt..."
|
|
||||||
scripts/config -e PREEMPT_BUILD \
|
|
||||||
-d PREEMPT_NONE \
|
|
||||||
-e PREEMPT_VOLUNTARY \
|
|
||||||
-d PREEMPT \
|
|
||||||
-e PREEMPT_COUNT \
|
|
||||||
-e PREEMPTION \
|
|
||||||
-d PREEMPT_DYNAMIC
|
|
||||||
elif [ "$_preempt" = "server" ]; then
|
|
||||||
echo "Enabling server preempt..."
|
|
||||||
scripts/config -e PREEMPT_NONE_BUILD \
|
|
||||||
-e PREEMPT_NONE \
|
|
||||||
-d PREEMPT_VOLUNTARY \
|
|
||||||
-d PREEMPT \
|
|
||||||
-d PREEMPT_COUNT \
|
|
||||||
-d PREEMPTION \
|
|
||||||
-d PREEMPT_DYNAMIC
|
|
||||||
else
|
|
||||||
if [ -n "$_preempt" ]; then
|
|
||||||
error "The value $_preempt is invalid. Choose the correct one again."
|
|
||||||
else
|
|
||||||
error "The value is empty. Choose the correct one again."
|
|
||||||
fi
|
|
||||||
_die "Selecting PREEMPT failed!"
|
|
||||||
fi
|
|
||||||
|
|
||||||
### Enable O3
|
### Enable O3
|
||||||
if [ -n "$_cc_harder" ]; then
|
if [ -n "$_cc_harder" ]; then
|
||||||
@ -548,68 +475,40 @@ 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
|
[ -z "$_lru_config" ] && _die "The value is empty. Choose the correct one again."
|
||||||
echo "Enabling multigenerational LRU..."
|
|
||||||
scripts/config -e LRU_GEN \
|
case "$_lru_config" in
|
||||||
-e LRU_GEN_ENABLED \
|
standard) scripts/config -e LRU_GEN -e LRU_GEN_ENABLED -d LRU_GEN_STATS;;
|
||||||
-d LRU_GEN_STATS
|
stats) scripts/config -e LRU_GEN -e LRU_GEN_ENABLED -e LRU_GEN_STATS;;
|
||||||
elif [ "$_lru_config" = "stats" ]; then
|
none) scripts/config -d LRU_GEN;;
|
||||||
echo "Enabling multigenerational LRU with stats..."
|
*) _die "The value '$_lru_config' is invalid. Choose the correct one again.";;
|
||||||
scripts/config -e LRU_GEN \
|
esac
|
||||||
-e LRU_GEN_ENABLED \
|
|
||||||
-e LRU_GEN_STATS
|
echo "Selecting '$_lru_config' LRU_GEN config..."
|
||||||
elif [ "$_lru_config" = "none" ]; then
|
|
||||||
echo "Disabling multigenerational LRU..."
|
|
||||||
scripts/config -d LRU_GEN
|
|
||||||
else
|
|
||||||
if [ -n "$_lru_config" ]; then
|
|
||||||
error "The value $_lru_config is invalid. Choose the correct one again."
|
|
||||||
else
|
|
||||||
error "The value is empty. Choose the correct one again."
|
|
||||||
fi
|
|
||||||
error "Enabling multigenerational LRU failed!"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
### Select VMA config
|
### Select VMA config
|
||||||
if [ "$_vma_config" = "standard" ]; then
|
[ -z "$_vma_config" ] && _die "The value is empty. Choose the correct one again."
|
||||||
echo "Enabling per-VMA locking..."
|
|
||||||
scripts/config -e PER_VMA_LOCK \
|
|
||||||
-d PER_VMA_LOCK_STATS
|
|
||||||
elif [ "$_vma_config" = "stats" ]; then
|
|
||||||
echo "Enabling per-VMA locking with stats..."
|
|
||||||
scripts/config -e PER_VMA_LOCK \
|
|
||||||
-e PER_VMA_LOCK_STATS
|
|
||||||
elif [ "$_vma_config" = "none" ]; then
|
|
||||||
echo "Disabling per-VMA locking..."
|
|
||||||
scripts/config -d PER_VMA_LOCK
|
|
||||||
else
|
|
||||||
if [ -n "$_vma_config" ]; then
|
|
||||||
error "The value $_vma_config is invalid. Choose the correct one again."
|
|
||||||
else
|
|
||||||
error "The value is empty. Choose the correct one again."
|
|
||||||
fi
|
|
||||||
_die "Enabling per-VMA locking failed!"
|
|
||||||
fi
|
|
||||||
|
|
||||||
### Select THP
|
case "$_vma_config" in
|
||||||
if [ "$_hugepage" = "always" ]; then
|
standard) scripts/config -e PER_VMA_LOCK -d PER_VMA_LOCK_STATS;;
|
||||||
echo "Enable THP always..."
|
stats) scripts/config -e PER_VMA_LOCK -e PER_VMA_LOCK_STATS;;
|
||||||
scripts/config -d TRANSPARENT_HUGEPAGE_MADVISE \
|
none) scripts/config -d PER_VMA_LOCK;;
|
||||||
-e TRANSPARENT_HUGEPAGE_ALWAYS
|
*) _die "The value '$_vma_config' is invalid. Choose the correct one again.";;
|
||||||
elif [ "$_hugepage" = "madvise" ]; then
|
esac
|
||||||
echo "Enable THP madvise..."
|
|
||||||
scripts/config -d TRANSPARENT_HUGEPAGE_ALWAYS \
|
echo "Selecting '$_vma_config' PER_VMA_LOCK config..."
|
||||||
-e TRANSPARENT_HUGEPAGE_MADVISE
|
|
||||||
else
|
### Select THP
|
||||||
if [ -n "$_hugepage" ]; then
|
[ -z "$_hugepage" ] && _die "The value is empty. Choose the correct one again."
|
||||||
error "The value $_hugepage is invalid. Choose the correct one again."
|
|
||||||
else
|
case "$_hugepage" in
|
||||||
error "The value is empty. Choose the correct one again."
|
always) scripts/config -d TRANSPARENT_HUGEPAGE_MADVISE -e TRANSPARENT_HUGEPAGE_ALWAYS;;
|
||||||
fi
|
madvise) scripts/config -d TRANSPARENT_HUGEPAGE_ALWAYS -e TRANSPARENT_HUGEPAGE_MADVISE;;
|
||||||
_die "Setting THP has failed!"
|
*) _die "The value '$_hugepage' is invalid. Choose the correct one again.";;
|
||||||
fi
|
esac
|
||||||
|
|
||||||
|
echo "Selecting '$_hugepage' TRANSPARENT_HUGEPAGE config..."
|
||||||
|
|
||||||
### Enable DAMON
|
### Enable DAMON
|
||||||
if [ -n "$_damon" ]; then
|
if [ -n "$_damon" ]; then
|
||||||
@ -709,25 +608,15 @@ prepare() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
### Selecting the ZSTD modules and kernel compression level
|
### Selecting the ZSTD modules and kernel compression level
|
||||||
if [ "$_zstd_level_value" = "ultra" ]; then
|
[ -z "$_zstd_level_value" ] && _die "The value is empty. Choose the correct one again."
|
||||||
echo "Enabling highest ZSTD modules and kernel compression ratio..."
|
|
||||||
scripts/config --set-val MODULE_COMPRESS_ZSTD_LEVEL 19 \
|
case "$_zstd_level_value" in
|
||||||
-e MODULE_COMPRESS_ZSTD_ULTRA \
|
ultra) scripts/config --set-val MODULE_COMPRESS_ZSTD_LEVEL 19 -e MODULE_COMPRESS_ZSTD_ULTRA --set-val MODULE_COMPRESS_ZSTD_LEVEL_ULTRA 22 --set-val ZSTD_COMP_VAL 22;;
|
||||||
--set-val MODULE_COMPRESS_ZSTD_LEVEL_ULTRA 22 \
|
normal) scripts/config --set-val MODULE_COMPRESS_ZSTD_LEVEL 9 -d MODULE_COMPRESS_ZSTD_ULTRA --set-val ZSTD_COMP_VAL 19;;
|
||||||
--set-val ZSTD_COMP_VAL 22
|
*) _die "The value '$_zstd_level_value' is invalid. Choose the correct one again.";;
|
||||||
elif [ "$_zstd_level_value" = "normal" ]; then
|
esac
|
||||||
echo "Enabling standard ZSTD modules and kernel compression ratio..."
|
|
||||||
scripts/config --set-val MODULE_COMPRESS_ZSTD_LEVEL 9 \
|
echo "Selecting '$_zstd_level_value' ZSTD modules and kernel compression level..."
|
||||||
-d MODULE_COMPRESS_ZSTD_ULTRA \
|
|
||||||
--set-val ZSTD_COMP_VAL 19
|
|
||||||
else
|
|
||||||
if [ -n "$_zstd_level_value" ]; then
|
|
||||||
error "The value $_zstd_level_value is invalid. Choose the correct one again."
|
|
||||||
else
|
|
||||||
error "The value is empty. Choose the correct one again."
|
|
||||||
fi
|
|
||||||
_die "Selecting the ZSTD modules and kernel compression level failed!"
|
|
||||||
fi
|
|
||||||
|
|
||||||
### Disable DEBUG
|
### Disable DEBUG
|
||||||
if [ -n "$_disable_debug" ]; then
|
if [ -n "$_disable_debug" ]; then
|
||||||
@ -813,7 +702,7 @@ build() {
|
|||||||
if [ -n "$_build_zfs" ]; then
|
if [ -n "$_build_zfs" ]; then
|
||||||
cd ${srcdir}/"zfs"
|
cd ${srcdir}/"zfs"
|
||||||
|
|
||||||
if [ -n "$_use_llvm_lto" ]; then
|
if [[ "$_use_llvm_lto" = "thin" || "$_use_llvm_lto" = "full" ]]; then
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
sed -i "s|\$(uname -r)|${pkgver}-${pkgsuffix}|g" configure
|
sed -i "s|\$(uname -r)|${pkgver}-${pkgsuffix}|g" configure
|
||||||
./configure KERNEL_LLVM=1 --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --libdir=/usr/lib \
|
./configure KERNEL_LLVM=1 --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --libdir=/usr/lib \
|
||||||
@ -970,7 +859,7 @@ for _p in "${pkgname[@]}"; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
sha256sums=('0be2919ba91cf5873a4cb4d429de78aad0469120d624e333a43b4b011d74d19d'
|
sha256sums=('0be2919ba91cf5873a4cb4d429de78aad0469120d624e333a43b4b011d74d19d'
|
||||||
'a9673e76b766f3a71472e39fb6a3e03e5c1e6d91680cb50b0b54af610039a847'
|
'111246473833b7576d33e284becf55dbb3533b657391fa2a3846b0da6d6039c6'
|
||||||
'41c34759ed248175e905c57a25e2b0ed09b11d054fe1a8783d37459f34984106'
|
'41c34759ed248175e905c57a25e2b0ed09b11d054fe1a8783d37459f34984106'
|
||||||
'87929b669f1081d34e27768ee9426da8c97038619d4deee38487f93ca9c9a629'
|
'87929b669f1081d34e27768ee9426da8c97038619d4deee38487f93ca9c9a629'
|
||||||
'479019c7ea52de10b6cadac468eb61215bafef596da3d751571bb6dc4fcd8787'
|
'479019c7ea52de10b6cadac468eb61215bafef596da3d751571bb6dc4fcd8787'
|
||||||
|
17
config
17
config
@ -1,8 +1,8 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/x86 6.1.10 Kernel Configuration
|
# Linux/x86 6.1.7 Kernel Configuration
|
||||||
#
|
#
|
||||||
CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.1 20230201"
|
CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.1 20230111"
|
||||||
CONFIG_CC_IS_GCC=y
|
CONFIG_CC_IS_GCC=y
|
||||||
CONFIG_GCC_VERSION=120201
|
CONFIG_GCC_VERSION=120201
|
||||||
CONFIG_CLANG_VERSION=0
|
CONFIG_CLANG_VERSION=0
|
||||||
@ -27,7 +27,7 @@ CONFIG_THREAD_INFO_IN_TASK=y
|
|||||||
#
|
#
|
||||||
# General setup
|
# General setup
|
||||||
#
|
#
|
||||||
CONFIG_CACHY=y
|
# CONFIG_CACHY is not set
|
||||||
CONFIG_INIT_ENV_ARG_LIMIT=32
|
CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||||
# CONFIG_COMPILE_TEST is not set
|
# CONFIG_COMPILE_TEST is not set
|
||||||
# CONFIG_WERROR is not set
|
# CONFIG_WERROR is not set
|
||||||
@ -552,6 +552,7 @@ CONFIG_HZ_300=y
|
|||||||
# CONFIG_HZ_600 is not set
|
# CONFIG_HZ_600 is not set
|
||||||
# CONFIG_HZ_750 is not set
|
# CONFIG_HZ_750 is not set
|
||||||
# CONFIG_HZ_1000 is not set
|
# CONFIG_HZ_1000 is not set
|
||||||
|
# CONFIG_HZ_2000 is not set
|
||||||
CONFIG_HZ=300
|
CONFIG_HZ=300
|
||||||
CONFIG_SCHED_HRTICK=y
|
CONFIG_SCHED_HRTICK=y
|
||||||
CONFIG_KEXEC=y
|
CONFIG_KEXEC=y
|
||||||
@ -2680,6 +2681,7 @@ CONFIG_DW_XDATA_PCIE=m
|
|||||||
CONFIG_PCI_ENDPOINT_TEST=m
|
CONFIG_PCI_ENDPOINT_TEST=m
|
||||||
CONFIG_XILINX_SDFEC=m
|
CONFIG_XILINX_SDFEC=m
|
||||||
CONFIG_MISC_RTSX=m
|
CONFIG_MISC_RTSX=m
|
||||||
|
CONFIG_WINESYNC=y
|
||||||
CONFIG_C2PORT=m
|
CONFIG_C2PORT=m
|
||||||
CONFIG_C2PORT_DURAMAR_2150=m
|
CONFIG_C2PORT_DURAMAR_2150=m
|
||||||
|
|
||||||
@ -4024,14 +4026,23 @@ CONFIG_RTL8XXXU_UNTESTED=y
|
|||||||
CONFIG_RTW88=m
|
CONFIG_RTW88=m
|
||||||
CONFIG_RTW88_CORE=m
|
CONFIG_RTW88_CORE=m
|
||||||
CONFIG_RTW88_PCI=m
|
CONFIG_RTW88_PCI=m
|
||||||
|
CONFIG_RTW88_SDIO=m
|
||||||
|
CONFIG_RTW88_USB=m
|
||||||
CONFIG_RTW88_8822B=m
|
CONFIG_RTW88_8822B=m
|
||||||
CONFIG_RTW88_8822C=m
|
CONFIG_RTW88_8822C=m
|
||||||
CONFIG_RTW88_8723D=m
|
CONFIG_RTW88_8723D=m
|
||||||
CONFIG_RTW88_8821C=m
|
CONFIG_RTW88_8821C=m
|
||||||
CONFIG_RTW88_8822BE=m
|
CONFIG_RTW88_8822BE=m
|
||||||
|
CONFIG_RTW88_8822BS=m
|
||||||
|
CONFIG_RTW88_8822BU=m
|
||||||
CONFIG_RTW88_8822CE=m
|
CONFIG_RTW88_8822CE=m
|
||||||
|
CONFIG_RTW88_8822CS=m
|
||||||
|
CONFIG_RTW88_8822CU=m
|
||||||
CONFIG_RTW88_8723DE=m
|
CONFIG_RTW88_8723DE=m
|
||||||
|
CONFIG_RTW88_8723DU=m
|
||||||
CONFIG_RTW88_8821CE=m
|
CONFIG_RTW88_8821CE=m
|
||||||
|
CONFIG_RTW88_8821CS=m
|
||||||
|
CONFIG_RTW88_8821CU=m
|
||||||
CONFIG_RTW88_DEBUG=y
|
CONFIG_RTW88_DEBUG=y
|
||||||
CONFIG_RTW88_DEBUGFS=y
|
CONFIG_RTW88_DEBUGFS=y
|
||||||
CONFIG_RTW89=m
|
CONFIG_RTW89=m
|
||||||
|
Loading…
Reference in New Issue
Block a user