Merge branch 'master' into 'master'

Master

See merge request src_prepare/src_prepare-overlay!137
This commit is contained in:
hedmo 2020-12-24 08:37:03 +00:00
commit 6478e788ac
10 changed files with 176 additions and 89 deletions

View File

@ -6,5 +6,6 @@ DIST v5.9.11-lqx1.patch.xz 676520 BLAKE2B 778bd351b5a9d9a8768c2c748e4becdcafab7d
DIST v5.9.12-lqx1.patch.xz 722204 BLAKE2B 4f8eabd4a0c6f9202f5f020f1dd5eb3ef9211e24b68550aebeba4574117fa1f9fdadc55aeb98bca2d91c66e247a2ef7e139b582cff77b23165d3965b79b623ae SHA512 bf3203c071f315968382b8f8eba449ab3cbdf0a092788bf8d85195c86ac3baf586a558ebb6c3dd59e5a4b10d729e71ac23824ccb4c1803502f733a001d0a4d54
DIST v5.9.13-lqx2.patch.xz 743624 BLAKE2B 4f21723e1b6a57c070611eae06c43dd09c55e38c344e1477633181f6a4c2a12b1bfd1acdf1dc8e989c22ebff429e770e0465ba5933aec15058ac2a44693505c5 SHA512 5dbc6db35776607b1f625f62324b3ed99fe09677a9016b1c259e51b5163f78ec358b94c62fe2878e1efa39c8bfbc9fd673188573b7149d17a773e8fde6eaec91
DIST v5.9.15-lqx1.patch.xz 777072 BLAKE2B fde54a06c99f463d44865d99d17d0062bbc9b3d3b2bd341a0add0f13d9b53defe9180d50f5e7d5238f4b593c58a111d750c1f28232f5cd78325a03cee5068e4c SHA512 e48cdc3a9761559d4e1c529c5db57ae5cd624792f8fc56d7279c1c0f19306f7661ce410998f8eaf29028942d3224b1f669b88ea7f6b5aa6d6b956cc8a9019f32
DIST v5.9.16-lqx1.patch.xz 790204 BLAKE2B cb03edf4fd2326dd063562d36967c18bb68f94e669be47ea010389c87a78eaac147c5727c715e2fdf5e22aeba8c1b5c242d8fe54052e5bd8882ea58dbe5c07a7 SHA512 13388a2e68b3300641d670a08ecebcec1128d8419e3b04cc6ac84ddfb30043e9ee2803b6d1b27b858201b9a73c2536cce6743ba2f08e33a1987c3454065c67f8
DIST v5.9.8-lqx2.patch.xz 565716 BLAKE2B 7a026c0a05d222b85082eb8a52b29a2a5b2c82376f79cdfe23f4f84e8642b3a13550fe9d1f0bfee0dade0a0ba74452cae350fb5d841b383954484ae340876fc8 SHA512 531372e7b6b5e41f89c6168e4405e32dc96ec7ee8ecfb78c51708c82ffd23b273a6625df9d28c6086f7a69ebb405c59f9932f2e66e8142547bd86b0e9b1f807a
DIST v5.9.9-lqx1.patch.xz 613320 BLAKE2B 577f1ba3564349cd1935b1c30e482b3d0347e9b35d7040226e112fcb5e19cab8e195c1dac0eddf77a064ce7084907aa15bd44df9ed3f1cc2f85d502072e1b9d6 SHA512 796ad4b063e5f214f00f141143c592877fa3bcb80b744bec772365bd737abbc4cabe9d3b374d71ea8ccee563b74e229a58e712319ae1d187d125e938654ec701

View File

@ -0,0 +1,33 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
ETYPE="sources"
K_WANT_GENPATCHES="base extras"
K_GENPATCHES_VER="1"
K_SECURITY_UNSUPPORTED="1"
K_NOSETEXTRAVERSION="1"
LQX_VERSION="1"
inherit kernel-2-src-prepare-overlay
detect_version
detect_arch
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
HOMEPAGE="https://github.com/zen-kernel"
IUSE=""
DESCRIPTION="Liquorix sources including the Gentoo patchsets for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
LQX_URI="https://github.com/zen-kernel/zen-kernel/releases/download/v${PV}-lqx${LQX_VERSION}/v${PV}-lqx${LQX_VERSION}.patch.xz"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${LQX_URI}"
UNIPATCH_LIST="${DISTDIR}/v${PV}-lqx${LQX_VERSION}.patch.xz"
UNIPATCH_STRICTORDER="yes"
K_EXTRAEINFO="For more info on liquorix-sources, and for how to report problems, see: \
${HOMEPAGE}, also go to #zen-sources on freenode"
pkg_postrm() {
kernel-2_pkg_postrm
}

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"
}

