This commit is contained in:
ferrreo 2023-08-29 12:49:10 +01:00
parent e837bf13af
commit 2320adf1c3
5 changed files with 14418 additions and 15086 deletions

3
config
View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 6.5.0-rc7 Kernel Configuration
# Linux/x86 6.5.0 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (GCC) 13.2.1 20230730"
CONFIG_CC_IS_GCC=y
@ -2894,7 +2894,6 @@ CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_ALUA=m
CONFIG_VHBA=m
# end of SCSI device support
CONFIG_ATA=y

File diff suppressed because it is too large Load Diff

View File

@ -1,26 +1,27 @@
From 6d15f875cb0c7fd65fc422c0545d57fc2e124f7c Mon Sep 17 00:00:00 2001
From 9a3788351b1bc830a28d7a51740d2ee964ab8319 Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Sun, 20 Aug 2023 15:56:13 +0200
Subject: [PATCH] EEVDF-cachy
Date: Mon, 28 Aug 2023 14:04:00 +0200
Subject: [PATCH] EEVDF
Signed-off-by: Peter Jung <admin@ptr1337.dev>
---
Documentation/admin-guide/cgroup-v2.rst | 10 +
include/linux/rbtree_augmented.h | 26 +
include/linux/sched.h | 8 +-
include/uapi/linux/sched.h | 4 +-
include/uapi/linux/sched/types.h | 19 +
init/init_task.c | 3 +-
kernel/sched/core.c | 65 +-
kernel/sched/debug.c | 49 +-
kernel/sched/fair.c | 1150 +++++++++++------------
kernel/sched/features.h | 24 +-
kernel/sched/sched.h | 21 +-
tools/include/uapi/linux/sched.h | 4 +-
12 files changed, 715 insertions(+), 668 deletions(-)
Documentation/admin-guide/cgroup-v2.rst | 10 +
Documentation/scheduler/sched-design-CFS.rst | 2 +-
include/linux/rbtree_augmented.h | 26 +
include/linux/sched.h | 8 +-
include/uapi/linux/sched.h | 4 +-
include/uapi/linux/sched/types.h | 19 +
init/init_task.c | 3 +-
kernel/sched/core.c | 65 +-
kernel/sched/debug.c | 49 +-
kernel/sched/fair.c | 1150 ++++++++----------
kernel/sched/features.h | 24 +-
kernel/sched/sched.h | 21 +-
tools/include/uapi/linux/sched.h | 4 +-
13 files changed, 716 insertions(+), 669 deletions(-)
diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
index 4ef8901911961..3a8d3e1e55910 100644
index 4ef890191196..3a8d3e1e5591 100644
--- a/Documentation/admin-guide/cgroup-v2.rst
+++ b/Documentation/admin-guide/cgroup-v2.rst
@@ -1121,6 +1121,16 @@ All time durations are in microseconds.
@ -40,8 +41,21 @@ index 4ef8901911961..3a8d3e1e55910 100644
Memory
diff --git a/Documentation/scheduler/sched-design-CFS.rst b/Documentation/scheduler/sched-design-CFS.rst
index 03db55504515..f68919800f05 100644
--- a/Documentation/scheduler/sched-design-CFS.rst
+++ b/Documentation/scheduler/sched-design-CFS.rst
@@ -94,7 +94,7 @@ other HZ detail. Thus the CFS scheduler has no notion of "timeslices" in the
way the previous scheduler had, and has no heuristics whatsoever. There is
only one central tunable (you have to switch on CONFIG_SCHED_DEBUG):
- /sys/kernel/debug/sched/min_granularity_ns
+ /sys/kernel/debug/sched/base_slice_ns
which can be used to tune the scheduler from "desktop" (i.e., low latencies) to
"server" (i.e., good batching) workloads. It defaults to a setting suitable
diff --git a/include/linux/rbtree_augmented.h b/include/linux/rbtree_augmented.h
index 7ee7ed5de7227..6dbc5a1bf6a8c 100644
index 7ee7ed5de722..6dbc5a1bf6a8 100644
--- a/include/linux/rbtree_augmented.h
+++ b/include/linux/rbtree_augmented.h
@@ -60,6 +60,32 @@ rb_insert_augmented_cached(struct rb_node *node,
@ -78,7 +92,7 @@ index 7ee7ed5de7227..6dbc5a1bf6a8c 100644
* Template for declaring augmented rbtree callbacks (generic case)
*
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 609bde814cb06..c940c4dc83048 100644
index 609bde814cb0..c940c4dc8304 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -549,13 +549,18 @@ struct sched_entity {
@ -110,7 +124,7 @@ index 609bde814cb06..c940c4dc83048 100644
struct sched_entity se;
struct sched_rt_entity rt;
diff --git a/include/uapi/linux/sched.h b/include/uapi/linux/sched.h
index 3bac0a8ceab26..b2e932c25be62 100644
index 3bac0a8ceab2..b2e932c25be6 100644
--- a/include/uapi/linux/sched.h
+++ b/include/uapi/linux/sched.h
@@ -132,6 +132,7 @@ struct clone_args {
@ -131,7 +145,7 @@ index 3bac0a8ceab26..b2e932c25be62 100644
#endif /* _UAPI_LINUX_SCHED_H */
diff --git a/include/uapi/linux/sched/types.h b/include/uapi/linux/sched/types.h
index f2c4589d4dbfe..db1e8199e8c80 100644
index f2c4589d4dbf..db1e8199e8c8 100644
--- a/include/uapi/linux/sched/types.h
+++ b/include/uapi/linux/sched/types.h
@@ -10,6 +10,7 @@ struct sched_param {
@ -175,7 +189,7 @@ index f2c4589d4dbfe..db1e8199e8c80 100644
#endif /* _UAPI_LINUX_SCHED_TYPES_H */
diff --git a/init/init_task.c b/init/init_task.c
index ff6c4b9bfe6b1..511cbcf3510dc 100644
index ff6c4b9bfe6b..511cbcf3510d 100644
--- a/init/init_task.c
+++ b/init/init_task.c
@@ -78,6 +78,7 @@ struct task_struct init_task
@ -196,7 +210,7 @@ index ff6c4b9bfe6b1..511cbcf3510dc 100644
.rt = {
.run_list = LIST_HEAD_INIT(init_task.rt.run_list),
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index c52c2eba7c739..aff81e12460ed 100644
index c52c2eba7c73..aff81e12460e 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -1305,6 +1305,12 @@ static void set_load_weight(struct task_struct *p, bool update_load)
@ -358,7 +372,7 @@ index c52c2eba7c739..aff81e12460ed 100644
#ifdef CONFIG_CFS_BANDWIDTH
{
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index 066ff1c8ae4eb..e7e83181fbb6c 100644
index 066ff1c8ae4e..e7e83181fbb6 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -347,10 +347,7 @@ static __init int sched_init_debug(void)
@ -462,7 +476,7 @@ index 066ff1c8ae4eb..e7e83181fbb6c 100644
P(dl.runtime);
P(dl.deadline);
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 2c335df301718..e0a4c13dab04f 100644
index 2c335df30171..e0a4c13dab04 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -47,6 +47,7 @@
@ -2075,7 +2089,7 @@ index 2c335df301718..e0a4c13dab04f 100644
return rr_interval;
}
diff --git a/kernel/sched/features.h b/kernel/sched/features.h
index ee7f23c76bd33..546d212ef40d8 100644
index ee7f23c76bd3..546d212ef40d 100644
--- a/kernel/sched/features.h
+++ b/kernel/sched/features.h
@@ -1,16 +1,12 @@
@ -2122,7 +2136,7 @@ index ee7f23c76bd33..546d212ef40d8 100644
-SCHED_FEAT(ALT_PERIOD, true)
-SCHED_FEAT(BASE_SLICE, true)
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index e93e006a942b9..67cd7e1fd5016 100644
index e93e006a942b..67cd7e1fd501 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -372,6 +372,8 @@ struct task_group {
@ -2202,7 +2216,7 @@ index e93e006a942b9..67cd7e1fd5016 100644
+
#endif /* _KERNEL_SCHED_SCHED_H */
diff --git a/tools/include/uapi/linux/sched.h b/tools/include/uapi/linux/sched.h
index 3bac0a8ceab26..b2e932c25be62 100644
index 3bac0a8ceab2..b2e932c25be6 100644
--- a/tools/include/uapi/linux/sched.h
+++ b/tools/include/uapi/linux/sched.h
@@ -132,6 +132,7 @@ struct clone_args {
@ -2223,4 +2237,4 @@ index 3bac0a8ceab26..b2e932c25be62 100644
#endif /* _UAPI_LINUX_SCHED_H */
--
2.41.0
2.42.0

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
echo "Pika Kernel - Getting source"
wget -nv https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/snapshot/linux-6.5-rc7.tar.gz
tar -xf ./linux-6.5-rc7.tar.gz
wget -nv https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.5.tar.gz
tar -xf ./linux-6.5.tar.gz
cd linux-6.5-rc7
cd linux-6.5