9
9
# Set these variables to ANYTHING that is not null or choose proper variable to enable them
10
10
11
11
# ## Selecting CachyOS config
12
- _cachy_config= ${_cachy_config-y}
12
+ : " ${_cachy_config:= y} "
13
13
14
14
# ## Selecting the CPU scheduler
15
15
# ATTENTION - only one of the following values can be selected:
@@ -20,25 +20,25 @@ _cachy_config=${_cachy_config-y}
20
20
# 'eevdf' - select 'EEVDF Scheduler'
21
21
# 'rt' - select EEVDF, but includes a series of realtime patches
22
22
# 'rt-bore' - select Burst-Oriented Response Enhancer, but includes a series of realtime patches
23
- _cpusched= ${_cpusched- bore}
23
+ : " ${_cpusched:= bore} "
24
24
25
25
# ## Tweak kernel options prior to a build via nconfig
26
- _makenconfig= ${_makenconfig-}
26
+ : " ${_makenconfig:= } "
27
27
28
28
# ## Tweak kernel options prior to a build via menuconfig
29
- _makemenuconfig= ${_makemenuconfig-}
29
+ : " ${_makemenuconfig:= } "
30
30
31
31
# ## Tweak kernel options prior to a build via xconfig
32
- _makexconfig= ${_makexconfig-}
32
+ : " ${_makexconfig:= } "
33
33
34
34
# ## Tweak kernel options prior to a build via gconfig
35
- _makegconfig= ${_makegconfig-}
35
+ : " ${_makegconfig:= } "
36
36
37
37
# NUMA is optimized for multi-socket motherboards.
38
38
# A single multi-core CPU actually runs slower with NUMA enabled.
39
39
# See, https://bugs.archlinux.org/task/31187
40
40
# It seems that in 2023 this is not really a huge regression anymore
41
- _NUMAdisable= ${_NUMAdisable-}
41
+ : " ${_NUMAdisable:= } "
42
42
43
43
# Compile ONLY used modules to VASTLYreduce the number of modules built
44
44
# and the build time.
@@ -48,44 +48,44 @@ _NUMAdisable=${_NUMAdisable-}
48
48
# This PKGBUILD read the database kept if it exists
49
49
#
50
50
# More at this wiki page ---> https://wiki.archlinux.org/index.php/Modprobed-db
51
- _localmodcfg= ${_localmodcfg-}
51
+ : " ${_localmodcfg:= } "
52
52
53
53
# Path to the list of used modules
54
- _localmodcfg_path= ${_localmodcfg_path- " $HOME /.config/modprobed.db" }
54
+ : " ${_localmodcfg_path:= " $HOME /.config/modprobed.db" } "
55
55
56
56
# Use the current kernel's .config file
57
57
# Enabling this option will use the .config of the RUNNING kernel rather than
58
58
# the ARCH defaults. Useful when the package gets updated and you already went
59
59
# through the trouble of customizing your config options. NOT recommended when
60
60
# a new kernel is released, but again, convenient for package bumps.
61
- _use_current= ${_use_current-}
61
+ : " ${_use_current:= } "
62
62
63
63
# ## Enable KBUILD_CFLAGS -O3
64
- _cc_harder= ${_cc_harder-y}
64
+ : " ${_cc_harder:= y} "
65
65
66
66
# ## Set performance governor as default
67
- _per_gov= ${_per_gov-}
67
+ : " ${_per_gov:= } "
68
68
69
69
# ## Enable TCP_CONG_BBR3
70
- _tcp_bbr3= ${_tcp_bbr3-}
70
+ : " ${_tcp_bbr3:= } "
71
71
72
72
# ## Running with a 1000HZ, 750Hz, 625Hz, 600 Hz, 500Hz, 300Hz, 250Hz and 100Hz tick rate
73
- _HZ_ticks= ${_HZ_ticks- 1000}
73
+ : " ${_HZ_ticks:= 1000} "
74
74
75
75
# # Choose between perodic, idle or full
76
76
# ## Full tickless can give higher performances in various cases but, depending on hardware, lower consistency.
77
- _tickrate= ${_tickrate- full}
77
+ : " ${_tickrate:= full} "
78
78
79
79
# # Choose between full(low-latency), voluntary or server
80
- _preempt= ${_preempt- full}
80
+ : " ${_preempt:= full} "
81
81
82
82
# ## Transparent Hugepages
83
83
# ATTENTION - one of two predefined values should be selected!
84
84
# 'always' - always enable THP
85
85
# 'madvise' - madvise, prevent applications from allocating more memory resources than necessary
86
86
# More infos here:
87
87
# 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
88
- _hugepage= ${_hugepage- always}
88
+ : " ${_hugepage:= always} "
89
89
90
90
# CPU compiler optimizations - Defaults to prompt at kernel config if left empty
91
91
# AMD CPUs : "k8" "k8sse3" "k10" "barcelona" "bobcat" "jaguar" "bulldozer" "piledriver" "steamroller" "excavator" "zen" "zen2" "zen3" "zen4"
@@ -95,52 +95,52 @@ _hugepage=${_hugepage-always}
95
95
# - "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)
96
96
# - "generic" (kernel's default - to share the package between machines with different CPU µarch as long as they are x86-64)
97
97
#
98
- _processor_opt= ${_processor_opt-}
98
+ : " ${_processor_opt:= } "
99
99
100
100
# This does automatically detect your supported CPU and optimizes for it
101
- _use_auto_optimization= ${_use_auto_optimization-y}
101
+ : " ${_use_auto_optimization:= y} "
102
102
103
103
# Clang LTO mode, only available with the "llvm" compiler - options are "none", "full" or "thin".
104
104
# ATTENTION - one of three predefined values should be selected!
105
105
# "full: uses 1 thread for Linking, slow and uses more memory, theoretically with the highest performance gains."
106
106
# "thin: uses multiple threads, faster and uses less memory, may have a lower runtime performance than Full."
107
107
# "none: disable LTO
108
- _use_llvm_lto= ${_use_llvm_lto- none}
108
+ : " ${_use_llvm_lto:= none} "
109
109
110
110
# Use suffix -lto only when requested by the user
111
111
# Enabled by default.
112
112
# y - enable -lto suffix
113
113
# n - disable -lto suffix
114
114
# https://github.com/CachyOS/linux-cachyos/issues/36
115
- _use_lto_suffix= ${_use_lto_suffix-y}
115
+ : " ${_use_lto_suffix:= y} "
116
116
117
117
# Use suffix -gcc when requested by the user
118
118
# This was added to facilitate https://github.com/CachyOS/linux-cachyos/issues/286
119
- _use_gcc_suffix= ${_use_gcc_suffix-}
119
+ : " ${_use_gcc_suffix:= } "
120
120
121
121
# KCFI is a proposed forward-edge control-flow integrity scheme for
122
122
# Clang, which is more suitable for kernel use than the existing CFI
123
123
# scheme used by CONFIG_CFI_CLANG. kCFI doesn't require LTO, doesn't
124
124
# alter function references to point to a jump table, and won't break
125
125
# function address equality.
126
- _use_kcfi= ${_use_kcfi-}
126
+ : " ${_use_kcfi:= } "
127
127
128
128
# Build the zfs module in to the kernel
129
129
# WARNING: The ZFS module doesn't build with selected RT sched due to licensing issues.
130
130
# If you use ZFS, refrain from building the RT kernel
131
- _build_zfs= ${_build_zfs-}
131
+ : " ${_build_zfs:= } "
132
132
133
133
# Builds the nvidia module and package it into a own base
134
134
# This does replace the requirement of nvidia-dkms
135
- _build_nvidia= ${_build_nvidia-}
135
+ : " ${_build_nvidia:= } "
136
136
137
137
# Builds the open nvidia module and package it into a own base
138
138
# This does replace the requirement of nvidia-open-dkms
139
139
# Use this only if you have Turing+ GPU
140
- _build_nvidia_open= ${_build_nvidia_open-}
140
+ : " ${_build_nvidia_open:= } "
141
141
142
142
# Build a debug package with non-stripped vmlinux
143
- _build_debug= ${_build_debug-}
143
+ : " ${_build_debug:= } "
144
144
145
145
# ATTENTION: Do not modify after this line
146
146
_is_lto_kernel () {
0 commit comments