summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKyle De'Vir2019-05-13 22:43:56 +1000
committerKyle De'Vir2019-05-13 22:43:56 +1000
commit7cdc5da0be1c5b87d1e529f5330a1f663d348f4c (patch)
tree4bda898d6eefb610852b66e20d47216ffa0dbd5b
parentbc45d1e5cd18b96461fb104a38143e1609e1c855 (diff)
downloadaur-7cdc5da0be1c5b87d1e529f5330a1f663d348f4c.tar.gz
Freeze fix
-rw-r--r--.SRCINFO18
-rw-r--r--01-Glitched-PDS-by-TkG.patch164
-rw-r--r--02-Undead-PDS-0.99o-rebase-by-TkG.patch (renamed from Undead-PDS-0.99o-rebase-by-TkG.patch)0
-rw-r--r--PKGBUILD19
4 files changed, 185 insertions, 16 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f114e89624c7..9582b77e89fc 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -17,17 +17,19 @@ pkgbase = linux-pds
source = 60-linux.hook
source = 90-linux.hook
source = linux.preset
- source = Undead-PDS-0.99o-rebase-by-TkG.patch
+ source = 01-Glitched-PDS-by-TkG.patch
+ source = 02-Undead-PDS-0.99o-rebase-by-TkG.patch
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
validpgpkeys = 8218F88849AAC522E94CF470A5E9288C4FA415FA
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = 8ec8a6079408a0fe6cf5f81c24076b0f7461d2b67eb0ddbe9de2f22a1d07ee5d
- sha256sums = ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21
- sha256sums = c043f3033bb781e2688794a59f6d1f7ed49ef9b13eb77ff9a425df33a244a636
- sha256sums = ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65
- sha256sums = 680f2ada99d1f0c1e611b4340140ef2da68530ab2f3bcd95770c68d07a56e0e2
+ sha512sums = SKIP
+ sha512sums = SKIP
+ sha512sums = cb24bed94fa191b13e4122721875f61e75d0aacc030b9b87dba80286e5d62e31b25fef13ac70225b1c45484af4fadd0d1ed26c3784508c764fcfd0582cc966a5
+ sha512sums = 7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a
+ sha512sums = 2718b58dbbb15063bacb2bde6489e5b3c59afac4c0e0435b97fe720d42c711b6bcba926f67a8687878bd51373c9cf3adb1915a11666d79ccb220bf36e0788ab7
+ sha512sums = 2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf
+ sha512sums = 3ff796cbc213ae5f43a55f1ba92406bba04703db3459040beacacd9baceb3138021e908f440bd101cc76cb725e418ebdc8ab776327801690da30a1477bc84753
+ sha512sums = cdfa59b9f369a5795c93ced526e7f480851ef439f3379e6c1a32b9cf29232cd4671fe4b0ddb50c5d996e23db71582844e233fee96bb551827eaf70b0be1d18dc
pkgname = linux-pds
pkgdesc = The Linux-pds kernel and modules ~ featuring Alfred Chen's PDS CPU scheduler, rebased by TkG
diff --git a/01-Glitched-PDS-by-TkG.patch b/01-Glitched-PDS-by-TkG.patch
new file mode 100644
index 000000000000..bb479cdcd6fb
--- /dev/null
+++ b/01-Glitched-PDS-by-TkG.patch
@@ -0,0 +1,164 @@
+From f7f49141a5dbe9c99d78196b58c44307fb2e6be3 Mon Sep 17 00:00:00 2001
+From: Tk-Glitch <ti3nou@gmail.com>
+Date: Wed, 4 Jul 2018 04:30:08 +0200
+Subject: glitched - PDS
+
+diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c
+index 6b423eebfd5d..61e3271675d6 100644
+--- a/drivers/cpufreq/cpufreq_ondemand.c
++++ b/drivers/cpufreq/cpufreq_ondemand.c
+@@ -21,10 +21,10 @@
+ #include "cpufreq_ondemand.h"
+
+ /* On-demand governor macros */
+-#define DEF_FREQUENCY_UP_THRESHOLD (63)
+-#define DEF_SAMPLING_DOWN_FACTOR (1)
++#define DEF_FREQUENCY_UP_THRESHOLD (55)
++#define DEF_SAMPLING_DOWN_FACTOR (5)
+ #define MAX_SAMPLING_DOWN_FACTOR (100000)
+-#define MICRO_FREQUENCY_UP_THRESHOLD (95)
++#define MICRO_FREQUENCY_UP_THRESHOLD (63)
+ #define MICRO_FREQUENCY_MIN_SAMPLE_RATE (10000)
+ #define MIN_FREQUENCY_UP_THRESHOLD (1)
+ #define MAX_FREQUENCY_UP_THRESHOLD (100)
+diff --git a/kernel/Kconfig.hz b/kernel/Kconfig.hz
+index 2a202a846757..1d9c7ed79b11 100644
+--- a/kernel/Kconfig.hz
++++ b/kernel/Kconfig.hz
+@@ -4,7 +4,7 @@
+
+ choice
+ prompt "Timer frequency"
+- default HZ_250
++ default HZ_500
+ help
+ Allows the configuration of the timer frequency. It is customary
+ to have the timer interrupt run at 1000 Hz but 100 Hz may be more
+@@ -39,6 +39,13 @@ choice
+ on SMP and NUMA systems and exactly dividing by both PAL and
+ NTSC frame rates for video and multimedia work.
+
++ config HZ_500
++ bool "500 HZ"
++ help
++ 500 Hz is a balanced timer frequency. Provides fast interactivity
++ on desktops with great smoothness without increasing CPU power
++ consumption and sacrificing the battery life on laptops.
++
+ config HZ_1000
+ bool "1000 HZ"
+ help
+@@ -52,6 +59,7 @@ config HZ
+ default 100 if HZ_100
+ default 250 if HZ_250
+ default 300 if HZ_300
++ default 500 if HZ_500
+ default 1000 if HZ_1000
+
+ config SCHED_HRTICK
+
+diff --git a/kernel/Kconfig.hz b/kernel/Kconfig.hz
+index 2a202a846757..1d9c7ed79b11 100644
+--- a/kernel/Kconfig.hz
++++ b/kernel/Kconfig.hz
+@@ -4,7 +4,7 @@
+
+ choice
+ prompt "Timer frequency"
+- default HZ_500
++ default HZ_750
+ help
+ Allows the configuration of the timer frequency. It is customary
+ to have the timer interrupt run at 1000 Hz but 100 Hz may be more
+@@ -46,6 +46,13 @@ choice
+ on desktops with great smoothness without increasing CPU power
+ consumption and sacrificing the battery life on laptops.
+
++ config HZ_750
++ bool "750 HZ"
++ help
++ 750 Hz is a good timer frequency for desktops. Provides fast
++ interactivity with great smoothness without sacrificing too
++ much throughput.
++
+ config HZ_1000
+ bool "1000 HZ"
+ help
+@@ -60,6 +67,7 @@ config HZ
+ default 250 if HZ_250
+ default 300 if HZ_300
+ default 500 if HZ_500
++ default 750 if HZ_750
+ default 1000 if HZ_1000
+
+ config SCHED_HRTICK
+
+diff --git a/mm/vmscan.c b/mm/vmscan.c
+index 9270a4370d54..30d01e647417 100644
+--- a/mm/vmscan.c
++++ b/mm/vmscan.c
+@@ -159,7 +159,7 @@ struct scan_control {
+ /*
+ * From 0 .. 100. Higher means more swappy.
+ */
+-int vm_swappiness = 60;
++int vm_swappiness = 20;
+ /*
+ * The total number of pages which are beyond the high watermark within all
+ * zones.
+
+diff --git a/kernel/sched/pds.c b/kernel/sched/pds.c
+index c2d831b242b6d18a47e0d87a9f5433a7748b52ff..5bc8d7a8f920c21feab69b2706a3328dc8d39f9a 100644
+--- a/kernel/sched/pds.c
++++ b/kernel/sched/pds.c
+@@ -409,12 +409,11 @@ struct rq *task_rq_lock(struct task_struct *p, struct rq_flags *rf)
+ * [L] ->on_rq
+ * RELEASE (rq->lock)
+ *
+- * If we observe the old CPU in task_rq_lock(), the acquire of
++ * If we observe the old CPU in task_rq_lock, the acquire of
+ * the old rq->lock will fully serialize against the stores.
+ *
+- * If we observe the new CPU in task_rq_lock(), the address
+- * dependency headed by '[L] rq = task_rq()' and the acquire
+- * will pair with the WMB to ensure we then also see migrating.
++ * If we observe the new CPU in task_rq_lock, the acquire will
++ * pair with the WMB to ensure we must then also see migrating.
+ */
+ if (likely(rq == task_rq(p) && !task_on_rq_migrating(p))) {
+ return rq;
+@@ -952,9 +953,9 @@ static inline void __set_task_cpu(struct task_struct *p, unsigned int cpu)
+ smp_wmb();
+
+ #ifdef CONFIG_THREAD_INFO_IN_TASK
+- WRITE_ONCE(p->cpu, cpu);
++ p->cpu = cpu;
+ #else
+- WRITE_ONCE(task_thread_info(p)->cpu, cpu);
++ task_thread_info(p)->cpu = cpu;
+ #endif
+ #endif
+ }
+@@ -1035,7 +1036,7 @@ static void detach_task(struct rq *rq, struct task_struct *p, int target_cpu)
+ {
+ lockdep_assert_held(&rq->lock);
+
+- WRITE_ONCE(p->on_rq ,TASK_ON_RQ_MIGRATING);
++ p->on_rq = TASK_ON_RQ_MIGRATING;
+ if (task_contributes_to_load(p))
+ rq->nr_uninterruptible++;
+ dequeue_task(p, rq, 0);
+diff --git a/kernel/sched/pds_sched.h b/kernel/sched/pds_sched.h
+index 20dcf19ea057627d91be07b4ec20f0827c30084c..24fa90ca63d144cc4f45d82d88407ea70d2d2edf 100644
+--- a/kernel/sched/pds_sched.h
++++ b/kernel/sched/pds_sched.h
+@@ -56,7 +56,7 @@ static inline int task_on_rq_queued(struct task_struct *p)
+
+ static inline int task_on_rq_migrating(struct task_struct *p)
+ {
+- return READ_ONCE(p->on_rq) == TASK_ON_RQ_MIGRATING;
++ return p->on_rq == TASK_ON_RQ_MIGRATING;
+ }
+
+ enum {
+
diff --git a/Undead-PDS-0.99o-rebase-by-TkG.patch b/02-Undead-PDS-0.99o-rebase-by-TkG.patch
index d66a7b12dd40..d66a7b12dd40 100644
--- a/Undead-PDS-0.99o-rebase-by-TkG.patch
+++ b/02-Undead-PDS-0.99o-rebase-by-TkG.patch
diff --git a/PKGBUILD b/PKGBUILD
index b36a11b5f86f..c43a9961a882 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -94,20 +94,22 @@ source=("git+${_repo_url}?signed#tag=v${_srcver}"
60-linux.hook # pacman hook for depmod
90-linux.hook # pacman hook for initramfs regeneration
linux.preset # standard config files for mkinitcpio ramdisk
- "Undead-PDS-0.99o-rebase-by-TkG.patch"
+ 01-Glitched-PDS-by-TkG.patch
+ 02-Undead-PDS-0.99o-rebase-by-TkG.patch
)
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
'8218F88849AAC522E94CF470A5E9288C4FA415FA' # Jan Alexander Steffens (heftig)
)
-sha256sums=('SKIP'
+sha512sums=('SKIP'
'SKIP'
- '8ec8a6079408a0fe6cf5f81c24076b0f7461d2b67eb0ddbe9de2f22a1d07ee5d'
- 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
- 'c043f3033bb781e2688794a59f6d1f7ed49ef9b13eb77ff9a425df33a244a636'
- 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
- '680f2ada99d1f0c1e611b4340140ef2da68530ab2f3bcd95770c68d07a56e0e2')
+ 'cb24bed94fa191b13e4122721875f61e75d0aacc030b9b87dba80286e5d62e31b25fef13ac70225b1c45484af4fadd0d1ed26c3784508c764fcfd0582cc966a5'
+ '7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a'
+ '2718b58dbbb15063bacb2bde6489e5b3c59afac4c0e0435b97fe720d42c711b6bcba926f67a8687878bd51373c9cf3adb1915a11666d79ccb220bf36e0788ab7'
+ '2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf'
+ '3ff796cbc213ae5f43a55f1ba92406bba04703db3459040beacacd9baceb3138021e908f440bd101cc76cb725e418ebdc8ab776327801690da30a1477bc84753'
+ 'cdfa59b9f369a5795c93ced526e7f480851ef439f3379e6c1a32b9cf29232cd4671fe4b0ddb50c5d996e23db71582844e233fee96bb551827eaf70b0be1d18dc')
_kernelname=${pkgbase#linux}
: ${_kernelname:=-ARCH}
@@ -117,7 +119,8 @@ prepare() {
# https://github.com/graysky2/kernel_gcc_patch
msg2 "Patching Undead PDS 0.99o 5.1 rebase by TkG"
- patch -Np1 -i "$srcdir/Undead-PDS-0.99o-rebase-by-TkG.patch"
+ patch -Np1 -i "$srcdir/01-Glitched-PDS-by-TkG.patch"
+ patch -Np1 -i "$srcdir/02-Undead-PDS-0.99o-rebase-by-TkG.patch"
# https://github.com/graysky2/kernel_gcc_patch
msg2 "Patching to enabled additional gcc CPU optimizatons..."