sys-kernel/xanmod-sources: bump to 5.11.8

Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Andreas Westman Dorcsak <hedmoo@yahoo.com>
This commit is contained in:
hedmo 2021-03-21 06:53:25 +01:00
parent 11c4583208
commit cf00bccc87
No known key found for this signature in database
GPG Key ID: CD4967633316254F
6 changed files with 1 additions and 162 deletions

View File

@ -1,9 +1,9 @@
DIST genpatches-5.11-1.base.tar.xz 3440 BLAKE2B eb1e9a9f2060023cb410bf3db8c4f4fe283eff47f545a434dfc1edb98aa513940f30a2a88566422192b79f7ab36c607b9bc63253c067070d9a479d6318fd34b3 SHA512 a862fe33272bb6b0e4095c862c74361f015fc57316b9dbbdf2782f2e57c131fbe7fe9b9ba81c3d5a7d71788f2d56abdbd28f1c7571973c3f378cd05199c0421f
DIST genpatches-5.11-1.extras.tar.xz 1772 BLAKE2B e6f8eae67db54099424f33e17bbfa66d36ae44c98d5f58969634a709a4b949a675a7ec1053eab4db4f745513d9730b68439ecf888e92f0fc9ef369822b39a388 SHA512 cf9d0ee27618b1b49322cefda8d85f66fd94820b9902948c8dd9a33d4e14acf511e7aabf611df5e070a4011e06d80164a512d124f5686b5b16fd81409098d8eb
DIST linux-5.11.tar.xz 117619104 BLAKE2B 81300c27bd5476387a83123aaeb4163c73eb61e9245806c23660cb5e6a4fa88ffc9def027031335fa0270fc4080506cd415990014364e3a98b9d2e8c58a29524 SHA512 a567ec133018bb5ec00c60281479b466c26e02137a93a9c690e83997947df02b6fd94e76e8df748f6d70ceb58a19bacc3b1467de10b7a1fad2763db32b3f1330
DIST patch-5.11.0-xanmod1.xz 110924 BLAKE2B 1a8ba61a55a8111e836383a0df5e45649d67352128e13001a66cb223f4fb378b4c9f686cd74da0f3baf93551a665a1284f563331a3ecdb683252960fbc979c28 SHA512 c32eb1817ff42906d7b5986a8771f1213f908b4aa74736faf673291550a3def97a99064e2ccadcb75d250f20b1df3a84002d15b475a9ea7deccdc17dc267f0c3
DIST patch-5.11.1-xanmod1.xz 115624 BLAKE2B ac78602a0163c22f5b3e63a4c0c190e5ed01ec8a46653ec73bf1b656833e701867f77d38458f475ac194c8538f9290ef884c5b33e6736860f5ab751bb1396f77 SHA512 8c67006af22b69702ffd2de62fec6a202d824313e9e3d6516bb8c83bffd1125507b5cbcaebdd002a09f92492a47051755f71bd8576cdb717d5284a4dcec4f5cb
DIST patch-5.11.2-xanmod1.xz 119096 BLAKE2B 065240dbe21286bf3f3d146cc8bb19d253796ec0e8a2089c0c080fa3ca1aaecaaf1ffe7a5c60a3a8621df5018af4ae6e684655647e66a542ce09a62c6e8a276e SHA512 fd2744e2b6b07ceeac345dce48ffd03e3e815792446aafdf7d8c18101e159c69e4e9e5f6bca949b2a68a7b922004620f8b8c89590612b50d3fec54de590f5025
DIST patch-5.11.3-xanmod1.xz 362932 BLAKE2B 100724d51a3d907aefb3be32255e1f1b0945a37155ed626dc784704fa5f494783a5cee48c2e92d008fa5a9302edee960011558215e4b3d39375d6a2da5e01390 SHA512 7f3f2299fb5b9e17ff921005940beba8f9459ebe286a3c3b081d4a18e0048ccd990ad2ad80ab35d456debcaa5367e08392670b8df4f3004df9fa49164a934e75
DIST patch-5.11.4-xanmod1.xz 396208 BLAKE2B 7b7b48d0724b88fbd3bce1cc3560645a5739adae2b076f96dd189012da1a123a734519eb145476fe1acdb2657164bd2f03dd4871a791f678bb2aed97a9d1c89b SHA512 4197bfc171c38d943a5fbbe4d0a2bcca00a7a4d79ff8203e07c6e1646576324ee2af29ba2eb7bd0af7a20b3b035c979fc59fbeb1bc519517ebf4c4dd31f52ebf
DIST patch-5.11.6-xanmod1.xz 422076 BLAKE2B d43e08ba81322ea9023fb716a4dfe015a950a4d22723385f43af3efe6511c50a71ff2b4be26903787be1e9c2f212c6e4ba785076bf585a628072b95476cf0c33 SHA512 8ab709e83a12a8ad0b444b8fbe464dc1a3e44e6fbdb4700150dc755d3088ea47ab1d3c3dda337e7c064d8b3f905869c38238dcf0e082b18dd3badb7fb7f1e1c9
DIST patch-5.11.8-xanmod1.xz 659756 BLAKE2B 076f45f24f1d098e444f9ac86ca3ef21ab1643ea6b8fb0ab1714db31ba29a6f053bf562fa3e71e4dba1fd86f8363966e3c2b198e20b7a6600bf999d98ca8c79c SHA512 b77b21fd35dbafe5535f2f9b1c4a71b333fa93b1af49ba520bebeaae5b525140a2c53f653960079504fd36352c16cb3b0eb9780310d9f01ca6d469d2f25e35e7

