sys-kernel/xanmod-sources:bump to 5.10.2

Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Andreas Westman Dorcsak <hedmoo@yahoo.com>
This commit is contained in:
hedmo 2020-12-24 09:28:35 +01:00
parent 9be74c5959
commit 6e32b1420e
No known key found for this signature in database
GPG Key ID: CD4967633316254F
6 changed files with 109 additions and 89 deletions

View File

@ -5,6 +5,8 @@ DIST genpatches-5.9-1.extras.tar.xz 1764 BLAKE2B 32d29f0448aef113ba9c9591c5d3b67
DIST linux-5.10.tar.xz 116606704 BLAKE2B b923d7b66309224f42f35f8a5fa219421b0a9362d2adacdadd8d96251f61f7230878ea297a269a7f3b3c56830f0b177e068691e1d7f88501a05653b0a13274d1 SHA512 95bc137d0cf9148da6a9d1f1a878698dc27b40f68e22c597544010a6c591ce1b256f083489d3ff45ff77753289b535135590194d88ef9f007d0ddab3d74de70e
DIST linux-5.9.tar.xz 115507140 BLAKE2B e8d11472d63a9f8409ca12a2e8c97c6963a3d4516b5a398b627d6ece565584526f9b5a1377a2fa4bd184c09c7db94c987428bc5d52df0c788464a67e9e8d6dcb SHA512 d3d92ce4246bad74c9a784212f160d98449b1e8793970c2c308276568d852b8effe0528686bdb87d55d691f09a826abf7938d69bdd4759ce65ddd5c05ffe4eca
DIST patch-5.10.1-xanmod1.xz 84852 BLAKE2B c3f41a05c92ca57d3e5117d8096d8180119a4d4bec7cb7adf9bad9afa4ed332128400ad17de7ed517fb2661f1356e954108aa786150748b99c5268f482541f6e SHA512 13b32629072c87eef98a42f10ef41040c48a8f01f33f4ce1042370672da107b3d11e73cc5ea437600622bea2116c856aade691ef95eef86181868c200161f8db
DIST patch-5.10.2-xanmod1-cacule.xz 95684 BLAKE2B 3bc336813ce24e4bb7bd93d4969f555c8d27ff99c77366edbffabc969d197a306e496af49d5db846daf35f50a4c895c1b6567f66a54c644c2c9cdc23fbc96176 SHA512 6d6d83ef6c7ad53df10f43a094a7fa418267b7cb4722d84049685f2d7611839143636fd034ac25adcec25920c54c8b1faea3f36189443d8f164e0a13eceed888
DIST patch-5.10.2-xanmod1.xz 88392 BLAKE2B 5d19e9ea45f7dcd8c644c4055eacb1e46b64a7e1ca39ed5f5550e8c59546a93a54a918528b160549d5c534f7b461173a58826fa5d3b737a12455d39fbc31613a SHA512 3f39aa11747a74471e7aaca3a006092b3075a48c01133d2c01406150d16e598cd1f086e7699cb705f6d993b0f0e5bb6e9e1b977f52da254fb267e40fe082ea84
DIST patch-5.9.10-xanmod1.xz 583644 BLAKE2B 220f85a6a73e36d62cbca83f7b5ff2d769306e21446ef05413fe3d0f0ed2e2c1fdb60cf97d425b83e5ff09242de3e5d61e38418c8a9838b17afe927fdd859d39 SHA512 acae618df28403d2950c5910ecc8dfd78e1c58ed4e8ff3787c1776e00462289e929c3097b5027103c1bda6187495664dc2b082adad6c05c42c3922de530a49d9
DIST patch-5.9.11-xanmod1.xz 639524 BLAKE2B f58c2491000e2b5e2302cfe03bb84dca5c23c152fe4c6bf0e2970a64b3683f6583cb393f82d648a58c69fed51a993c877073c34eea58654775c511a3e2291c0b SHA512 b5a3ab6250d28f97a20d26b1384fff5cc7c2232c2a976ad44f2b97141c1a6da800642a25ebd5a306371a2932d10f2758c0cf36ae879c43b0d3ab4b10dad6117d
DIST patch-5.9.12-xanmod1.xz 684744 BLAKE2B f716145dff09725018080a998ce9e9ace9c4a4d39599a7aaedf90a10fc94135deb1fdffd746119fd5546e6216581b91bc37ef62b81c3e31267e58a106c6e9927 SHA512 cb7f7a05ef0c9badc7acaca27e97287e1dcfe0e70180b88cea297c3994cba73714cec8bf7bdd7ceca786a2248dcdfa96121bfda9d201a56efd1d729d5d17de80

