Compare commits

...

14 Commits

Author SHA1 Message Date
Sravan Balaji
8d5131804e PDS Kernel Configuration 2023-11-08 21:41:44 -05:00
Piotr Górski
7e07a8288d 6.6: Add bcachefs (#837)
Signed-off-by: Piotr Gorski <lucjan.lucjanov@gmail.com>
2023-11-02 18:05:08 +01:00
Piotr Górski
2a6832e697 6.6: EEVDF adaptation to BORE 3.2.9 (#832)
Signed-off-by: Piotr Gorski <lucjan.lucjanov@gmail.com>
2023-11-02 17:53:09 +01:00
Tk-Glitch
94a2ac0bd8 6.6rc: For BORE, apply additional/pending eevdf changes.
Following 1454d6c705
2023-10-26 16:35:00 +02:00
Tk-Glitch
a2b6fc7bbe Update rt mappings 2023-10-26 04:01:40 +02:00
Tk-Glitch
2f482b4904 6.1: glitched-base fixups for current
Fixes https://github.com/Frogging-Family/linux-tkg/issues/824
2023-10-26 03:59:56 +02:00
Tk-Glitch
b30f072867 6.5/6.6: Apply eevdf-Disable-DELAY_DEQUEUE on eevdf
Following 94383606d0
2023-10-26 03:59:19 +02:00
Piotr Górski
94383606d0 EEVDF: Disable DELAY_DEQUEUE - fix #830 (#831)
Signed-off-by: Piotr Gorski <lucjan.lucjanov@gmail.com>
2023-10-26 03:07:09 +02:00
Piotr Górski
1454d6c705 6.6: EEVDF adaptation to BORE 3.2.8 (#829)
Signed-off-by: Piotr Gorski <lucjan.lucjanov@gmail.com>
2023-10-24 21:41:31 +02:00
Piotr Górski
d9da42be99 6.5: EEVDF adaptation to BORE 3.2.8 (#828)
Signed-off-by: Piotr Gorski <lucjan.lucjanov@gmail.com>
2023-10-24 21:07:12 +02:00
Piotr Górski
20aea5a14a 6.5: Add EEVDF urgent fix (#827)
Signed-off-by: Piotr Gorski <lucjan.lucjanov@gmail.com>
2023-10-17 22:30:22 +02:00
Piotr Górski
18f10e2989 6.5: Add new EEVDF patches for BORE 3.2.0 (#826)
Signed-off-by: Piotr Gorski <lucjan.lucjanov@gmail.com>
2023-10-13 15:26:14 +02:00
FintasticMan
d1caaffa2e Add some more kernel modules to diet config (#814)
Partly taken from my database, partly from @ryanmusante's.
Also update the sorting to match what modprobed-db outputs, so that it's
easier to check which modules are missing from the diet config.
2023-10-09 22:12:49 +02:00
Yifan Zhu
097c2ed1b5 Correct comments for modprobed.db option (#823)
Prompting at build time was removed in commit 1a69f04e6e

Co-authored-by: Yifan Zhu <fanzhuyifan@gmail.com>
2023-10-09 22:11:00 +02:00
7 changed files with 99299 additions and 278 deletions

View File

@@ -3,7 +3,7 @@
# Linux distribution you are using, options are "Arch", "Ubuntu", "Debian", "Fedora", "Suse", "Gentoo", "Generic".
# It is automatically set to "Arch" when using PKGBUILD.
# If left empty, the script will prompt
_distro=""
_distro="Arch"
# Kernel Version - x.x format without the subversion (will always grab latest available subversion) is recommended
# you can also set a specific kernel version, e.g. "6.0-rc4" or "5.10.51",
@@ -46,7 +46,7 @@ CUSTOM_GCC_PATH=""
CUSTOM_LLVM_PATH=""
# Set to true to bypass makepkg.conf and use all available threads for compilation. False will respect your makepkg.conf options.
_force_all_threads="true"
_force_all_threads="false"
# Set to true to prevent ccache from being used and set CONFIG_GCC_PLUGINS=y (which needs to be disabled for ccache to work properly)
_noccache="false"
@@ -59,17 +59,17 @@ _kernel_on_diet="false"
# Set to true to use modprobed db to clean config from unneeded modules. Speeds up compilation considerably. Requires root - https://wiki.archlinux.org/index.php/Modprobed-db
# Using this option can trigger user prompts if the config doesn't go smoothly.
# !!!! Make sure to have a well populated db !!!! - Leave empty to be asked about it at build time
# !!!! Make sure to have a well populated db !!!!
_modprobeddb="false"
# modprobed-db database file location
_modprobeddb_db_path=~/.config/modprobed.db
# Set to "1" to call make menuconfig, "2" to call make nconfig, "3" to call make xconfig, before building the kernel. Set to false to disable and skip the prompt.
_menunconfig=""
_menunconfig="false"
# Set to true to generate a kernel config fragment from your changes in menuconfig/nconfig. Set to false to disable and skip the prompt.
_diffconfig=""
_diffconfig="false"
# Set to the file name where the generated config fragment should be written to. Only used if _diffconfig is active.
_diffconfig_name=""
@@ -104,11 +104,11 @@ _STRIP="true"
# CPU scheduler - Options are "pds", "bmq", "cacule", "tt", "bore", "bore-eevdf", "eevdf" or "cfs" (kernel's default)
# "upds" (TkG's Undead PDS) and "muqss" are also available on legacy kernel revisions
_cpusched=""
_cpusched="pds"
# Compiler to use - Options are "gcc" or "llvm".
# For advanced users.
_compiler=""
_compiler="gcc"
# Force the use of the LLVM Integrated Assembler whether using LLVM, LTO or not.
# Set to "1" to enable.
@@ -138,7 +138,7 @@ _preempt_rt_force=""
# For BMQ: 0: No yield.
# 1: Deboost and requeue task. (Default)
# 2: Set rq skip task.
_sched_yield_type=""
_sched_yield_type="0"
# Round Robin interval is the longest duration two tasks with the same nice level will be delayed for. When CPU time is requested by a task, it receives a time slice equal
# to the rr_interval in addition to a virtual deadline. When using yield_type 2, a low value can help offset the disadvantages of rescheduling a process that has yielded.
@@ -146,7 +146,7 @@ _sched_yield_type=""
# PDS default: 4ms"
# BMQ default: 2ms"
# Set to "1" for 2ms, "2" for 4ms, "3" for 6ms, "4" for 8ms, or "default" to keep the chosen scheduler defaults.
_rr_interval=""
_rr_interval="default"
# Set to "true" to disable FUNCTION_TRACER/GRAPH_TRACER, lowering overhead but limiting debugging and analyzing of kernel functions - Kernel default is "false"
_ftracedisable="false"
@@ -161,10 +161,10 @@ _misc_adds="true"
# Full tickless can give higher performances in case you use isolation of CPUs for tasks
# and it works only when using the nohz_full kernel parameter, otherwise behaves like idle.
# Just tickless idle perform better for most platforms.
_tickless=""
_tickless="2"
# Set to "true" to use ACS override patch - https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#Bypassing_the_IOMMU_groups_.28ACS_override_patch.29 - Kernel default is "false"
_acs_override=""
_acs_override="false"
# Set to "true" to add Bcache filesystem support. You'll have to install bcachefs-tools-git from AUR for utilities - https://bcachefs.org/ - If in doubt, set to "false"
# This can be buggy and isn't recommended on a production machine, also enabling this option will not allow you to enable MGLRU.
@@ -175,7 +175,7 @@ _bcachefs="false"
_winesync="false"
# Set to "true" to enable Binder modules to use Waydroid Android containers
_waydroid=""
_waydroid="false"
# Various patches and tweaks from Zen/Liquorix, Xanmod and the community - Default is "true"
_glitched_base="true"
@@ -185,7 +185,7 @@ _glitched_base="true"
_zenify="true"
# compiler optimization level - 1. Optimize for performance (-O2); 2. Optimize harder (-O3); 3. Optimize for size (-Os) - Kernel default is "1"
_compileroptlevel="1"
_compileroptlevel="2"
# CPU compiler optimizations - Defaults to prompt at kernel config if left empty
# AMD CPUs : "k8" "k8sse3" "k10" "barcelona" "bobcat" "jaguar" "bulldozer" "piledriver" "steamroller" "excavator" "zen" "zen2" "zen3" "zen4" (zen3 opt support depends on GCC11) (zen4 opt support depends on GCC13)
@@ -199,7 +199,7 @@ _compileroptlevel="1"
# - "generic_v2" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v2
# - "generic_v3" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v3
# - "generic_v4" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v4
_processor_opt=""
_processor_opt="skylake"
# CacULE only - Enable Response Driven Balancer, an experimental load balancer for CacULE
_cacule_rdb="false"
@@ -212,13 +212,13 @@ _cacule_rdb_interval="19"
_tt_high_hz="false"
# MuQSS and PDS only - SMT (Hyperthreading) aware nice priority and policy support (SMT_NICE) - Kernel default is "true" - You can disable this on non-SMT/HT CPUs for lower overhead
_smt_nice=""
_smt_nice="true"
# Trust the CPU manufacturer to initialize Linux's CRNG (RANDOM_TRUST_CPU) - Kernel default is "false"
_random_trust_cpu="true"
# Timer frequency - "100" "250" "300" "500" "750" "1000" ("2000" is available for cacule cpusched only) - More options available in kernel config prompt when left empty depending on selected cpusched with the default option pointed with a ">" (2000 for cacule, 100 for muqss and 1000 for other cpu schedulers)
_timer_freq=""
_timer_freq="1000"
# Default CPU governor - "performance", "ondemand", "schedutil" or leave empty for default (schedutil)
_default_cpu_gov="ondemand"
@@ -234,7 +234,7 @@ _aggressive_ondemand="true"
_tcp_cong_alg=""
# You can pass a default set of kernel command line options here - example: "intel_pstate=passive nowatchdog amdgpu.ppfeaturemask=0xfffd7fff mitigations=off"
_custom_commandline="intel_pstate=passive split_lock_detect=off"
_custom_commandline=""
# Selection of Clearlinux patches
_clear_patches="true"

View File

@@ -25,9 +25,9 @@ algif_hash
algif_skcipher
alx
amd64_edac
amdgpu
amd_pmc
amd_pstate
amdgpu
amdxcp
apple_mfi_fastcharge
appletalk
@@ -54,8 +54,8 @@ bluetooth
bnep
bpf
bpf_preload
bridge
br_netfilter
bridge
btbcm
btcoexist
btintel
@@ -91,10 +91,10 @@ cmdlinepart
coretemp
cpufreq_ondemand
crc16
crc32c_generic
crc32c_intel
crc32_generic
crc32_pclmul
crc32c_generic
crc32c_intel
crc64
crc64_rocksoft
crc64_rocksoft_generic
@@ -109,13 +109,13 @@ cuse
dca
des_generic
dm_crypt
dmi_sysfs
dm_log
dm_mirror
dm_mod
dm_multipath
dm_region_hash
dm_round_robin
dmi_sysfs
dns_resolver
drm
drm_buddy
@@ -127,10 +127,10 @@ drm_ttm_helper
dvb_core
ebtable_filter
ebtables
ec_sys
ecb
ecc
ecdh_generic
ec_sys
edac_mce_amd
ee1004
eeepc_wmi
@@ -178,7 +178,6 @@ hid_logitech_hidpp
hid_microsoft
hid_multitouch
hid_nintendo
hidp
hid_playstation
hid_roccat
hid_roccat_common
@@ -187,6 +186,8 @@ hid_roccat_ryos
hid_sony
hid_steam
hid_wiimote
hidp
hp_wmi
hv_balloon
hv_netvsc
hv_storvsc
@@ -207,6 +208,8 @@ i2c_piix4
i2c_smbus
i8042
i915
iTCO_vendor_support
iTCO_wdt
ib_cm
ib_core
idma64
@@ -215,10 +218,12 @@ igc
inet_diag
input_leds
int3400_thermal
int3403_thermal
int340x_thermal_zone
intel_agp
intel_cstate
intel_gtt
intel_hid
intel_lpss
intel_lpss_pci
intel_pch_thermal
@@ -227,37 +232,36 @@ intel_powerclamp
intel_rapl_common
intel_rapl_msr
intel_soc_dts_iosf
intel_tcc_cooling
intel_uncore
intel_vsec
intel_wmi_thunderbolt
iommufd
iommu_v2
iommufd
ip6_tables
ip6_udp_tunnel
ip6t_REJECT
ip6t_rt
ip6table_filter
ip6table_mangle
ip6table_nat
ip6table_raw
ip6_tables
ip6table_security
ip6t_REJECT
ip6t_rt
ip6_udp_tunnel
ip_set
ip_tables
ipmi_devintf
ipmi_msghandler
ip_set
ipt_REJECT
iptable_filter
iptable_mangle
iptable_nat
iptable_raw
ip_tables
iptable_security
ipt_REJECT
ipv6
ir_kbd_i2c
irqbypass
isofs
it87
iTCO_vendor_support
iTCO_wdt
iw_cm
iwlmei
iwlmvm
@@ -301,15 +305,17 @@ mbcache
mc
mc44s803
md4
md_mod
mdio
mdio_devres
md_mod
mei
mei_gsc
mei_hdcp
mei_me
mei_pxp
mii
minix
mmc_core
mousedev
mptcp_diag
mrp
@@ -352,14 +358,14 @@ nf_nat_irc
nf_nat_pptp
nf_nat_sip
nf_nat_tftp
nf_reject_ipv4
nf_reject_ipv6
nf_tables
nfnetlink
nfnetlink_log
nfnetlink_queue
nf_reject_ipv4
nf_reject_ipv6
nfs
nfsv4
nf_tables
nft_chain_nat
nft_compat
nft_ct
@@ -383,6 +389,7 @@ nls_utf8
nouveau
ntfs
ntfs3
nvidia_wmi_ec_backlight
nvme
nvme_common
nvme_core
@@ -438,12 +445,18 @@ rt2800usb
rt2x00lib
rt2x00usb
rtl8192ee
rtl8723_common
rtl8723ae
rtl8723be
rtl8723_common
rtl8821ae
rtl_pci
rtlwifi
rtsx_pci
rtsx_pci_sdmmc
rtw88_8821c
rtw88_8821ce
rtw88_core
rtw88_pci
sch_cake
sch_fq_codel
sch_ingress
@@ -460,8 +473,11 @@ ses
sg
sha512_ssse3
snd
snd_acp3x_pdm_dma
snd_acp3x_rn
snd_acp6x_pdm_dma
snd_acp_config
snd_acp_pci
snd_aloop
snd_compress
snd_ctl_led
@@ -479,10 +495,12 @@ snd_intel_sdw_acpi
snd_pci_acp3x
snd_pci_acp5x
snd_pci_acp6x
snd_pci_ps
snd_pcm
snd_pcm_dmaengine
snd_rawmidi
snd_rn_pci_acp3x
snd_rpl_pci_acp6x
snd_seq
snd_seq_device
snd_seq_dummy
@@ -501,12 +519,14 @@ snd_soc_sst_dsp
snd_soc_sst_ipc
snd_sof
snd_sof_amd_acp
snd_sof_amd_rembrandt
snd_sof_amd_renoir
snd_sof_intel_hda
snd_sof_intel_hda_common
snd_sof_intel_hda_mlink
snd_sof_pci
snd_sof_pci_intel_cnl
snd_sof_pci_intel_tgl
snd_sof_probes
snd_sof_utils
snd_sof_xtensa_dsp
@@ -514,9 +534,9 @@ snd_timer
snd_ua101
snd_ump
snd_usb_audio
snd_usbmidi_lib
snd_usb_us122l
snd_usb_usx2y
snd_usbmidi_lib
snd_virmidi
soundcore
soundwire_bus
@@ -549,6 +569,7 @@ tea5767
tee
tg3
thermal
thunderbolt
tiny_power_button
tls
tpm
@@ -578,14 +599,14 @@ uio
uio_pdrv_genirq
unix_diag
usb_common
usb_storage
usb_wwan
usbcore
usbhid
usbip_core
usbip_host
usbmon
usbnet
usb_storage
usb_wwan
uvc
uvcvideo
uvesafb
@@ -618,9 +639,11 @@ vsock_loopback
wacom
watchdog
wireguard
wireless_hotkey
wmi
wmi_bmof
x86_pkg_temp_thermal
x_tables
xc2028
xc4000
xc5000
@@ -632,21 +655,20 @@ xhci_pci
xhci_pci_renesas
xor
xpad
x_tables
xt_CHECKSUM
xt_LOG
xt_MASQUERADE
xt_NFQUEUE
xt_REDIRECT
xt_addrtype
xt_cgroup
xt_CHECKSUM
xt_comment
xt_conntrack
xt_hl
xt_limit
xt_LOG
xt_mark
xt_MASQUERADE
xt_nat
xt_NFQUEUE
xt_recent
xt_REDIRECT
xt_state
xt_tcpudp
xxhash_generic

View File

@@ -48,11 +48,11 @@ _rt_subver_map=(
["5.16"]="2"
["5.17"]="1"
["6.0"]="5"
["6.1"]="46"
["6.1"]="59"
["6.3"]="3"
["6.4"]="6"
["6.5"]="2"
["6.6"]="rc1"
["6.6"]="rc6"
)
# PREEMPT_RT's patch revision for the kernel
@@ -68,11 +68,11 @@ _rt_rev_map=(
["5.16"]="19"
["5.17"]="17"
["6.0"]="14"
["6.1"]="14"
["6.1"]="16"
["6.3"]="15"
["6.4"]="8"
["6.5"]="8"
["6.6"]="1"
["6.6"]="10"
)
_undefine() {
@@ -861,6 +861,9 @@ _tkg_srcprep() {
_msg="Applying BORE-EEVDF patch"
curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/sched/0001-bore-eevdf.patch" > "$srcdir"/0001-bore-eevdf.patch
tkgpatch="$srcdir/0001-bore-eevdf.patch" && _tkg_patcher
else
_msg="Applying eevdf-Disable-DELAY_DEQUEUE patch"
tkgpatch="$srcdir/0004-eevdf-Disable-DELAY_DEQUEUE.patch" && _tkg_patcher
fi
fi

View File

@@ -770,7 +770,7 @@ diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index a0b0397e29ee4c..87a983a356530c 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3119,15 +3119,16 @@ __rmqueue(struct zone *zone, unsigned int order, int migratetype,
@@ -3118,15 +3119,16 @@ __rmqueue(struct zone *zone, unsigned int order, int migratetype,
}
/*
@@ -785,12 +785,13 @@ index a0b0397e29ee4c..87a983a356530c 100644
unsigned long count, struct list_head *list,
int migratetype, unsigned int alloc_flags)
{
unsigned long flags;
- int i, allocated = 0;
+ const bool can_resched = !preempt_count() && !irqs_disabled();
+ int i, allocated = 0, last_mod = 0;
/* Caller must hold IRQ-safe pcp->lock so IRQs are disabled. */
spin_lock(&zone->lock);
spin_lock_irqsave(&zone->lock, flags);
for (i = 0; i < count; ++i) {
@@ -3137,6 +3138,18 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order,
if (unlikely(page == NULL))
break;
@@ -819,3 +820,4 @@ index a0b0397e29ee4c..87a983a356530c 100644
spin_unlock(&zone->lock);
return allocated;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,26 @@
From 24cd48424c96118bbb0fc8af93bfdc98570c31bf Mon Sep 17 00:00:00 2001
From: Piotr Gorski <lucjan.lucjanov@gmail.com>
Date: Wed, 25 Oct 2023 21:49:14 +0200
Subject: [PATCH] EEVDF: Disable DELAY_DEQUEUE
Signed-off-by: Piotr Gorski <lucjan.lucjanov@gmail.com>
---
kernel/sched/features.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/features.h b/kernel/sched/features.h
index fd2c963b7..6225be566 100644
--- a/kernel/sched/features.h
+++ b/kernel/sched/features.h
@@ -44,7 +44,7 @@ SCHED_FEAT(EVDF, false)
*
* GENTLE_DELAY clips the lag on dequeue (or wakeup) to 0.
*/
-SCHED_FEAT(DELAY_DEQUEUE, true)
+SCHED_FEAT(DELAY_DEQUEUE, false)
SCHED_FEAT(GENTLE_DELAY, true)
/*
--
2.42.0

File diff suppressed because it is too large Load Diff