View File

@ -1,94 +0,0 @@
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 335efc1c6f06..f81f2f38659e 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -43,6 +43,7 @@ unsigned int sysctl_sched_latency = 6000000ULL;
static unsigned int normalized_sysctl_sched_latency = 6000000ULL;
#ifdef CONFIG_CACULE_SCHED
+int cacule_max_lifetime = 30000; // in ms
int interactivity_factor = 32768;
#endif
@@ -591,22 +592,25 @@ static void update_min_vruntime(struct cfs_rq *cfs_rq)
static inline unsigned int
calc_interactivity(u64 now, struct cacule_node *se)
{
- u64 l_se, vr_se, sleep_se, u64_factor;
+ u64 l_se, vr_se, sleep_se = 1ULL, u64_factor;
unsigned int score_se;
/*
* 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;
+ l_se = now - se->cacule_start_time;
vr_se = se->vruntime | 1;
- sleep_se = (l_se - vr_se) | 1;
u64_factor = interactivity_factor;
- if (sleep_se > vr_se)
+ /* safety check */
+ if (likely(l_se > vr_se))
+ sleep_se = (l_se - vr_se) | 1;
+
+ if (sleep_se >= vr_se)
score_se = u64_factor / (sleep_se / vr_se);
else
- score_se = (u64_factor / (vr_se / sleep_se)) + u64_factor;
+ score_se = (u64_factor << 1) - (u64_factor / (vr_se / sleep_se));
return score_se;
}
@@ -964,6 +968,42 @@ static void update_tg_load_avg(struct cfs_rq *cfs_rq, int force)
}
#endif /* CONFIG_SMP */
+#ifdef CONFIG_CACULE_SCHED
+static void reset_lifetime(u64 now, struct sched_entity *se)
+{
+ struct cacule_node *cn;
+ u64 max_life_ns, life_time;
+ s64 diff;
+
+ /*
+ * left shift 20 bits is approximately = * 1000000
+ * we don't need the precision of life time
+ * Ex. for 30s, with left shift (20bits) == 31.457s
+ */
+ max_life_ns = ((u64) cacule_max_lifetime) << 20;
+
+ for_each_sched_entity(se) {
+ cn = &se->cacule_node;
+ life_time = now - cn->cacule_start_time;
+ diff = life_time - max_life_ns;
+
+ if (unlikely(diff > 0)) {
+ // multiply life_time by 8 for more precision
+ u64 old_hrrn_x8 = life_time / ((cn->vruntime >> 3) | 1);
+
+ // reset life to half max_life (i.e ~15s)
+ cn->cacule_start_time = now - (max_life_ns >> 1);
+
+ // avoid division by zero
+ if (old_hrrn_x8 == 0) old_hrrn_x8 = 1;
+
+ // reset vruntime based on old hrrn ratio
+ cn->vruntime = (max_life_ns << 2) / old_hrrn_x8;
+ }
+ }
+}
+#endif /* CONFIG_CACULE_SCHED */
+
/*
* Update the current task's runtime statistics.
*/
@@ -991,6 +1031,7 @@ static void update_curr(struct cfs_rq *cfs_rq)
#ifdef CONFIG_CACULE_SCHED
curr->cacule_node.vruntime += calc_delta_fair(delta_exec, curr);
+ reset_lifetime(sched_clock(), curr);
#else
curr->vruntime += calc_delta_fair(delta_exec, curr);
update_min_vruntime(cfs_rq);

View File

@ -1,5 +0,0 @@
--- 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

@ -1,15 +0,0 @@
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 957e418f05f7..335efc1c6f06 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -6996,8 +6996,10 @@ static void migrate_task_rq_fair(struct task_struct *p, int new_cpu)
/* Tell new CPU we are migrated */
p->se.avg.last_update_time = 0;
+#if !defined(CONFIG_CACULE_SCHED)
/* We have migrated, no longer consider this task hot */
p->se.exec_start = 0;
+#endif
update_scan_period(p, new_cpu);
}

View File

@ -1,47 +0,0 @@
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;
}
/*