summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO36
-rw-r--r--PKGBUILD98
-rw-r--r--config4
3 files changed, 82 insertions, 56 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 65fe806254fa..ed1e98765162 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = linux-cacule-rdb
- pkgdesc = Linux-CacULE-RDB Kernel by Hamad Marri and with some other patchsets compiled
+ pkgdesc = linux-cacule-rdb Kernel by Hamad Marri and with some other patchsets
pkgver = 5.14.8
- pkgrel = 2
+ pkgrel = 3
url = https://github.com/ptr1337/linux-cacule
arch = x86_64
arch = x86_64_v3
@@ -18,19 +18,12 @@ pkgbase = linux-cacule-rdb
makedepends = perl
makedepends = tar
makedepends = xz
- makedepends = llvm
- makedepends = llvm-libs
- makedepends = lld
options = !strip
source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.14.8.tar.xz
source = config
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/arch-patches-v8/0001-arch-patches.patch
- source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/CacULE/v5.14/cacule-5.14-full.patch
- source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/misc/0004-folio-mm.patch
- source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/misc/amd/0011-amd-ptdma.patch
+ source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/CacULE/v5.14/cacule-5.14.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/misc/amd/0006-amd-cppc.patch
- source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/misc/0007-string.patch
- source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/0001-Allow-polling-rate-to-be-set-for-all-usb-devices.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/misc/zen-tweaks-cacule.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/ll-patches/0001-LL-kconfig-add-750Hz-timer-interrupt-kernel-config-o.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/ll-patches/0003-sched-core-nr_migrate-256-increases-number-of-tasks-.patch
@@ -39,11 +32,11 @@ pkgbase = linux-cacule-rdb
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/bbr2-patches/0001-bbr2-5.14-introduce-BBRv2.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/block-patches/0001-block-patches.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/btrfs-patches-v4/0001-btrfs-patches.patch
- source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/fixes-miscellaneous-v4/0001-fixes-miscellaneous.patch
+ source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/fixes-miscellaneous-v5/0001-fixes-miscellaneous.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/futex-zen-patches/0001-futex-resync-from-gitlab.collabora.com.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/lqx-patches/0001-lqx-patches.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/lrng-patches-v2/0001-lrng-patches.patch
- source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/le9-patches-v4/0001-mm-vmscan-add-sysctl-knobs-for-protecting-the-workin.patch
+ source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/lru-zen-patches-v3/0001-lru-zen-patches.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/pf-patches-v6/0001-pf-patches.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/xanmod-patches-v2/0001-xanmod-patches.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/zen-patches-v2/0001-zen-patches.patch
@@ -56,14 +49,10 @@ pkgbase = linux-cacule-rdb
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/0001-ksm.patch
source = auto-cpu-optimization.sh
md5sums = ce6434b646ade20e292fb28c1aacde58
- md5sums = b49be006cb4c4a8dfd84f24717ba62a6
+ md5sums = 560440fcaec1f4f62bde8d337d2b752e
md5sums = ef749be7f2048456ae738f93229bf354
- md5sums = 024a0126cfcd18e000a2241f35c4d69e
- md5sums = a804260e2f301ffe2a17d6e3625a9711
- md5sums = e2a4af58b9d784226792fdc71d2cabba
+ md5sums = 40a9380b2884f5d417791f06389ba57e
md5sums = 430972ae1e936f99d8dc2a1f4fdaf774
- md5sums = d6e5581b4fade267a28deb8e73d236f5
- md5sums = 2e2baa635eda7d6a66b5f7437c055a37
md5sums = 9d7612159f8745044254077ce8a76df6
md5sums = f8e172e9ea554bbb1053eb122c3ace35
md5sums = af7328eb8c72c754e5bc8c7be1ca2f1c
@@ -72,11 +61,11 @@ pkgbase = linux-cacule-rdb
md5sums = 196d6ac961497aa880264b83160eb140
md5sums = a3f2cbf318dd2a63af9673f9e34e7125
md5sums = da72ef09deade4f800510e470eaf2f77
- md5sums = 6df5d4daa7aeb0fc5340a1bf42757096
+ md5sums = c5a1e8c50dd049b2f1b44d43d6754235
md5sums = 0849b25513dc47e3defa00f26f60eedb
md5sums = 6787c78ba3e7b0a34fbba9c50da7e3b4
md5sums = 366c90b64f9582c0733b8fb607a07594
- md5sums = 623d8c6b2131a0bb9f2953b798c09bb5
+ md5sums = d24fd0f81fbeed243b1b71fde7659548
md5sums = ccfbfe2efd7e51dbd67581a7d892230f
md5sums = 28864f14bf33bad92e57bc48bc5c2c78
md5sums = 381bc4f0ff885e9b67e5899476a30416
@@ -90,7 +79,7 @@ pkgbase = linux-cacule-rdb
md5sums = 21c98f19e883879dd3336c1fa143fd31
pkgname = linux-cacule-rdb
- pkgdesc = The Linux-CacULE-RDB Kernel by Hamad Marri and with some other patchsets compiled and modules
+ pkgdesc = The linux-cacule-rdb Kernel by Hamad Marri and with some other patchsets and modules
depends = coreutils
depends = kmod
depends = initramfs
@@ -98,8 +87,9 @@ pkgname = linux-cacule-rdb
optdepends = linux-firmware: firmware images needed for some devices
provides = VIRTUALBOX-GUEST-MODULES
provides = WIREGUARD-MODULE
+ replaces =
pkgname = linux-cacule-rdb-headers
- pkgdesc = Headers and scripts for building modules for the Linux-CacULE-RDB Kernel by Hamad Marri and with some other patchsets compiled
- depends = linux-cacule-rdb=5.14.8
+ pkgdesc = Headers and scripts for building modules for the linux-cacule-rdb Kernel by Hamad Marri and with some other patchsets
+ depends = linux-cacule=5.14.8
depends = pahole
diff --git a/PKGBUILD b/PKGBUILD
index 6ffdbfe390e4..913897a01c6e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -20,21 +20,20 @@ _winesync=y
### Set performance governor as default
_per_gov=y
-### Disable MQ-Deadline I/O scheduler
-_mq_deadline_disable=y
-
-### Disable Kyber I/O scheduler
-_kyber_disable=y
-
### Running with a 2000 HZ, 1000HZ, 750Hz or 500HZ tick rate
_2k_HZ_ticks=
_1k_HZ_ticks=
_750_HZ_ticks=y
_500_HZ_ticks=
+### Disable MQ-Deadline I/O scheduler
+_mq_deadline_disable=y
+
+### Disable Kyber I/O scheduler
+_kyber_disable=y
+
### Enable protect file mappings under memory pressure
_mm_protect=y
-
_lru_enable=y
### Enable Linux Random Number Generator
@@ -55,6 +54,15 @@ _use_auto_optimization=y
## Apply Kernel Optimization selecting
_use_optimization_select=
+### Use LLVM with FULL-LTO
+_use_llvm_lto=
+
+## Enable CFI (booting seems to be broken at nvidia based systems)
+_use_cfi=
+
+## Enable PGO (patch is failing when cfi is also used)
+_use_pgo=
+
# Only compile active modules to VASTLY reduce the number of modules built and
# the build time.
@@ -77,28 +85,28 @@ pkgbase=linux-cacule-rdb
pkgname=('linux-cacule-rdb' 'linux-cacule-rdb-headers')
pkgname=("${pkgbase}" "${pkgbase}-headers")
pkgver=5.14.8
-pkgrel=2
+pkgrel=3
arch=(x86_64 x86_64_v3)
-pkgdesc='Linux-CacULE-RDB Kernel by Hamad Marri and with some other patchsets compiled'
+pkgdesc='linux-cacule-rdb Kernel by Hamad Marri and with some other patchsets'
_gittag=v${pkgver%.*}-${pkgver##*.}
arch=('x86_64' 'x86_64_v3')
url="https://github.com/ptr1337/linux-cacule"
license=('GPL2')
options=('!strip')
makedepends=('kmod' 'bc' 'libelf' 'python-sphinx' 'python-sphinx_rtd_theme'
- 'graphviz' 'imagemagick' 'pahole' 'cpio' 'perl' 'tar' 'xz' 'llvm' 'llvm-libs' 'lld')
+ 'graphviz' 'imagemagick' 'pahole' 'cpio' 'perl' 'tar' 'xz')
_caculepatches="https://raw.githubusercontent.com/ptr1337/kernel-patches/master/CacULE"
_patchsource="https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14"
source=("https://cdn.kernel.org/pub/linux/kernel/v${pkgver:0:1}.x/linux-${pkgver}.tar.xz"
"config"
# "${_patchsource}/arch-patches-v5/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch"
"${_patchsource}/arch-patches-v8/0001-arch-patches.patch"
- "${_caculepatches}/v5.14/cacule-5.14-full.patch"
- "${_patchsource}/misc/0004-folio-mm.patch"
- "${_patchsource}/misc/amd/0011-amd-ptdma.patch"
+ "${_caculepatches}/v5.14/cacule-5.14.patch"
+# "${_patchsource}/misc/0004-folio-mm.patch"
+# "${_patchsource}/misc/amd/0011-amd-ptdma.patch"
"${_patchsource}/misc/amd/0006-amd-cppc.patch"
- "${_patchsource}/misc/0007-string.patch"
- "${_patchsource}/0001-Allow-polling-rate-to-be-set-for-all-usb-devices.patch"
+# "${_patchsource}/misc/0007-string.patch"
+# "${_patchsource}/0001-Allow-polling-rate-to-be-set-for-all-usb-devices.patch"
"${_patchsource}/misc/zen-tweaks-cacule.patch"
"${_patchsource}/ll-patches/0001-LL-kconfig-add-750Hz-timer-interrupt-kernel-config-o.patch"
"${_patchsource}/ll-patches/0003-sched-core-nr_migrate-256-increases-number-of-tasks-.patch"
@@ -109,12 +117,12 @@ source=("https://cdn.kernel.org/pub/linux/kernel/v${pkgver:0:1}.x/linux-${pkgver
"${_patchsource}/bbr2-patches/0001-bbr2-5.14-introduce-BBRv2.patch"
"${_patchsource}/block-patches/0001-block-patches.patch"
"${_patchsource}/btrfs-patches-v4/0001-btrfs-patches.patch"
- "${_patchsource}/fixes-miscellaneous-v4/0001-fixes-miscellaneous.patch"
+ "${_patchsource}/fixes-miscellaneous-v5/0001-fixes-miscellaneous.patch"
"${_patchsource}/futex-zen-patches/0001-futex-resync-from-gitlab.collabora.com.patch"
"${_patchsource}/lqx-patches/0001-lqx-patches.patch"
"${_patchsource}/lrng-patches-v2/0001-lrng-patches.patch"
- # "${_patchsource}/lru-zen-patches-v3/0001-lru-zen-patches.patch"
- "${_patchsource}/le9-patches-v4/0001-mm-vmscan-add-sysctl-knobs-for-protecting-the-workin.patch"
+ "${_patchsource}/lru-zen-patches-v3/0001-lru-zen-patches.patch"
+# "${_patchsource}/le9-patches-v4/0001-mm-vmscan-add-sysctl-knobs-for-protecting-the-workin.patch"
# "${_patchsource}/misc/le9fa-5.14.patch"
"${_patchsource}/pf-patches-v6/0001-pf-patches.patch"
"${_patchsource}/xanmod-patches-v2/0001-xanmod-patches.patch"
@@ -128,9 +136,25 @@ source=("https://cdn.kernel.org/pub/linux/kernel/v${pkgver:0:1}.x/linux-${pkgver
"${_patchsource}/0001-ksm.patch"
"auto-cpu-optimization.sh"
)
-BUILD_FLAGS=(
- )
+ if [ -n "$_use_cfi" ]; then
+source+=("${_patchsource}/0002-clang-cfi.patch")
+ fi
+
+ if [ -n "$_use_pgo" ]; then
+source+=("${_patchsource}/0001-PGO.patch")
+ fi
+
+ if [ -n "$_use_llvm_lto" ]; then
+
+ BUILD_FLAGS=(
+ LLVM=1
+ LLVM_IAS=1
+ CC=clang
+ CXX=clang++
+
+ )
+ fi
export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase
@@ -161,9 +185,20 @@ prepare() {
echo "Setting config..."
cp ../config .config
+ 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
- sh "${srcdir}"/auto-cpu-optimization.sh
+ "${srcdir}"/auto-cpu-optimization.sh
fi
if [ -n "$_use_optimization_select" ]; then
source "${startdir}"/configure
@@ -185,7 +220,7 @@ prepare() {
scripts/config --set-val CONFIG_HZ 1000
fi
- ### Optionally set tickrate to 500HZ
+ ### Optionally set tickrate to 750HZ
if [ -n "$_750_HZ_ticks" ]; then
echo "Setting tick rate to 750HZ..."
scripts/config --disable CONFIG_HZ_300
@@ -246,6 +281,7 @@ prepare() {
echo "Disabling Kyber I/O scheduler..."
scripts/config --disable CONFIG_MQ_IOSCHED_KYBER
fi
+
### Enable protect file mappings under memory pressure
if [ -n "$_mm_protect" ]; then
echo "Enabling protect file mappings under memory pressure..."
@@ -356,8 +392,11 @@ prepare() {
scripts/config --enable CONFIG_NTFS3_64BIT_CLUSTER
scripts/config --enable CONFIG_NTFS3_LZX_XPRESS
scripts/config --enable CONFIG_NTFS3_FS_POSIX_ACL
+ ### miscellaneous ###
scripts/config --enable CONFIG_ZEN_INTERACTIVE
scripts/config --enable CONFIG_x86_AMD_PSTATE
+ scripts/config --enable CONFIG_LTO_NONE
+
### Optionally use running kernel's config
# code originally by nous; http://aur.archlinux.org/packages.php?ID=40191
if [ -n "$_use_current" ]; then
@@ -410,6 +449,7 @@ package_linux-cacule-rdb() {
optdepends=('crda: to set the correct wireless channels of your country'
'linux-firmware: firmware images needed for some devices')
provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE)
+ replaces=()
cd "${srcdir:?}/linux-${pkgver}" || (
echo -e "\E[1;31mCan't cd to ${srcdir:?}/linux-${pkgver} directory! Package linux kernel failed! \E[0m"
@@ -438,7 +478,7 @@ package_linux-cacule-rdb() {
package_linux-cacule-rdb-headers() {
pkgdesc="Headers and scripts for building modules for the ${pkgdesc}"
- depends=("linux-cacule-rdb=${pkgver}" "pahole")
+ depends=("linux-cacule=${pkgver}" "pahole")
cd "${srcdir:?}/linux-${pkgver}" || (
echo -e "\E[1;31mCan't cd to ${srcdir:?}/linux-${pkgver} directory! Package linux headers failed! \E[0m"
@@ -524,14 +564,10 @@ package_linux-cacule-rdb-headers() {
}
md5sums=('ce6434b646ade20e292fb28c1aacde58'
- 'b49be006cb4c4a8dfd84f24717ba62a6'
+ '560440fcaec1f4f62bde8d337d2b752e'
'ef749be7f2048456ae738f93229bf354'
- '024a0126cfcd18e000a2241f35c4d69e'
- 'a804260e2f301ffe2a17d6e3625a9711'
- 'e2a4af58b9d784226792fdc71d2cabba'
+ '40a9380b2884f5d417791f06389ba57e'
'430972ae1e936f99d8dc2a1f4fdaf774'
- 'd6e5581b4fade267a28deb8e73d236f5'
- '2e2baa635eda7d6a66b5f7437c055a37'
'9d7612159f8745044254077ce8a76df6'
'f8e172e9ea554bbb1053eb122c3ace35'
'af7328eb8c72c754e5bc8c7be1ca2f1c'
@@ -540,11 +576,11 @@ md5sums=('ce6434b646ade20e292fb28c1aacde58'
'196d6ac961497aa880264b83160eb140'
'a3f2cbf318dd2a63af9673f9e34e7125'
'da72ef09deade4f800510e470eaf2f77'
- '6df5d4daa7aeb0fc5340a1bf42757096'
+ 'c5a1e8c50dd049b2f1b44d43d6754235'
'0849b25513dc47e3defa00f26f60eedb'
'6787c78ba3e7b0a34fbba9c50da7e3b4'
'366c90b64f9582c0733b8fb607a07594'
- '623d8c6b2131a0bb9f2953b798c09bb5'
+ 'd24fd0f81fbeed243b1b71fde7659548'
'ccfbfe2efd7e51dbd67581a7d892230f'
'28864f14bf33bad92e57bc48bc5c2c78'
'381bc4f0ff885e9b67e5899476a30416'
diff --git a/config b/config
index 4b706338c7a0..32eb4a224885 100644
--- a/config
+++ b/config
@@ -885,8 +885,8 @@ CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_HAS_LTO_CLANG=y
# CONFIG_LTO_NONE is not set
-CONFIG_LTO_CLANG_FULL=y
-# CONFIG_LTO_CLANG_THIN is not set
+CONFIG_LTO_CLANG_THIN=y
+# CONFIG_LTO_CLANG_FULL is not set
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK=y