Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
d05f761332 | ||
|
081d3097a0 | ||
|
be8c8e8230 | ||
|
86d2ec1f79 | ||
|
eb2be11b19 | ||
|
aaa7b3d556 | ||
|
aa69546f01 | ||
|
accb6d07f4 | ||
|
f79f7ddb8e | ||
|
4201196110 | ||
|
8b0d439206 | ||
|
8316a6970a | ||
|
c171d77094 | ||
|
16c81fb013 | ||
|
1882fa3bd9 | ||
|
c4ceba207d |
2
PKGBUILD
2
PKGBUILD
@@ -56,7 +56,7 @@ else
|
||||
fi
|
||||
pkgname=("${pkgbase}" "${pkgbase}-headers")
|
||||
pkgver="${_basekernel}"."${_sub}"
|
||||
pkgrel=271
|
||||
pkgrel=272
|
||||
pkgdesc='Linux-tkg'
|
||||
arch=('x86_64') # no i686 in here
|
||||
url="https://www.kernel.org/"
|
||||
|
@@ -3,7 +3,7 @@
|
||||
# Linux distribution you are using, options are "Arch", "Void", "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 - Options are "5.4", and from "5.7" to "5.19"
|
||||
# you can also set a specific kernel version, e.g. "6.0-rc4" or "5.10.51",
|
||||
@@ -20,7 +20,7 @@ _EXT_CONFIG_PATH=~/.config/frogminer/linux-tkg.cfg
|
||||
# Default is "true".
|
||||
_NUKR="true"
|
||||
|
||||
# Git mirror to use to get the kernel sources, possible values are "kernel.org", "googlesource.com" and "github.com"
|
||||
# Git mirror to use to get the kernel sources, possible values are "kernel.org", "googlesource.com", "github.com" and "torvalds"
|
||||
_git_mirror="kernel.org"
|
||||
|
||||
# Custom compiler root dirs - Leave empty to use system compilers
|
||||
@@ -32,7 +32,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"
|
||||
@@ -46,10 +46,10 @@ _modprobeddb="false"
|
||||
_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=""
|
||||
@@ -90,11 +90,11 @@ _STRIP="true"
|
||||
# LEAVE AN EMPTY VALUE TO BE PROMPTED ABOUT FOLLOWING OPTIONS AT BUILD TIME
|
||||
|
||||
# CPU scheduler - Options are "upds" (TkG's Undead PDS), "pds", "bmq", "muqss", "cacule" or "cfs" (kernel's default)
|
||||
_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.
|
||||
@@ -124,7 +124,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.
|
||||
@@ -132,7 +132,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="2"
|
||||
|
||||
# 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"
|
||||
@@ -144,11 +144,13 @@ _numadisable="false"
|
||||
_misc_adds="true"
|
||||
|
||||
# Set to "0" for periodic ticks, "1" to use CattaRappa mode (enabling full tickless) and "2" for tickless idle only.
|
||||
# Full tickless can give higher performances in various cases but, depending on hardware, lower consistency. Just tickless idle can perform better on some platforms (mostly AMD based).
|
||||
_tickless=""
|
||||
# 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="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.
|
||||
@@ -177,13 +179,13 @@ _futex_waitv="false"
|
||||
_winesync="false"
|
||||
|
||||
# Set to "true" to enable Binder and Ashmem, the kernel modules required to use the android emulator Anbox. ! This doesn't apply to 5.4.y !
|
||||
_anbox=""
|
||||
_anbox="false"
|
||||
|
||||
# A selection of patches from Zen/Liquorix kernel and additional tweaks for a better gaming experience (ZENIFY) - Default is "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" (zen3 opt support depends on GCC11)
|
||||
@@ -197,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"
|
||||
|
||||
# MuQSS only - Make IRQ threading compulsory (FORCE_IRQ_THREADING) - Default is "false"
|
||||
_irq_threading="false"
|
||||
@@ -213,7 +215,7 @@ _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="false"
|
||||
@@ -223,7 +225,7 @@ _random_trust_cpu="false"
|
||||
_runqueue_sharing=""
|
||||
|
||||
# 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="500"
|
||||
|
||||
# Default CPU governor - "performance", "ondemand", "schedutil" or leave empty for default (schedutil)
|
||||
_default_cpu_gov="ondemand"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 6.0.3-arch2 Kernel Configuration
|
||||
# Linux/x86 6.0.5-arch1 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.0"
|
||||
CONFIG_CC_IS_GCC=y
|
||||
@@ -17,7 +17,7 @@ CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
|
||||
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
|
||||
CONFIG_CC_HAS_ASM_INLINE=y
|
||||
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
|
||||
CONFIG_PAHOLE_VERSION=123
|
||||
CONFIG_PAHOLE_VERSION=124
|
||||
CONFIG_IRQ_WORK=y
|
||||
CONFIG_BUILDTIME_TABLE_SORT=y
|
||||
CONFIG_THREAD_INFO_IN_TASK=y
|
||||
|
@@ -11,6 +11,7 @@ _kernel_git_remotes=(
|
||||
["kernel.org"]="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
|
||||
["googlesource.com"]="https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable"
|
||||
["github.com"]="https://github.com/gregkh/linux.git"
|
||||
["torvalds"]="https://github.com/torvalds/linux.git"
|
||||
)
|
||||
|
||||
_git_remote_names=( "${!_kernel_git_remotes[@]}" )
|
||||
@@ -35,53 +36,35 @@ for _key in "${_current_kernels[@]}" "${_eol_kernels[@]}"; do
|
||||
_kver_latest_tags_map[$_key]=$(echo "$_kernel_tags" | grep -F "v$_key" | tail -1 | cut -c1-)
|
||||
done
|
||||
|
||||
# only used by workflow trigger script
|
||||
typeset -Ag _kver_subver_map
|
||||
_kver_subver_map=(
|
||||
["5.4"]="214"
|
||||
["5.7"]="19"
|
||||
["5.8"]="18"
|
||||
["5.9"]="16"
|
||||
["5.10"]="144"
|
||||
["5.11"]="22"
|
||||
["5.12"]="19"
|
||||
["5.13"]="19"
|
||||
["5.14"]="21"
|
||||
["5.15"]="69"
|
||||
["5.16"]="20"
|
||||
["5.17"]="15"
|
||||
["5.18"]="19"
|
||||
["5.19"]="10"
|
||||
["6.0"]="rc6"
|
||||
)
|
||||
|
||||
|
||||
|
||||
# PREEMPT_RT's supported kernel subversion
|
||||
typeset -Ag _rt_subver_map
|
||||
_rt_subver_map=(
|
||||
["5.4"]="188"
|
||||
["5.4"]="209"
|
||||
["5.9"]="1"
|
||||
["5.10"]="109"
|
||||
["5.10"]="153"
|
||||
["5.11"]="4"
|
||||
["5.14"]="2"
|
||||
["5.15"]="32"
|
||||
["5.15"]="76"
|
||||
["5.16"]="2"
|
||||
["5.17"]="1"
|
||||
["6.0"]="5"
|
||||
["6.1"]="rc3"
|
||||
)
|
||||
|
||||
# PREEMPT_RT's patch revision for the kernel
|
||||
# We separated this to allow for forcing the application of the patch when _preempt_rt_force=1 on version mismatch
|
||||
typeset -Ag _rt_rev_map
|
||||
_rt_rev_map=(
|
||||
["5.4"]="73"
|
||||
["5.4"]="77"
|
||||
["5.9"]="20"
|
||||
["5.10"]="65"
|
||||
["5.10"]="76"
|
||||
["5.11"]="11"
|
||||
["5.14"]="21"
|
||||
["5.15"]="39"
|
||||
["5.15"]="53"
|
||||
["5.16"]="19"
|
||||
["5.17"]="17"
|
||||
["6.0"]="14"
|
||||
["6.1"]="2"
|
||||
)
|
||||
|
||||
_undefine() {
|
||||
@@ -287,7 +270,7 @@ _set_cpu_scheduler() {
|
||||
elif [ "$_kver" = "514" ]; then
|
||||
_avail_cpu_scheds=("pds" "bmq" "cacule" "cfs")
|
||||
elif [ "$_kver" = "515" ]; then
|
||||
_avail_cpu_scheds=("pds" "bmq" "cacule" "tt" "cfs")
|
||||
_avail_cpu_scheds=("pds" "bmq" "cacule" "tt" "bore" "cfs")
|
||||
elif [ "$_kver" = "516" ]; then
|
||||
_avail_cpu_scheds=("pds" "bmq" "cacule" "cfs")
|
||||
elif [ "$_kver" = "517" ]; then
|
||||
@@ -297,19 +280,31 @@ _set_cpu_scheduler() {
|
||||
elif [ "$_kver" = "519" ]; then
|
||||
_avail_cpu_scheds=("cfs" "pds" "bmq" "cacule" "tt" "bore")
|
||||
elif [ "$_kver" = "600" ]; then
|
||||
_avail_cpu_scheds=("cfs" "tt" "bore")
|
||||
_avail_cpu_scheds=("cfs" "pds" "bmq" "tt" "bore")
|
||||
_projectc_unoff="1"
|
||||
elif [ "$_kver" = "601" ]; then
|
||||
_avail_cpu_scheds=("cfs" "bore")
|
||||
else
|
||||
_avail_cpu_scheds=("cfs")
|
||||
fi
|
||||
|
||||
if [ "${_preempt_rt}" = "1" ]; then
|
||||
warning "! Since you have enabled _preempt_rt, incompatible cpu schedulers will not be available !"
|
||||
if [[ "${_avail_cpu_scheds[*]}" =~ "bore" ]]; then
|
||||
_avail_cpu_scheds=("cfs" "bore")
|
||||
else
|
||||
_avail_cpu_scheds=("cfs")
|
||||
fi
|
||||
fi
|
||||
|
||||
# Populate descriptions of the available CPU schedulers
|
||||
_avail_cpu_scheds_text=()
|
||||
for _sched in "${_avail_cpu_scheds[@]}"; do
|
||||
if [ "$_sched" = "pds" ] || [ "$_sched" = "bmq" ] && [ "$_projectc_unoff" = "1" ]; then
|
||||
_avail_cpu_scheds_text+=("Project C / ${_sched^^} (unofficial port - ! possibly unstable !)")
|
||||
else
|
||||
_avail_cpu_scheds_text+=("${_sched_description_array[$_sched]}")
|
||||
fi
|
||||
done
|
||||
|
||||
if ! [[ ${_avail_cpu_scheds[*]} =~ "$_cpusched" ]]; then
|
||||
@@ -432,6 +427,7 @@ _linux_git_branch_checkout() {
|
||||
msg2 "master branch doesn't locally exist, shallow cloning..."
|
||||
git remote set-branches --add kernel.org master
|
||||
git remote set-branches --add googlesource.com master
|
||||
git remote set-branches --add torvalds master
|
||||
git fetch --depth=1 $_git_mirror master
|
||||
git fetch --depth 1 $_git_mirror tag "$_kernel_git_tag"
|
||||
git checkout -b master-${_git_mirror} ${_git_mirror}/master
|
||||
@@ -449,6 +445,7 @@ _linux_git_branch_checkout() {
|
||||
msg2 "${_basekernel}.y branch doesn't locally exist, shallow cloning..."
|
||||
git remote set-branches --add kernel.org linux-${_basekernel}.y
|
||||
git remote set-branches --add googlesource.com linux-${_basekernel}.y
|
||||
git remote set-branches --add torvalds linux-${_basekernel}.y
|
||||
git fetch --depth=1 $_git_mirror linux-${_basekernel}.y
|
||||
git fetch --depth=1 $_git_mirror tag "$_kernel_git_tag"
|
||||
git checkout -b linux-${_basekernel}-${_git_mirror} ${_git_mirror}/linux-${_basekernel}.y
|
||||
@@ -650,8 +647,13 @@ _tkg_srcprep() {
|
||||
if [ ${_rt_subver_map[$_basekernel]+_} = "_" ]; then
|
||||
preempt_rt_ksubver="${_rt_subver_map[$_basekernel]}"
|
||||
# Check if subversion is supported, skip check if forced
|
||||
if [ "${_preempt_rt_force}" = "1" ] || [ "${preempt_rt_ksubver}" = "${_kver_subver_map[$_basekernel]}" ]; then
|
||||
preempt_rt_file_gz="patch-${_basekernel}.${preempt_rt_ksubver}-rt${_rt_rev_map["$_basekernel"]}.patch.gz"
|
||||
if [ "${_preempt_rt_force}" = "1" ] || [ "${preempt_rt_ksubver}" = "${_sub}" ]; then
|
||||
if [[ "${_sub}" == *rc* ]]; then
|
||||
_separator="-"
|
||||
else
|
||||
_separator="."
|
||||
fi
|
||||
preempt_rt_file_gz="patch-${_basekernel}${_separator}${preempt_rt_ksubver}-rt${_rt_rev_map["$_basekernel"]}.patch.gz"
|
||||
preempt_rt_file=`basename ${preempt_rt_file_gz} .gz`
|
||||
curl "https://cdn.kernel.org/pub/linux/kernel/projects/rt/${_basekernel}/${preempt_rt_file_gz}" > "$srcdir"/"${preempt_rt_file_gz}"
|
||||
last_pwd=`pwd`
|
||||
@@ -661,10 +663,10 @@ _tkg_srcprep() {
|
||||
tkgpatch="$srcdir/${preempt_rt_file}"
|
||||
_msg="Applying PREEMPT_RT patch" && _tkg_patcher
|
||||
else
|
||||
msg2 "Skipping PREEMPT_RT patch for ${_basekernel}.${_sub}"
|
||||
warning "Skipping PREEMPT_RT patch for ${_basekernel}.${_sub} (last known good ${_basekernel}.${preempt_rt_ksubver})"
|
||||
fi
|
||||
else
|
||||
msg2 "Skipping PREEMPT_RT patch on unsupported kernel version"
|
||||
warning "Skipping PREEMPT_RT patch on unsupported kernel version"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -677,6 +679,11 @@ _tkg_srcprep() {
|
||||
tkgpatch="$srcdir/0003-glitched-base.patch"
|
||||
_msg="Applying glitched base patch" && _tkg_patcher
|
||||
|
||||
if [ "${_preempt_rt}" != "1" ]; then
|
||||
tkgpatch="$srcdir/0003-glitched-base-nonrt.patch"
|
||||
_msg="Applying glitched base non-rt additions patch" && _tkg_patcher
|
||||
fi
|
||||
|
||||
if [[ "$_distro" =~ ^(Fedora|Suse)$ ]]; then
|
||||
tkgpatch="$srcdir/0013-fedora-rpm.patch"
|
||||
_msg="RPM: fixing spec generator" && _tkg_patcher
|
||||
@@ -1328,7 +1335,7 @@ _tkg_srcprep() {
|
||||
plain "Use CattaRappa mode (Tickless/Dynticks) ?"
|
||||
_tickless_array_text=(
|
||||
"No, use periodic ticks."
|
||||
"Yes, full tickless baby!\n Can give higher performances in many cases but lower consistency on some hardware."
|
||||
"Yes, full tickless baby!\n Full tickless can give higher performances in case you use isolation of CPUs for task, in other cases it behaves as Idle."
|
||||
"Just tickless idle plz.\n Just tickless idle can perform better with some platforms (mostly AMD) or CPU schedulers (mostly MuQSS)."
|
||||
)
|
||||
_default_index="2"
|
||||
|
38
linux-tkg-patches/5.10/0003-glitched-base-nonrt.patch
Normal file
38
linux-tkg-patches/5.10/0003-glitched-base-nonrt.patch
Normal file
@@ -0,0 +1,38 @@
|
||||
From 28f32f59d9d55ac7ec3a20b79bdd02d2a0a5f7e1 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Frade <admfrade@gmail.com>
|
||||
Date: Mon, 29 Jan 2018 18:29:13 +0000
|
||||
Subject: [PATCH 03/17] sched/core: nr_migrate = 128 increases number of tasks
|
||||
to iterate in a single balance run.
|
||||
|
||||
Signed-off-by: Alexandre Frade <admfrade@gmail.com>
|
||||
---
|
||||
kernel/sched/core.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
|
||||
index f788cd61df21..2bfbb4213707 100644
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -59,7 +59,7 @@ const_debug unsigned int sysctl_sched_features =
|
||||
* Number of tasks to iterate in a single balance run.
|
||||
* Limited because this is done with IRQs disabled.
|
||||
*/
|
||||
-const_debug unsigned int sysctl_sched_nr_migrate = 32;
|
||||
+const_debug unsigned int sysctl_sched_nr_migrate = 128;
|
||||
|
||||
/*
|
||||
* period over which we measure -rt task CPU usage in us.
|
||||
@@ -71,9 +71,9 @@ __read_mostly int scheduler_running;
|
||||
|
||||
/*
|
||||
* part of the period that we allow rt tasks to run in us.
|
||||
- * default: 0.95s
|
||||
+ * XanMod default: 0.98s
|
||||
*/
|
||||
-int sysctl_sched_rt_runtime = 950000;
|
||||
+int sysctl_sched_rt_runtime = 980000;
|
||||
|
||||
/*
|
||||
* __task_rq_lock - lock the rq @p resides on.
|
||||
--
|
||||
2.28.0
|
@@ -54,46 +54,6 @@ index 361ea7ab30ea..0c5cf69b241a 100644
|
||||
2.28.0
|
||||
|
||||
|
||||
From 28f32f59d9d55ac7ec3a20b79bdd02d2a0a5f7e1 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Frade <admfrade@gmail.com>
|
||||
Date: Mon, 29 Jan 2018 18:29:13 +0000
|
||||
Subject: [PATCH 03/17] sched/core: nr_migrate = 128 increases number of tasks
|
||||
to iterate in a single balance run.
|
||||
|
||||
Signed-off-by: Alexandre Frade <admfrade@gmail.com>
|
||||
---
|
||||
kernel/sched/core.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
|
||||
index f788cd61df21..2bfbb4213707 100644
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -59,7 +59,7 @@ const_debug unsigned int sysctl_sched_features =
|
||||
* Number of tasks to iterate in a single balance run.
|
||||
* Limited because this is done with IRQs disabled.
|
||||
*/
|
||||
-const_debug unsigned int sysctl_sched_nr_migrate = 32;
|
||||
+const_debug unsigned int sysctl_sched_nr_migrate = 128;
|
||||
|
||||
/*
|
||||
* period over which we measure -rt task CPU usage in us.
|
||||
@@ -71,9 +71,9 @@ __read_mostly int scheduler_running;
|
||||
|
||||
/*
|
||||
* part of the period that we allow rt tasks to run in us.
|
||||
- * default: 0.95s
|
||||
+ * XanMod default: 0.98s
|
||||
*/
|
||||
-int sysctl_sched_rt_runtime = 950000;
|
||||
+int sysctl_sched_rt_runtime = 980000;
|
||||
|
||||
/*
|
||||
* __task_rq_lock - lock the rq @p resides on.
|
||||
--
|
||||
2.28.0
|
||||
|
||||
|
||||
From acc49f33a10f61dc66c423888cbb883ba46710e4 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Frade <admfrade@gmail.com>
|
||||
Date: Mon, 29 Jan 2018 17:41:29 +0000
|
||||
|
38
linux-tkg-patches/5.15/0003-glitched-base-nonrt.patch
Normal file
38
linux-tkg-patches/5.15/0003-glitched-base-nonrt.patch
Normal file
@@ -0,0 +1,38 @@
|
||||
From 28f32f59d9d55ac7ec3a20b79bdd02d2a0a5f7e1 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Frade <admfrade@gmail.com>
|
||||
Date: Mon, 29 Jan 2018 18:29:13 +0000
|
||||
Subject: [PATCH 03/17] sched/core: nr_migrate = 128 increases number of tasks
|
||||
to iterate in a single balance run.
|
||||
|
||||
Signed-off-by: Alexandre Frade <admfrade@gmail.com>
|
||||
---
|
||||
kernel/sched/core.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
|
||||
index f788cd61df21..2bfbb4213707 100644
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -59,7 +59,7 @@ const_debug unsigned int sysctl_sched_features =
|
||||
* Number of tasks to iterate in a single balance run.
|
||||
* Limited because this is done with IRQs disabled.
|
||||
*/
|
||||
-const_debug unsigned int sysctl_sched_nr_migrate = 32;
|
||||
+const_debug unsigned int sysctl_sched_nr_migrate = 128;
|
||||
|
||||
/*
|
||||
* period over which we measure -rt task CPU usage in us.
|
||||
@@ -71,9 +71,9 @@ __read_mostly int scheduler_running;
|
||||
|
||||
/*
|
||||
* part of the period that we allow rt tasks to run in us.
|
||||
- * default: 0.95s
|
||||
+ * XanMod default: 0.98s
|
||||
*/
|
||||
-int sysctl_sched_rt_runtime = 950000;
|
||||
+int sysctl_sched_rt_runtime = 980000;
|
||||
|
||||
/*
|
||||
* __task_rq_lock - lock the rq @p resides on.
|
||||
--
|
||||
2.28.0
|
@@ -54,46 +54,6 @@ index 361ea7ab30ea..0c5cf69b241a 100644
|
||||
2.28.0
|
||||
|
||||
|
||||
From 28f32f59d9d55ac7ec3a20b79bdd02d2a0a5f7e1 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Frade <admfrade@gmail.com>
|
||||
Date: Mon, 29 Jan 2018 18:29:13 +0000
|
||||
Subject: [PATCH 03/17] sched/core: nr_migrate = 128 increases number of tasks
|
||||
to iterate in a single balance run.
|
||||
|
||||
Signed-off-by: Alexandre Frade <admfrade@gmail.com>
|
||||
---
|
||||
kernel/sched/core.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
|
||||
index f788cd61df21..2bfbb4213707 100644
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -59,7 +59,7 @@ const_debug unsigned int sysctl_sched_features =
|
||||
* Number of tasks to iterate in a single balance run.
|
||||
* Limited because this is done with IRQs disabled.
|
||||
*/
|
||||
-const_debug unsigned int sysctl_sched_nr_migrate = 32;
|
||||
+const_debug unsigned int sysctl_sched_nr_migrate = 128;
|
||||
|
||||
/*
|
||||
* period over which we measure -rt task CPU usage in us.
|
||||
@@ -71,9 +71,9 @@ __read_mostly int scheduler_running;
|
||||
|
||||
/*
|
||||
* part of the period that we allow rt tasks to run in us.
|
||||
- * default: 0.95s
|
||||
+ * XanMod default: 0.98s
|
||||
*/
|
||||
-int sysctl_sched_rt_runtime = 950000;
|
||||
+int sysctl_sched_rt_runtime = 980000;
|
||||
|
||||
/*
|
||||
* __task_rq_lock - lock the rq @p resides on.
|
||||
--
|
||||
2.28.0
|
||||
|
||||
|
||||
From acc49f33a10f61dc66c423888cbb883ba46710e4 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Frade <admfrade@gmail.com>
|
||||
Date: Mon, 29 Jan 2018 17:41:29 +0000
|
||||
|
File diff suppressed because it is too large
Load Diff
38
linux-tkg-patches/5.4/0003-glitched-base-nonrt.patch
Normal file
38
linux-tkg-patches/5.4/0003-glitched-base-nonrt.patch
Normal file
@@ -0,0 +1,38 @@
|
||||
From 28f32f59d9d55ac7ec3a20b79bdd02d2a0a5f7e1 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Frade <admfrade@gmail.com>
|
||||
Date: Mon, 29 Jan 2018 18:29:13 +0000
|
||||
Subject: [PATCH 03/17] sched/core: nr_migrate = 128 increases number of tasks
|
||||
to iterate in a single balance run.
|
||||
|
||||
Signed-off-by: Alexandre Frade <admfrade@gmail.com>
|
||||
---
|
||||
kernel/sched/core.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
|
||||
index f788cd61df21..2bfbb4213707 100644
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -59,7 +59,7 @@ const_debug unsigned int sysctl_sched_features =
|
||||
* Number of tasks to iterate in a single balance run.
|
||||
* Limited because this is done with IRQs disabled.
|
||||
*/
|
||||
-const_debug unsigned int sysctl_sched_nr_migrate = 32;
|
||||
+const_debug unsigned int sysctl_sched_nr_migrate = 128;
|
||||
|
||||
/*
|
||||
* period over which we measure -rt task CPU usage in us.
|
||||
@@ -71,9 +71,9 @@ __read_mostly int scheduler_running;
|
||||
|
||||
/*
|
||||
* part of the period that we allow rt tasks to run in us.
|
||||
- * default: 0.95s
|
||||
+ * XanMod default: 0.98s
|
||||
*/
|
||||
-int sysctl_sched_rt_runtime = 950000;
|
||||
+int sysctl_sched_rt_runtime = 980000;
|
||||
|
||||
/*
|
||||
* __task_rq_lock - lock the rq @p resides on.
|
||||
--
|
||||
2.28.0
|
@@ -31,31 +31,6 @@ index 2acfc69878f5..3f1131431e06 100644
|
||||
EXPORT_SYMBOL_GPL(sysctl_vfs_cache_pressure);
|
||||
|
||||
__cacheline_aligned_in_smp DEFINE_SEQLOCK(rename_lock);
|
||||
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
|
||||
index 211890edf37e..37121563407d 100644
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -41,7 +41,7 @@ const_debug unsigned int sysctl_sched_features =
|
||||
* Number of tasks to iterate in a single balance run.
|
||||
* Limited because this is done with IRQs disabled.
|
||||
*/
|
||||
-const_debug unsigned int sysctl_sched_nr_migrate = 32;
|
||||
+const_debug unsigned int sysctl_sched_nr_migrate = 128;
|
||||
|
||||
/*
|
||||
* period over which we average the RT time consumption, measured
|
||||
@@ -61,9 +61,9 @@ __read_mostly int scheduler_running;
|
||||
|
||||
/*
|
||||
* part of the period that we allow rt tasks to run in us.
|
||||
- * default: 0.95s
|
||||
+ * XanMod default: 0.98s
|
||||
*/
|
||||
-int sysctl_sched_rt_runtime = 950000;
|
||||
+int sysctl_sched_rt_runtime = 980000;
|
||||
|
||||
/*
|
||||
* __task_rq_lock - lock the rq @p resides on.
|
||||
diff --git a/lib/Kconfig b/lib/Kconfig
|
||||
index 5fe577673b98..c44c27cd6e05 100644
|
||||
--- a/lib/Kconfig
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -557,95 +557,3 @@ index af6c1a93372d90..002bc26b525e87 100644
|
||||
|
||||
sdw_cdns_probe(cdns);
|
||||
|
||||
From 785699dbc7041b99e0027bff27ffe17eba202e96 Mon Sep 17 00:00:00 2001
|
||||
From: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
|
||||
Date: Tue, 4 Oct 2022 07:33:39 -0700
|
||||
Subject: [PATCH] drm/amdgpu: Fix VRAM BO swap issue
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
DRM buddy manager allocates the contiguous memory requests in
|
||||
a single block or multiple blocks. So for the ttm move operation
|
||||
(incase of low vram memory) we should consider all the blocks to
|
||||
compute the total memory size which compared with the struct
|
||||
ttm_resource num_pages in order to verify that the blocks are
|
||||
contiguous for the eviction process.
|
||||
|
||||
v2: Added a Fixes tag
|
||||
v3: Rewrite the code to save a bit of calculations and
|
||||
variables (Christian)
|
||||
|
||||
Fixes: c9cad937c0c5 ("drm/amdgpu: add drm buddy support to amdgpu")
|
||||
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
|
||||
Reviewed-by: Christian König <christian.koenig@amd.com>
|
||||
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
||||
---
|
||||
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 17 ++++++++++++-----
|
||||
1 file changed, 12 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
|
||||
index 134575a3893c53..794062ab57fca4 100644
|
||||
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
|
||||
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
|
||||
@@ -424,8 +424,9 @@ static int amdgpu_move_blit(struct ttm_buffer_object *bo,
|
||||
static bool amdgpu_mem_visible(struct amdgpu_device *adev,
|
||||
struct ttm_resource *mem)
|
||||
{
|
||||
- uint64_t mem_size = (u64)mem->num_pages << PAGE_SHIFT;
|
||||
+ u64 mem_size = (u64)mem->num_pages << PAGE_SHIFT;
|
||||
struct amdgpu_res_cursor cursor;
|
||||
+ u64 end;
|
||||
|
||||
if (mem->mem_type == TTM_PL_SYSTEM ||
|
||||
mem->mem_type == TTM_PL_TT)
|
||||
@@ -434,12 +435,18 @@ static bool amdgpu_mem_visible(struct amdgpu_device *adev,
|
||||
return false;
|
||||
|
||||
amdgpu_res_first(mem, 0, mem_size, &cursor);
|
||||
+ end = cursor.start + cursor.size;
|
||||
+ while (cursor.remaining) {
|
||||
+ amdgpu_res_next(&cursor, cursor.size);
|
||||
|
||||
- /* ttm_resource_ioremap only supports contiguous memory */
|
||||
- if (cursor.size != mem_size)
|
||||
- return false;
|
||||
+ /* ttm_resource_ioremap only supports contiguous memory */
|
||||
+ if (end != cursor.start)
|
||||
+ return false;
|
||||
+
|
||||
+ end = cursor.start + cursor.size;
|
||||
+ }
|
||||
|
||||
- return cursor.start + cursor.size <= adev->gmc.visible_vram_size;
|
||||
+ return end <= adev->gmc.visible_vram_size;
|
||||
}
|
||||
|
||||
/*
|
||||
From 6df3912f64cea68409b08d282ffbccf0af7f8d8e Mon Sep 17 00:00:00 2001
|
||||
From: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
|
||||
Date: Mon, 17 Oct 2022 13:15:21 -0700
|
||||
Subject: [PATCH] drm/amdgpu: Fix for BO move issue
|
||||
|
||||
If there are no blocks to compare then exit
|
||||
the loop.
|
||||
|
||||
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
|
||||
---
|
||||
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
|
||||
index 794062ab57fca4..9e6c23266a1a0f 100644
|
||||
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
|
||||
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
|
||||
@@ -439,6 +439,9 @@ static bool amdgpu_mem_visible(struct amdgpu_device *adev,
|
||||
while (cursor.remaining) {
|
||||
amdgpu_res_next(&cursor, cursor.size);
|
||||
|
||||
+ if (!cursor.remaining)
|
||||
+ break;
|
||||
+
|
||||
/* ttm_resource_ioremap only supports contiguous memory */
|
||||
if (end != cursor.start)
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user