@@ -154,6 +154,18 @@ _autofdo=${_autofdo-}
154
154
# Name for the AutoFDO profile
155
155
_autofdo_profile_name=${_autofdo_profile_name-}
156
156
157
+ # Propeller should be applied, after the kernel is optimized with AutoFDO
158
+ # Workflow:
159
+ # 1. Proceed with above AutoFDO Optimization, but enable at the final compilation also _propeller
160
+ # 2. Boot into the AutoFDO Kernel and profile it
161
+ # 3. Convert the profile into the propeller profile, example:
162
+ # create_llvm_prof --binary=/usr/src/debug/linux-cachyos-rc/vmlinux --profile=propeller.data --format=propeller --propeller_output_module_name --out=propeller_cc_profile.txt --propeller_symorder=propeller_ld_profile.txt
163
+ # 4. Place the propeller_cc_profile.txt and propeller_ld_profile.txt into the srcdir
164
+ # 5. Enable _propeller_prefix
165
+ _propeller=${_propeller-}
166
+
167
+ # Enable this after the profiles have been generated
168
+ _propeller_profiles=${_propeller_profiles-}
157
169
158
170
# ATTENTION: Do not modify after this line
159
171
_is_lto_kernel () {
@@ -173,15 +185,15 @@ pkgbase="linux-$_pkgsuffix"
173
185
_major=6.13
174
186
_minor=0
175
187
# _minorc=$((_minor+1))
176
- _rcver=rc6
188
+ _rcver=rc7
177
189
pkgver=${_major} .${_rcver}
178
190
# _stable=${_major}.${_minor}
179
191
# _stable=${_major}
180
192
_stable=${_major} -${_rcver}
181
193
_srcname=linux-${_stable}
182
194
# _srcname=linux-${_major}
183
195
pkgdesc=' Linux BORE + LTO + Cachy Sauce Kernel by CachyOS with other patches and improvements - Release Candidate'
184
- pkgrel=2
196
+ pkgrel=1
185
197
_kernver=" $pkgver -$pkgrel "
186
198
_kernuname=" ${pkgver} -${_pkgsuffix} "
187
199
arch=(' x86_64' )
@@ -266,6 +278,12 @@ if [ -n "$_autofdo" ] && [ -n "$_autofdo_profile_name" ]; then
266
278
fi
267
279
fi
268
280
281
+ # Use generated Propeller Profile
282
+ if [ -n " $_propeller " ] && [ -n " $_propeller_profiles " ]; then
283
+ source+=(propeller_cc_profile.txt
284
+ propeller_ld_profile.txt)
285
+ fi
286
+
269
287
# # List of CachyOS schedulers
270
288
case " $_cpusched " in
271
289
cachyos|bore|rt-bore|hardened) # CachyOS Scheduler (BORE)
@@ -491,6 +509,15 @@ prepare() {
491
509
BUILD_FLAGS+=(CLANG_AUTOFDO_PROFILE=" ${srcdir} /${_autofdo_profile_name} " )
492
510
fi
493
511
512
+ # Propeller Optimization
513
+ if [ -n " $_propeller " ]; then
514
+ scripts/config -e PROPELLER_CLANG
515
+ fi
516
+ if [ -n " $_propeller " ] && [ -n " $_propeller_profiles " ]; then
517
+ echo " Propeller profile has been found..."
518
+ BUILD_FLAGS+=(CLANG_PROPELLER_PROFILE_PREFIX=" ${srcdir} /propeller" )
519
+ fi
520
+
494
521
echo " Enable USER_NS_UNPRIVILEGED"
495
522
scripts/config -e USER_NS
496
523
@@ -831,9 +858,9 @@ for _p in "${pkgname[@]}"; do
831
858
}"
832
859
done
833
860
834
- b2sums=(' e82921a5852d76802004fa3764f60a916b5a2382d81ec593b63421bdfd09a2222c8afe91905abcbb1d9a4bbb270808cb247ca7f63f1db70abba39c7507133834 '
861
+ b2sums=(' ce975f0916407a2c5c1661ae704d453559e01e3dcb0faaed98c717b1b676617f31beaedde16a6e784ea0b81d88483cd8da85c8f48a4f2ba455dfb0cc1fdca530 '
835
862
' 9f099de709e971acfb9463ac96810a0ddfbd669dd8af891c7301e9ae463130a0ece65ce0c6ec35af62fcb4ed921e15870ec9db29f74b7f9d9017ff268b43d2d5'
836
863
' 390c7b80608e9017f752b18660cc18ad1ec69f0aab41a2edfcfc26621dcccf5c7051c9d233d9bdf1df63d5f1589549ee0ba3a30e43148509d27dafa9102c19ab'
837
- ' 4bb8bbbaea6669663e2b4d4879dba05d352fd3fb5b8d9b9889d0c3ffcb8c46a6d5f63a167c64470ea6ea17e1046c7d297c7139edc8da0df2ae7636d20e311619 '
864
+ ' 25a7fe2fb073cf425c5f478b33219dcd5afd354663e42bbccb8e3a19afa99951c1997816a4d635915dfce8e0eeb0f6d7a0a9ae1f11db1c1f9b5e9aea7cc1262d '
838
865
' c7294a689f70b2a44b0c4e9f00c61dbd59dd7063ecbe18655c4e7f12e21ed7c5bb4f5169f5aa8623b1c59de7b2667facb024913ecb9f4c650dabce4e8a7e5452'
839
866
' d376480bcb5c468b431be29e252fbf25b350d2742d24e9e41fb113bb4ccc33045566d5ff76005ba167ca58bebde211e93a918c7a7c88da86fb29a28c273a30da' )
0 commit comments