diff --git a/.SRCINFO b/.SRCINFO index 6019bd1..215a9c5 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = linux-cachyos pkgdesc = Linux BORE scheduler Kernel by CachyOS with other patches and improvements - pkgver = 6.1.1 + pkgver = 6.1.2 pkgrel = 1 url = https://github.com/CachyOS/linux-cachyos arch = x86_64 @@ -21,18 +21,18 @@ pkgbase = linux-cachyos makedepends = make makedepends = patch options = !strip - source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.1.tar.xz + source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.2.tar.xz source = config source = auto-cpu-optimization.sh source = https://raw.githubusercontent.com/cachyos/kernel-patches/master/6.1/all/0001-cachyos-base-all.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 - sha256sums = a3e61377cf4435a9e2966b409a37a1056f6aaa59e561add9125a88e3c0971dfb - sha256sums = c9c662d6adbf5a4bfeee3cabab6eafe7b9a2d2d51532df2bd53df1c61b6d5260 + sha256sums = ee41f3c4f599b2f46f08aae428c9243db403e7292eb2c9f04ee34909b038d1ae + sha256sums = d4f3fc2581e338835a33983cca18bfb3225450a07c456c48c9b051c03236955a sha256sums = 32e77b3b71225c9f04df2d44c25f982773a8fff9927d26788366baab5e242e74 - sha256sums = 4f0aac3acf834b5fbe933ae0e133d27db23063c4ae4317c8d21e64fa624a47b5 - sha256sums = 7b3c12a19efe84f023bd64f0c984c73b0ec7a73c78cba96b5f92c5263ed2a46f - sha256sums = 26b1cc77c882132aebaa09c4da11280f85bc85f74fd989975064090bb680aa86 + sha256sums = 1ec422b623d99bcac518075d498e2a32f91151a532edb4ba51b993667b6c32a5 + sha256sums = 0241632f91c112dcdffbdc203a9245ee3234f9a8b4e5e2c2de45fd0d228840da + sha256sums = 564b08b5c076ad3b24ee2e975cac0630628581ce7c3b0eeaa40ce888136a00c6 pkgname = linux-cachyos pkgdesc = The Linux BORE scheduler Kernel by CachyOS with other patches and improvements kernel and modules diff --git a/PKGBUILD b/PKGBUILD index f6a4e3f..14197c2 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -97,6 +97,21 @@ _kyber_disable=${_kyber_disable-y} # 'none' - disable multigenerational LRU _lru_config=${_lru_config-'standard'} +### Enable per-VMA locking +# ATTENTION - one of three predefined values should be selected! +# 'standard' - enable per-VMA locking +# 'stats' - enable per-VMA locking with stats +# 'none' - disable per-VMA locking +_vma_config=${_vma_config-'standard'} + +### Transparent Hugepages +# ATTENTION - one of two predefined values should be selected! +# 'always' - always enable THP +# 'madvise' - madvise, prevent applications from allocating more memory resources than necessary +# 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 +_hugepage=${_hugepage-'always'} + ## Enable DAMON _damon=${_damon-} @@ -185,7 +200,7 @@ else pkgbase=linux-$pkgsuffix fi _major=6.1 -_minor=1 +_minor=2 #_minorc=$((_minor+1)) #_rcver=rc8 pkgver=${_major}.${_minor} @@ -276,7 +291,7 @@ if [ -n "$_use_kcfi" ]; then fi ## bcachefs Support if [ -n "$_bcachefs" ]; then - source+=("${_patchsource}/misc/0001-bcachefs-after-lru.patch") + source+=("${_patchsource}/misc/0001-bcachefs.patch") fi if [ -n "$_use_gcc_lto" ]; then ## GCC-LTO Patch @@ -492,7 +507,7 @@ prepare() { scripts/config --set-val NR_CPUS "$_nr_cpus" else echo "Setting default NR_CPUS..." - scripts/config --set-val NR_CPUS 128 + scripts/config --set-val NR_CPUS 320 fi ### Disable MQ Deadline I/O scheduler @@ -628,6 +643,47 @@ prepare() { exit fi + ### Select VMA config + if [ "$_vma_config" = "standard" ]; then + echo "Enabling per-VMA locking..." + scripts/config --enable PER_VMA_LOCK \ + --disable PER_VMA_LOCK_STATS + elif [ "$_vma_config" = "stats" ]; then + echo "Enabling per-VMA locking with stats..." + scripts/config --enable PER_VMA_LOCK \ + --enable PER_VMA_LOCK_STATS + elif [ "$_vma_config" = "none" ]; then + echo "Disabling per-VMA locking..." + scripts/config --disable 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 + error "Enabling per-VMA locking failed!" + exit + fi + + ### Select THP + if [ "$_hugepage" = "always" ]; then + echo "Enable THP always..." + scripts/config --disable TRANSPARENT_HUGEPAGE_MADVISE \ + --enable TRANSPARENT_HUGEPAGE_ALWAYS + elif [ "$_hugepage" = "madvise" ]; then + echo "Enable THP madvise..." + scripts/config --disable TRANSPARENT_HUGEPAGE_ALWAYS \ + --enable TRANSPARENT_HUGEPAGE_MADVISE + else + if [ -n "$_hugepage" ]; then + error "The value $_hugepage is invalid. Choose the correct one again." + else + error "The value is empty. Choose the correct one again." + fi + error "Setting THP has failed!" + exit + fi + ### Enable DAMON if [ -n "$_damon" ]; then echo "Enabling DAMON..." @@ -988,9 +1044,9 @@ for _p in "${pkgname[@]}"; do }" done -sha256sums=('a3e61377cf4435a9e2966b409a37a1056f6aaa59e561add9125a88e3c0971dfb' - 'c9c662d6adbf5a4bfeee3cabab6eafe7b9a2d2d51532df2bd53df1c61b6d5260' +sha256sums=('ee41f3c4f599b2f46f08aae428c9243db403e7292eb2c9f04ee34909b038d1ae' + 'd4f3fc2581e338835a33983cca18bfb3225450a07c456c48c9b051c03236955a' '32e77b3b71225c9f04df2d44c25f982773a8fff9927d26788366baab5e242e74' - '4f0aac3acf834b5fbe933ae0e133d27db23063c4ae4317c8d21e64fa624a47b5' - '7b3c12a19efe84f023bd64f0c984c73b0ec7a73c78cba96b5f92c5263ed2a46f' - '26b1cc77c882132aebaa09c4da11280f85bc85f74fd989975064090bb680aa86') + '1ec422b623d99bcac518075d498e2a32f91151a532edb4ba51b993667b6c32a5' + '0241632f91c112dcdffbdc203a9245ee3234f9a8b4e5e2c2de45fd0d228840da' + '564b08b5c076ad3b24ee2e975cac0630628581ce7c3b0eeaa40ce888136a00c6') diff --git a/config b/config index 5fca6e0..edd2b27 100644 --- a/config +++ b/config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 6.1.0 Kernel Configuration +# Linux/x86 6.1.2 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.0" CONFIG_CC_IS_GCC=y @@ -229,7 +229,6 @@ CONFIG_CGROUPS=y CONFIG_PAGE_COUNTER=y # CONFIG_CGROUP_FAVOR_DYNMODS is not set CONFIG_MEMCG=y -CONFIG_MEMCG_SWAP=y CONFIG_MEMCG_KMEM=y CONFIG_BLK_CGROUP=y CONFIG_CGROUP_WRITEBACK=y @@ -451,6 +450,7 @@ CONFIG_GENERIC_CPU=y # CONFIG_MNATIVE_AMD is not set CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_X86_TSC=y CONFIG_X86_CMPXCHG64=y CONFIG_X86_CMOV=y @@ -472,7 +472,7 @@ CONFIG_BOOT_VESA_SUPPORT=y CONFIG_NR_CPUS_RANGE_BEGIN=2 CONFIG_NR_CPUS_RANGE_END=512 CONFIG_NR_CPUS_DEFAULT=64 -CONFIG_NR_CPUS=128 +CONFIG_NR_CPUS=320 CONFIG_SCHED_CLUSTER=y CONFIG_SCHED_SMT=y CONFIG_SCHED_MC=y @@ -1158,7 +1158,7 @@ CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_MEMORY_BALLOON=y CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y -CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 +CONFIG_COMPACT_UNEVICTABLE_DEFAULT=0 CONFIG_PAGE_REPORTING=y CONFIG_MIGRATION=y CONFIG_DEVICE_MIGRATION=y @@ -1166,7 +1166,6 @@ CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y CONFIG_ARCH_ENABLE_THP_MIGRATION=y CONFIG_CONTIG_ALLOC=y CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_VIRT_TO_BUS=y CONFIG_MMU_NOTIFIER=y CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 @@ -1222,6 +1221,8 @@ CONFIG_PTE_MARKER_UFFD_WP=y # CONFIG_LRU_GEN is not set # CONFIG_LRU_GEN_ENABLED is not set # CONFIG_LRU_GEN_STATS is not set +CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y +# CONFIG_PER_VMA_LOCK is not set # # Data Access Monitoring @@ -4025,18 +4026,22 @@ CONFIG_RTL8XXXU_UNTESTED=y CONFIG_RTW88=m CONFIG_RTW88_CORE=m CONFIG_RTW88_PCI=m +CONFIG_RTW88_SDIO=m CONFIG_RTW88_USB=m CONFIG_RTW88_8822B=m CONFIG_RTW88_8822C=m CONFIG_RTW88_8723D=m CONFIG_RTW88_8821C=m CONFIG_RTW88_8822BE=m +CONFIG_RTW88_8822BS=m CONFIG_RTW88_8822BU=m CONFIG_RTW88_8822CE=m +CONFIG_RTW88_8822CS=m CONFIG_RTW88_8822CU=m CONFIG_RTW88_8723DE=m CONFIG_RTW88_8723DU=m CONFIG_RTW88_8821CE=m +CONFIG_RTW88_8821CS=m CONFIG_RTW88_8821CU=m CONFIG_RTW88_DEBUG=y CONFIG_RTW88_DEBUGFS=y @@ -11085,6 +11090,7 @@ CONFIG_DEBUG_WX=y CONFIG_GENERIC_PTDUMP=y CONFIG_PTDUMP_CORE=y # CONFIG_PTDUMP_DEBUGFS is not set +# CONFIG_PER_VMA_LOCK_STATS is not set # CONFIG_DEBUG_OBJECTS is not set CONFIG_SHRINKER_DEBUG=y CONFIG_HAVE_DEBUG_KMEMLEAK=y