diff options
author | Kyle De'Vir | 2019-05-14 01:17:13 +1000 |
---|---|---|
committer | Kyle De'Vir | 2019-05-14 01:17:13 +1000 |
commit | ee545f391b146ccbaf77a478156bdd4d114d6e8a (patch) | |
tree | e3924bd789c8b1f0418942b4a721b76c67a73288 /02-Glitched-PDS-by-TkG.patch | |
parent | ef6015078d7e66b52ba2224cc09d28355f86695e (diff) | |
download | aur-ee545f391b146ccbaf77a478156bdd4d114d6e8a.tar.gz |
Partial changes 1
Diffstat (limited to '02-Glitched-PDS-by-TkG.patch')
-rw-r--r-- | 02-Glitched-PDS-by-TkG.patch | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/02-Glitched-PDS-by-TkG.patch b/02-Glitched-PDS-by-TkG.patch new file mode 100644 index 000000000000..bb479cdcd6fb --- /dev/null +++ b/02-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 { + |