View File

@ -5,6 +5,7 @@ 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 v5.10.1-zen1.patch.xz 35268 BLAKE2B 69b75dc5eb69cf4a57941d429e42416b2720634e2700915e3872cd24c1597a3f6c13ca8efd2e0bbeba85fcf174ac50f39787a07f21fad94dba2a9c60bfdcaf40 SHA512 e1bb633354946ba92a4f358f9f42328843ae3450d4f5c5439da8a90bf1a1ea2aae49821643d0302b032c90ff8165cc0609b777ae31294610578c535c55f55cbf
DIST v5.10.2-zen1.patch.xz 38964 BLAKE2B 8596998d6cb2362b71194f6c8091fe61669698efea857f9438e4afebb521c9c3be298f94a280401109b9ba75f75245a751453fcb5ab8571aca7a2317c434bad5 SHA512 9b9eb8e9453efb6404933cc44264762790e79b6fabc56cee14cc7d8659b6be8089100d4ebb3af3e414fea2db2aa6de9118c5366ea171e02265c7fb2afe2a7605
DIST v5.9.10-zen1.patch.xz 685296 BLAKE2B 6bf669449cb0418ef0532a2c15010b8929a32d4225ac3664de155f9fc6943f3cc9a0fc1a1f37cebc2cf38221a2e7c5b33091bd471e3f42923d7c1e7bc759e800 SHA512 31af40cbdfd4e19cd20be0670b4b2db862c1e742487063111f698f2d6e6786e1a4cc72c68b25727f04a1271318fa645d5ab5bbea58ceae95ac4846edb79a9035
DIST v5.9.11-zen1.patch.xz 745500 BLAKE2B 5012d3f22c756fda02c336b505b31135ecc306421fbbacefaaff84cede38189cd601c4acb1cfd76034300cfd90b3aa42f68096b5f1a9547180bdfc927d17197b SHA512 0f21f72bd93648ef2ddb728f23cdb4aaee96005c975ea819ed994b06950f483b9bda36afb9f2f2b6dd111b4a699d7b68f25d59eb24cf1e07263cbeb2ae942cf4
DIST v5.9.12-zen1.patch.xz 796072 BLAKE2B b8bbb33298ab5d236ca7d1b2bef99da7c79cfb0b7297a996a329affb96a917a267102339460b54cb097d0d40868a357b260a46278458cedc04190a5c8c870767 SHA512 1f88498d1f547f59aaa59a6ee938fc72ed8b90cec46526c4c8bd377d3b43a76a4990740fc2869017f52f0b56393ae43b779c399b2acfa75f3e00dc9b4f53f084

View File

@ -0,0 +1,32 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
ETYPE="sources"
K_WANT_GENPATCHES="base extras"
K_GENPATCHES_VER="1"
K_SECURITY_UNSUPPORTED="1"
K_NOSETEXTRAVERSION="1"
ZEN_VERSION="1"
inherit kernel-2-src-prepare-overlay
detect_version
detect_arch
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
HOMEPAGE="https://github.com/zen-kernel"
IUSE=""
DESCRIPTION="Zen sources including the Gentoo patchsets for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
ZEN_URI="https://github.com/zen-kernel/zen-kernel/releases/download/v${PV}-zen${ZEN_VERSION}/v${PV}-zen${ZEN_VERSION}.patch.xz"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${ZEN_URI}"
UNIPATCH_LIST="${DISTDIR}/v${PV}-zen${ZEN_VERSION}.patch.xz"
UNIPATCH_STRICTORDER="yes"
K_EXTRAEINFO="For more info on zen-sources, and for how to report problems, see: \
${HOMEPAGE}, also go to #zen-sources on freenode"
pkg_postrm() {
kernel-2_pkg_postrm
}