View File

@ -1,89 +0,0 @@
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ba439ad92f4c..883da0abf779 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1542,7 +1542,6 @@ config AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
# Common NUMA Features
config NUMA
bool "NUMA Memory Allocation and Scheduler Support"
- depends on !CACHY_SCHED
depends on SMP
depends on X86_64 || (X86_32 && HIGHMEM64G && X86_BIGSMP)
default y if X86_BIGSMP
diff --git a/init/Kconfig b/init/Kconfig
index 053626d9ab94..ab23e72841f7 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -922,7 +922,6 @@ config CGROUP_WRITEBACK
menuconfig CGROUP_SCHED
bool "CPU controller"
- depends on !CACHY_SCHED
default n
help
This feature lets CPU scheduler recognize task groups and control CPU
@@ -1185,7 +1184,9 @@ config CHECKPOINT_RESTORE
config SCHED_AUTOGROUP
bool "Automatic process group scheduling"
- depends on FAIR_GROUP_SCHED && !CACHY_SCHED
+ select CGROUPS
+ select CGROUP_SCHED
+ select FAIR_GROUP_SCHED
help
This option optimizes the scheduler for common desktop workloads by
automatically creating and populating task groups. This separation
diff --git a/kernel/sched/cachy.c b/kernel/sched/cachy.c
index 477aebe000f0..d1800bda879f 100644
--- a/kernel/sched/cachy.c
+++ b/kernel/sched/cachy.c
@@ -4170,6 +4170,8 @@ dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags)
update_cfs_group(se);
}
+static struct sched_entity *pick_next_entity(struct cfs_rq *cfs_rq, struct sched_entity *curr);
+
/*
* Preempt the current task with a newly woken task if needed:
*/
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index bbf09ce73d6f..b41410694c72 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2923,7 +2923,12 @@ int sched_fork(unsigned long clone_flags, struct task_struct *p)
/*
* Make sure we do not leak PI boosting priority to the child.
*/
+#ifdef CONFIG_CACHY_SCHED
+ p->prio = current->original_prio;
+ p->original_prio = current->original_prio;
+#else
p->prio = current->normal_prio;
+#endif
uclamp_fork(p);
@@ -3020,6 +3025,14 @@ void wake_up_new_task(struct task_struct *p)
raw_spin_lock_irqsave(&p->pi_lock, rf.flags);
p->state = TASK_RUNNING;
+
+#ifdef CONFIG_CACHY_SCHED
+ if (p->pid > 1 && p->original_prio >= 120) {
+ p->prio = p->static_prio = p->normal_prio = 139;
+ set_load_weight(p, true);
+ }
+#endif
+
#ifdef CONFIG_SMP
/*
* Fork balancing, do it here and not earlier because:
@@ -3695,7 +3708,7 @@ void scheduler_tick(void)
perf_event_task_tick();
-#if CONFIG_SMP
+#ifdef CONFIG_SMP
rq->idle_balance = idle_cpu(cpu);
trigger_load_balance(rq);
#endif

View File

@ -0,0 +1,5 @@
--- a/localversion 2020-12-18 17:19:14.185240837 +0100
+++ b/localversion 2020-12-18 17:21:26.537235004 +0100
@@ -1 +1 @@
--xanmod1-cacule
+-xanmod1

View File

@ -0,0 +1,47 @@
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 957e418f05f..8f2b1a9d0f1 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -44,6 +44,7 @@ static unsigned int normalized_sysctl_sched_latency = 6000000ULL;
#ifdef CONFIG_CACULE_SCHED
int interactivity_factor = 32768;
+#define MAX_LIFE_TIME_SMOOTHER 10000000000ULL // 10 seconds
#endif
/*
@@ -592,15 +593,15 @@ static inline unsigned int
calc_interactivity(u64 now, struct cacule_node *se)
{
u64 l_se, vr_se, sleep_se, u64_factor;
- unsigned int score_se;
+ unsigned int score_se, lifetime_smoother;
/*
* in case of vruntime==0, logical OR with 1 would
* make sure that the least sig. bit is 1
*/
l_se = (now + 1ULL) - se->cacule_start_time;
- vr_se = se->vruntime | 1;
- sleep_se = (l_se - vr_se) | 1;
+ vr_se = se->vruntime | 1;
+ sleep_se = (l_se - vr_se) | 1;
u64_factor = interactivity_factor;
if (sleep_se > vr_se)
@@ -608,7 +609,14 @@ calc_interactivity(u64 now, struct cacule_node *se)
else
score_se = (u64_factor / (vr_se / sleep_se)) + u64_factor;
- return score_se;
+ if (l_se > MAX_LIFE_TIME_SMOOTHER)
+ return score_se;
+
+ u64_factor <<= 1;
+ lifetime_smoother =
+ u64_factor - (u64_factor / (MAX_LIFE_TIME_SMOOTHER / (l_se | 1)));
+
+ return score_se + lifetime_smoother;
}
/*

View File

@ -9,6 +9,9 @@
<email>hedmoo@yahoo.com</email>
<name>Andreas Westman Dorcsak</name>
</maintainer>
<use>
<flag name="cacule"> CacULE is a newer version of Cachy. The CacULE CPU scheduler is based on interactivity score mechanism. The interactivity score is inspired by the ULE scheduler (FreeBSD scheduler). </flag>
</use>
<upstream>
<remote-id type="github">xanmod/linux</remote-id>
</upstream>

View File

@ -0,0 +1,52 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
K_SECURITY_UNSUPPORTED="1"
K_NOSETEXTRAVERSION="1"
ETYPE="sources"
inherit kernel-2-src-prepare-overlay
detect_version
DESCRIPTION="A general-purpose kernel with custom settings and new features"
HOMEPAGE="https://xanmod.org"
LICENSE+=" CDDL"
KEYWORDS="~amd64"
XANMOD_VERSION="1"
IUSE="cacule"
XANMOD_URI="https://github.com/xanmod/linux/releases/download/"
SRC_URI="
${KERNEL_BASE_URI}/linux-${KV_MAJOR}.${KV_MINOR}.tar.xz
cacule? ( ${XANMOD_URI}/${OKV}-xanmod${XANMOD_VERSION}-cacule/patch-${OKV}-xanmod${XANMOD_VERSION}-cacule.xz )
!cacule? ( ${XANMOD_URI}/${OKV}-xanmod${XANMOD_VERSION}/patch-${OKV}-xanmod${XANMOD_VERSION}.xz )
${GENPATCHES_URI}
"
src_unpack() {
UNIPATCH_LIST_DEFAULT=""
if use cacule; then
UNIPATCH_LIST="${DISTDIR}/patch-${OKV}-xanmod${XANMOD_VERSION}-cacule.xz "
else
UNIPATCH_LIST="${DISTDIR}/patch-${OKV}-xanmod${XANMOD_VERSION}.xz "
fi
kernel-2-src-prepare-overlay_src_unpack
}
src_prepare() {
if use cacule; then
eapply "${FILESDIR}/localversion.patch"
eapply "${FILESDIR}/smoother.patch"
fi
kernel-2-src-prepare-overlay_src_prepare
rm "${S}"/.config || die
}
pkg_postinst() {
elog "MICROCODES"
elog "Use xanmod-sources with microcodes"
elog "Read https://wiki.gentoo.org/wiki/Intel_microcode"
}