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:
parent
9be74c5959
commit
6e32b1420e
@ -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
|
||||
|
@ -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
|
5
sys-kernel/xanmod-sources/files/localversion.patch
Normal file
5
sys-kernel/xanmod-sources/files/localversion.patch
Normal 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
|
47
sys-kernel/xanmod-sources/files/smoother.patch
Normal file
47
sys-kernel/xanmod-sources/files/smoother.patch
Normal 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;
|
||||
}
|
||||
|
||||
/*
|
@ -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>
|
||||
|
52
sys-kernel/xanmod-sources/xanmod-sources-5.10.2.ebuild
Normal file
52
sys-kernel/xanmod-sources/xanmod-sources-5.10.2.ebuild
Normal 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"
|
||||
}
|
Loading…
Reference in New Issue
Block a user