Update CK patchset to 0.205 (#146)

* Update CK patchset.

* Update sums.

* Bump pkgrel
master
Eduard Tolosa 2021-01-08 08:29:38 +07:00 committed by GitHub
parent 2ce20e52fe
commit 0338eb5f20
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 109 additions and 98 deletions

@ -329,7 +329,7 @@ case $_basever in
'7058e57fd68367b029adc77f2a82928f1433daaf02c8c279cb2d13556c8804d7'
'c605f638d74c61861ebdc36ebd4cb8b6475eae2f6273e1ccb2bbb3e10a2ec3fe'
'2bbbac963b6ca44ef3f8a71ec7c5cad7d66df860869a73059087ee236775970a'
'4231bd331289f5678b49d084698f0a80a3ae602eccb41d89e4f85ff4465eb971'
'e00096244e5cddaa5500d08b5f692fd3f25be9401dfa3b0fc624625ff2f5e198'
'62496f9ca788996181ef145f96ad26291282fcc3fb95cdc04080dcf84365be33'
'31b428c464905e44ed61cdcd1f42b4ec157ebe5a44cb5b608c4c99b466df66ba'
'06e93b57b7a0b96aefc2c0ec12c3be28c6e8dc8506fa8a22c5a2313814a3c7f3'

@ -1,8 +1,8 @@
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index a1068742a6df..d2a8f1c637d2 100644
index 44fde25bb221..044daa3a41ab 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -4595,6 +4595,14 @@
@@ -4652,6 +4652,14 @@
Memory area to be used by remote processor image,
managed by CMA.
@ -810,7 +810,7 @@ index 000000000000..ae28b85c9995
+
+Con Kolivas <kernel@kolivas.org> Sat, 29th October 2016
diff --git a/Makefile b/Makefile
index 51540b291738..ab8c480660a6 100644
index e30cf02da8b8..317a5c41c03f 100644
--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,10 @@ $(if $(filter __%, $(MAKECMDGOALS)), \
@ -825,10 +825,10 @@ index 51540b291738..ab8c480660a6 100644
# to get the ordering right.
#
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 9c5f06e8eb9b..0d1069eee09c 100644
index d6e9fc7a7b19..f2d07b1939fd 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -666,6 +666,8 @@ config HZ
@@ -667,6 +667,8 @@ config HZ
default 1200 if HZ_1200
default 1024
@ -851,7 +851,7 @@ index a12656ec0072..b46b6ddc7636 100644
CONFIG_NET=y
CONFIG_PACKET=y
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index e00d94b16658..efabbd09475a 100644
index 002e0cf025f5..a3045ba688ca 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1236,6 +1236,8 @@ config SCHED_SMT
@ -877,10 +877,10 @@ index 44ff9cd88d81..9c639c998015 100644
CONFIG_KSM=y
CONFIG_CLEANCACHE=y
diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index 82d3ffb18e70..bb05667427a6 100644
index 221f5c340c86..2cb7a9a08a05 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -45,6 +45,7 @@ CONFIG_PCI_MSI=y
@@ -33,6 +33,7 @@ CONFIG_PCI_MSI=y
CONFIG_PCI_IMX6=y
CONFIG_SMP=y
CONFIG_ARM_PSCI=y
@ -929,10 +929,10 @@ index a9c6f32a9b1c..870866aaa39d 100644
CONFIG_PACKET=y
CONFIG_UNIX=y
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 6d232837cbee..052cae73d674 100644
index a6b5b7ef40ae..621c278bb5f2 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -945,6 +945,8 @@ config SCHED_SMT
@@ -976,6 +976,8 @@ config SCHED_SMT
MultiThreading at a cost of slightly increased overhead in some
places. If unsure say N here.
@ -1633,10 +1633,10 @@ index 000000000000..0d976614934c
+CONFIG_LIBCRC32C=m
+CONFIG_FONTS=y
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 787e829b6f25..22914bbb4caa 100644
index 5181872f9452..bf3a47193bb5 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -882,6 +882,8 @@ config SCHED_SMT
@@ -888,6 +888,8 @@ config SCHED_SMT
when dealing with POWER5 cpus at a cost of slightly increased
overhead in some places. If unsure say N here.
@ -1727,10 +1727,10 @@ index bde4d21a8ac8..c054ec82d91b 100644
CONFIG_PCI=y
CONFIG_PCI_MSI=y
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 7101ac64bb20..6f56ad1894d1 100644
index fbf26e0f7a6a..ea408c778851 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1005,6 +1005,22 @@ config NR_CPUS
@@ -1008,6 +1008,22 @@ config NR_CPUS
config SCHED_SMT
def_bool y if SMP
@ -1753,7 +1753,7 @@ index 7101ac64bb20..6f56ad1894d1 100644
config SCHED_MC
def_bool y
prompt "Multi-core scheduler support"
@@ -1035,6 +1051,8 @@ config SCHED_MC_PRIO
@@ -1038,6 +1054,8 @@ config SCHED_MC_PRIO
If unsure say Y here.
@ -1762,7 +1762,7 @@ index 7101ac64bb20..6f56ad1894d1 100644
config UP_LATE_INIT
def_bool y
depends on !SMP && X86_LOCAL_APIC
@@ -1419,7 +1437,7 @@ config HIGHMEM64G
@@ -1422,7 +1440,7 @@ config HIGHMEM64G
endchoice
choice
@ -1771,7 +1771,7 @@ index 7101ac64bb20..6f56ad1894d1 100644
default VMSPLIT_3G
depends on X86_32
help
@@ -1439,17 +1457,17 @@ choice
@@ -1442,17 +1460,17 @@ choice
option alone!
config VMSPLIT_3G
@ -1973,7 +1973,7 @@ index ac47dbac7207..09f6ba829dfd 100644
}
set_current_state(TASK_RUNNING);
diff --git a/drivers/block/swim.c b/drivers/block/swim.c
index dd34504382e5..0caa1c7e9223 100644
index 52dd1efa00f9..c7131359232d 100644
--- a/drivers/block/swim.c
+++ b/drivers/block/swim.c
@@ -328,7 +328,7 @@ static inline void swim_motor(struct swim __iomem *base,
@ -2003,10 +2003,10 @@ index dd34504382e5..0caa1c7e9223 100644
swim_select(base, RELAX);
if (!swim_readbit(base, STEP))
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c
index 737c0b6b24ea..a3db1f42bb3b 100644
index 8774a3b8ff95..0097c92bec48 100644
--- a/drivers/char/ipmi/ipmi_msghandler.c
+++ b/drivers/char/ipmi/ipmi_msghandler.c
@@ -3542,7 +3542,7 @@ static void cleanup_smi_msgs(struct ipmi_smi *intf)
@@ -3562,7 +3562,7 @@ static void cleanup_smi_msgs(struct ipmi_smi *intf)
/* Current message first, to preserve order */
while (intf->curr_msg && !list_empty(&intf->waiting_rcv_msgs)) {
/* Wait for the message to clear out. */
@ -2243,10 +2243,10 @@ index 8e6607fc8a67..b9ab770bbdb5 100644
atomic_dec(&ch->n_on_msg_allocate_wq);
diff --git a/drivers/net/caif/caif_hsi.c b/drivers/net/caif/caif_hsi.c
index 4a33ec4fc089..da85f847ebb4 100644
index 3d63b15bbaa1..164071e9d457 100644
--- a/drivers/net/caif/caif_hsi.c
+++ b/drivers/net/caif/caif_hsi.c
@@ -939,7 +939,7 @@ static void cfhsi_wake_down(struct work_struct *work)
@@ -924,7 +924,7 @@ static void cfhsi_wake_down(struct work_struct *work)
break;
set_current_state(TASK_INTERRUPTIBLE);
@ -2256,10 +2256,10 @@ index 4a33ec4fc089..da85f847ebb4 100644
}
diff --git a/drivers/net/can/usb/peak_usb/pcan_usb.c b/drivers/net/can/usb/peak_usb/pcan_usb.c
index 66d0198e7834..ce1c7bf9be87 100644
index 63bd2ed96697..80111182faf9 100644
--- a/drivers/net/can/usb/peak_usb/pcan_usb.c
+++ b/drivers/net/can/usb/peak_usb/pcan_usb.c
@@ -242,7 +242,7 @@ static int pcan_usb_write_mode(struct peak_usb_device *dev, u8 onoff)
@@ -290,7 +290,7 @@ static int pcan_usb_write_mode(struct peak_usb_device *dev, u8 onoff)
} else {
/* the PCAN-USB needs time to init */
set_current_state(TASK_INTERRUPTIBLE);
@ -2282,10 +2282,10 @@ index 65b315bc60ab..2b3f71086f5f 100644
netif_dbg(dev, ifdown, dev->net,
"waited for %d urb completions\n", temp);
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 2b2a841cd938..1a4d27179db1 100644
index 6062dc27870e..d00eff8640d2 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -767,7 +767,7 @@ static void wait_skb_queue_empty(struct sk_buff_head *q)
@@ -764,7 +764,7 @@ static void wait_skb_queue_empty(struct sk_buff_head *q)
spin_lock_irqsave(&q->lock, flags);
while (!skb_queue_empty(q)) {
spin_unlock_irqrestore(&q->lock, flags);
@ -2295,10 +2295,10 @@ index 2b2a841cd938..1a4d27179db1 100644
spin_lock_irqsave(&q->lock, flags);
}
diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2100.c b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
index 461e955aa259..5ab8e7396ea4 100644
index 23fbddd0c1f8..534ab3b894e2 100644
--- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c
+++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
@@ -816,7 +816,7 @@ static int ipw2100_hw_send_command(struct ipw2100_priv *priv,
@@ -815,7 +815,7 @@ static int ipw2100_hw_send_command(struct ipw2100_priv *priv,
* doesn't seem to have as many firmware restart cycles...
*
* As a test, we're sticking in a 1/100s delay here */
@ -2307,7 +2307,7 @@ index 461e955aa259..5ab8e7396ea4 100644
return 0;
@@ -1267,7 +1267,7 @@ static int ipw2100_start_adapter(struct ipw2100_priv *priv)
@@ -1266,7 +1266,7 @@ static int ipw2100_start_adapter(struct ipw2100_priv *priv)
IPW_DEBUG_FW("Waiting for f/w initialization to complete...\n");
i = 5000;
do {
@ -2414,7 +2414,7 @@ index 2018614f258f..fc19b312c345 100644
if (rtc_ctrl & WM8350_RTC_ALMSTS)
diff --git a/drivers/scsi/fnic/fnic_scsi.c b/drivers/scsi/fnic/fnic_scsi.c
index 03b1805b106c..41ee54ff304a 100644
index d1f7b84bbfe8..94da04ef6174 100644
--- a/drivers/scsi/fnic/fnic_scsi.c
+++ b/drivers/scsi/fnic/fnic_scsi.c
@@ -217,7 +217,7 @@ int fnic_fw_reset_handler(struct fnic *fnic)
@ -2426,7 +2426,7 @@ index 03b1805b106c..41ee54ff304a 100644
spin_lock_irqsave(&fnic->wq_copy_lock[0], flags);
@@ -2278,7 +2278,7 @@ static int fnic_clean_pending_aborts(struct fnic *fnic,
@@ -2277,7 +2277,7 @@ static int fnic_clean_pending_aborts(struct fnic *fnic,
}
}
@ -2449,10 +2449,10 @@ index 983eeb0e3d07..007966930f94 100644
}
if (cnt) {
diff --git a/drivers/scsi/snic/snic_scsi.c b/drivers/scsi/snic/snic_scsi.c
index b3650c989ed4..7ed1fb285754 100644
index 6dd0ff188bb4..aedf0b78f622 100644
--- a/drivers/scsi/snic/snic_scsi.c
+++ b/drivers/scsi/snic/snic_scsi.c
@@ -2353,7 +2353,7 @@ snic_reset(struct Scsi_Host *shost, struct scsi_cmnd *sc)
@@ -2349,7 +2349,7 @@ snic_reset(struct Scsi_Host *shost, struct scsi_cmnd *sc)
/* Wait for all the IOs that are entered in Qcmd */
while (atomic_read(&snic->ios_inflight))
@ -2558,7 +2558,7 @@ index 76d2e43817ea..6ba0604e2162 100644
} else
continue;
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 617db4e0faa0..f85926764f9a 100644
index b362523a9829..38e4f305ddf0 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -479,7 +479,7 @@ static int proc_pid_schedstat(struct seq_file *m, struct pid_namespace *ns,
@ -2583,7 +2583,7 @@ index 27828145ca09..504cc97bf475 100644
#endif /* FREEZER_H_INCLUDED */
diff --git a/include/linux/init_task.h b/include/linux/init_task.h
index 2c620d7ac432..73417df5daa2 100644
index b2412b4d4c20..0db390aeae9f 100644
--- a/include/linux/init_task.h
+++ b/include/linux/init_task.h
@@ -36,7 +36,11 @@ extern struct cred init_cred;
@ -2612,7 +2612,7 @@ index e9bfe6972aed..16ba1c7e5bde 100644
}
diff --git a/include/linux/sched.h b/include/linux/sched.h
index afe01e232935..139e4535fcc6 100644
index 76cd21fa5501..98f30ab29195 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -35,6 +35,10 @@
@ -2626,7 +2626,7 @@ index afe01e232935..139e4535fcc6 100644
/* task_struct member predeclarations (sorted alphabetically): */
struct audit_context;
struct backing_dev_info;
@@ -213,13 +217,40 @@ struct task_group;
@@ -214,13 +218,40 @@ struct io_uring_task;
extern void scheduler_tick(void);
@ -2669,7 +2669,7 @@ index afe01e232935..139e4535fcc6 100644
asmlinkage void schedule(void);
extern void schedule_preempt_disabled(void);
asmlinkage void preempt_schedule_irq(void);
@@ -651,8 +682,10 @@ struct task_struct {
@@ -660,8 +691,10 @@ struct task_struct {
unsigned int flags;
unsigned int ptrace;
@ -2681,7 +2681,7 @@ index afe01e232935..139e4535fcc6 100644
struct __call_single_node wake_entry;
#ifdef CONFIG_THREAD_INFO_IN_TASK
/* Current CPU: */
@@ -678,10 +711,25 @@ struct task_struct {
@@ -687,10 +720,25 @@ struct task_struct {
int static_prio;
int normal_prio;
unsigned int rt_priority;
@ -2707,7 +2707,7 @@ index afe01e232935..139e4535fcc6 100644
#ifdef CONFIG_CGROUP_SCHED
struct task_group *sched_task_group;
#endif
@@ -863,6 +911,10 @@ struct task_struct {
@@ -886,6 +934,10 @@ struct task_struct {
#ifdef CONFIG_ARCH_HAS_SCALED_CPUTIME
u64 utimescaled;
u64 stimescaled;
@ -2718,7 +2718,7 @@ index afe01e232935..139e4535fcc6 100644
#endif
u64 gtime;
struct prev_cputime prev_cputime;
@@ -1332,6 +1384,40 @@ struct task_struct {
@@ -1365,6 +1417,40 @@ struct task_struct {
*/
};
@ -2834,7 +2834,7 @@ index e5af028c08b4..010b2244e0b6 100644
}
diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h
index a98965007eef..743f67fd012e 100644
index 85fb2f34c59b..5feb3faee812 100644
--- a/include/linux/sched/task.h
+++ b/include/linux/sched/task.h
@@ -93,7 +93,7 @@ int kernel_wait(pid_t pid, int *stat);
@ -2908,10 +2908,10 @@ index 3bac0a8ceab2..f48c5c5da651 100644
/* Can be ORed in to make sure the process is reverted back to SCHED_NORMAL on fork */
#define SCHED_RESET_ON_FORK 0x40000000
diff --git a/init/Kconfig b/init/Kconfig
index d6a0b31b13dc..7e0eb99bd607 100644
index 0872a5a2e759..f8aa9d2a9f51 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -92,6 +92,18 @@ config THREAD_INFO_IN_TASK
@@ -96,6 +96,18 @@ config THREAD_INFO_IN_TASK
menu "General setup"
@ -2930,7 +2930,7 @@ index d6a0b31b13dc..7e0eb99bd607 100644
config BROKEN
bool
@@ -510,6 +522,7 @@ config SCHED_THERMAL_PRESSURE
@@ -514,6 +526,7 @@ config SCHED_THERMAL_PRESSURE
default y if ARM64
depends on SMP
depends on CPU_FREQ_THERMAL
@ -2938,7 +2938,7 @@ index d6a0b31b13dc..7e0eb99bd607 100644
help
Select this option to enable thermal pressure accounting in the
scheduler. Thermal pressure is the value conveyed to the scheduler
@@ -858,6 +871,7 @@ config NUMA_BALANCING
@@ -863,6 +876,7 @@ config NUMA_BALANCING
depends on ARCH_SUPPORTS_NUMA_BALANCING
depends on !ARCH_WANT_NUMA_VARIABLE_LOCALITY
depends on SMP && NUMA && MIGRATION
@ -2946,7 +2946,7 @@ index d6a0b31b13dc..7e0eb99bd607 100644
help
This option adds support for automatic NUMA aware memory/task placement.
The mechanism is quite primitive and is based on migrating memory when
@@ -942,9 +956,13 @@ menuconfig CGROUP_SCHED
@@ -947,9 +961,13 @@ menuconfig CGROUP_SCHED
help
This feature lets CPU scheduler recognize task groups and control CPU
bandwidth allocation to such task groups. It uses cgroups to group
@ -2962,7 +2962,7 @@ index d6a0b31b13dc..7e0eb99bd607 100644
config FAIR_GROUP_SCHED
bool "Group scheduling for SCHED_OTHER"
depends on CGROUP_SCHED
@@ -1073,6 +1091,7 @@ config CGROUP_DEVICE
@@ -1078,6 +1096,7 @@ config CGROUP_DEVICE
config CGROUP_CPUACCT
bool "Simple CPU accounting controller"
@ -2970,7 +2970,7 @@ index d6a0b31b13dc..7e0eb99bd607 100644
help
Provides a simple controller for monitoring the
total CPU consumed by the tasks in a cgroup.
@@ -1200,6 +1219,7 @@ config CHECKPOINT_RESTORE
@@ -1205,6 +1224,7 @@ config CHECKPOINT_RESTORE
config SCHED_AUTOGROUP
bool "Automatic process group scheduling"
@ -2979,7 +2979,7 @@ index d6a0b31b13dc..7e0eb99bd607 100644
select CGROUP_SCHED
select FAIR_GROUP_SCHED
diff --git a/init/init_task.c b/init/init_task.c
index f6889fce64af..2557beb609c0 100644
index a56f0abb63e9..d337ec0f36fc 100644
--- a/init/init_task.c
+++ b/init/init_task.c
@@ -75,9 +75,17 @@ struct task_struct init_task
@ -3017,10 +3017,10 @@ index f6889fce64af..2557beb609c0 100644
#ifdef CONFIG_SMP
.pushable_tasks = PLIST_NODE_INIT(init_task.pushable_tasks, MAX_PRIO),
diff --git a/init/main.c b/init/main.c
index e880b4ecb314..fe0a705e83f2 100644
index 32b2a8affafd..d3c0b60ff0cf 100644
--- a/init/main.c
+++ b/init/main.c
@@ -1421,6 +1421,8 @@ static int __ref kernel_init(void *unused)
@@ -1433,6 +1433,8 @@ static int __ref kernel_init(void *unused)
do_sysctl_args();
@ -3241,7 +3241,7 @@ index bf82259cff96..d9438eb6f91c 100644
config PREEMPT
bool "Preemptible Kernel (Low-Latency Desktop)"
diff --git a/kernel/Makefile b/kernel/Makefile
index 9a20016d4900..a2640d78eadb 100644
index 6c9f19911be0..bbd99777a89a 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -10,7 +10,8 @@ obj-y = fork.o exec_domain.o panic.o \
@ -3252,7 +3252,7 @@ index 9a20016d4900..a2640d78eadb 100644
+ async.o range.o smpboot.o ucount.o regset.o \
+ skip_list.o
obj-$(CONFIG_BPFILTER) += usermode_driver.o
obj-$(CONFIG_USERMODE_DRIVER) += usermode_driver.o
obj-$(CONFIG_MODULES) += kmod.o
diff --git a/kernel/delayacct.c b/kernel/delayacct.c
index 27725754ac99..769d773c7182 100644
@ -3268,7 +3268,7 @@ index 27725754ac99..769d773c7182 100644
d->cpu_count += t1;
diff --git a/kernel/exit.c b/kernel/exit.c
index 733e80f334e7..3f3506c851fd 100644
index 1f236ed375f8..f400301e2086 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -121,7 +121,7 @@ static void __exit_signal(struct task_struct *tsk)
@ -3290,10 +3290,10 @@ index 733e80f334e7..3f3506c851fd 100644
__unhash_process(tsk, group_dead);
write_sequnlock(&sig->stats_lock);
diff --git a/kernel/irq/Kconfig b/kernel/irq/Kconfig
index 10a5aff4eecc..ce3bcc66b48d 100644
index 164a031cfdb6..016a445f589e 100644
--- a/kernel/irq/Kconfig
+++ b/kernel/irq/Kconfig
@@ -112,6 +112,23 @@ config GENERIC_IRQ_RESERVATION_MODE
@@ -113,6 +113,23 @@ config GENERIC_IRQ_RESERVATION_MODE
config IRQ_FORCED_THREADING
bool
@ -3318,7 +3318,7 @@ index 10a5aff4eecc..ce3bcc66b48d 100644
bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ
help
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 5df903fccb60..17a0dd194582 100644
index c460e0496006..218fbcbb94e6 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -25,9 +25,20 @@
@ -3343,7 +3343,7 @@ index 5df903fccb60..17a0dd194582 100644
{
force_irqthreads = true;
diff --git a/kernel/kthread.c b/kernel/kthread.c
index 3edaa380dc7b..a1712699726b 100644
index 933a625621b8..93ee79fc2b48 100644
--- a/kernel/kthread.c
+++ b/kernel/kthread.c
@@ -471,6 +471,34 @@ void kthread_bind(struct task_struct *p, unsigned int cpu)
@ -3452,10 +3452,10 @@ index 5fc9c9b70862..1ff14a21193d 100644
obj-$(CONFIG_MEMBARRIER) += membarrier.o
diff --git a/kernel/sched/MuQSS.c b/kernel/sched/MuQSS.c
new file mode 100644
index 000000000000..8da537d5226c
index 000000000000..9478e2d473b7
--- /dev/null
+++ b/kernel/sched/MuQSS.c
@@ -0,0 +1,7855 @@
@@ -0,0 +1,7866 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * kernel/sched/MuQSS.c, was kernel/sched.c
@ -3573,7 +3573,7 @@ index 000000000000..8da537d5226c
+
+void print_scheduler_version(void)
+{
+ printk(KERN_INFO "MuQSS CPU scheduler v0.204 by Con Kolivas.\n");
+ printk(KERN_INFO "MuQSS CPU scheduler v0.205 by Con Kolivas.\n");
+}
+
+/* Define RQ share levels */
@ -5200,7 +5200,12 @@ index 000000000000..8da537d5226c
+#ifdef CONFIG_SMP
+ if (wake_flags & WF_MIGRATED)
+ en_flags |= ENQUEUE_MIGRATED;
+ else
+#endif
+ if (p->in_iowait) {
+ delayacct_blkio_end(p);
+ atomic_dec(&task_rq(p)->nr_iowait);
+ }
+
+ activate_task(rq, p, en_flags);
+ ttwu_do_wakeup(rq, p, wake_flags);
@ -5539,11 +5544,6 @@ index 000000000000..8da537d5226c
+ if (READ_ONCE(p->on_rq) && ttwu_runnable(p, wake_flags))
+ goto unlock;
+
+ if (p->in_iowait) {
+ delayacct_blkio_end(p);
+ atomic_dec(&task_rq(p)->nr_iowait);
+ }
+
+#ifdef CONFIG_SMP
+ /*
+ * Ensure we load p->on_cpu _after_ p->on_rq, otherwise it would be
@ -5614,6 +5614,11 @@ index 000000000000..8da537d5226c
+
+ cpu = select_best_cpu(p);
+ if (task_cpu(p) != cpu) {
+ if (p->in_iowait) {
+ delayacct_blkio_end(p);
+ atomic_dec(&task_rq(p)->nr_iowait);
+ }
+
+ wake_flags |= WF_MIGRATED;
+ psi_ttwu_dequeue(p);
+ set_task_cpu(p, cpu);
@ -7780,9 +7785,12 @@ index 000000000000..8da537d5226c
+
+static inline void sched_submit_work(struct task_struct *tsk)
+{
+ unsigned int task_flags;
+
+ if (!tsk->state)
+ return;
+
+ task_flags = tsk->flags;
+ /*
+ * If a worker went to sleep, notify and ask workqueue whether
+ * it wants to wake up a task to maintain concurrency.
@ -7791,9 +7799,9 @@ index 000000000000..8da537d5226c
+ * in the possible wakeup of a kworker and because wq_worker_sleeping()
+ * requires it.
+ */
+ if (tsk->flags & (PF_WQ_WORKER | PF_IO_WORKER)) {
+ if (task_flags & (PF_WQ_WORKER | PF_IO_WORKER)) {
+ preempt_disable();
+ if (tsk->flags & PF_WQ_WORKER)
+ if (task_flags & PF_WQ_WORKER)
+ wq_worker_sleeping(tsk);
+ else
+ io_wq_worker_sleeping(tsk);
@ -8121,7 +8129,10 @@ index 000000000000..8da537d5226c
+ try_preempt(p, rq);
+ }
+out_unlock:
+ /* Avoid rq from going away on us: */
+ preempt_disable();
+ __task_rq_unlock(rq, NULL);
+ preempt_enable();
+}
+#else
+static inline int rt_effective_prio(struct task_struct *p, int prio)
@ -12388,10 +12399,10 @@ index 000000000000..09a1f2fe64ba
+
+#endif /* MUQSS_SCHED_H */
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c
index e39008242cf4..146a3dfe626f 100644
index 97d318b0cd0c..fb466c681a1f 100644
--- a/kernel/sched/cpufreq_schedutil.c
+++ b/kernel/sched/cpufreq_schedutil.c
@@ -183,6 +183,12 @@ static unsigned int get_next_freq(struct sugov_policy *sg_policy,
@@ -172,6 +172,12 @@ static unsigned int get_next_freq(struct sugov_policy *sg_policy,
return cpufreq_driver_resolve_freq(policy, freq);
}
@ -12404,7 +12415,7 @@ index e39008242cf4..146a3dfe626f 100644
/*
* This function computes an effective utilization for the given CPU, to be
* used for frequency selection given the linear relation: f = u * f_max.
@@ -211,7 +217,7 @@ unsigned long schedutil_cpu_util(int cpu, unsigned long util_cfs,
@@ -200,7 +206,7 @@ unsigned long schedutil_cpu_util(int cpu, unsigned long util_cfs,
struct rq *rq = cpu_rq(cpu);
if (!uclamp_is_used() &&
@ -12413,7 +12424,7 @@ index e39008242cf4..146a3dfe626f 100644
return max;
}
@@ -656,7 +662,11 @@ static int sugov_kthread_create(struct sugov_policy *sg_policy)
@@ -642,7 +648,11 @@ static int sugov_kthread_create(struct sugov_policy *sg_policy)
struct task_struct *thread;
struct sched_attr attr = {
.size = sizeof(struct sched_attr),
@ -12483,10 +12494,10 @@ index 5a55d2300452..283a580754a7 100644
task_cputime(p, &cputime.utime, &cputime.stime);
diff --git a/kernel/sched/idle.c b/kernel/sched/idle.c
index f324dc36fc43..43ca13ed9ab0 100644
index c6932b8f4467..3fc76869cf5f 100644
--- a/kernel/sched/idle.c
+++ b/kernel/sched/idle.c
@@ -369,6 +369,7 @@ void cpu_startup_entry(enum cpuhp_state state)
@@ -395,6 +395,7 @@ void cpu_startup_entry(enum cpuhp_state state)
do_idle();
}
@ -12494,13 +12505,13 @@ index f324dc36fc43..43ca13ed9ab0 100644
/*
* idle-task scheduling class.
*/
@@ -482,3 +483,4 @@ const struct sched_class idle_sched_class
@@ -508,3 +509,4 @@ const struct sched_class idle_sched_class
.switched_to = switched_to_idle,
.update_curr = update_curr_idle,
};
+#endif /* CONFIG_SCHED_MUQSS */
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 28709f6b0975..4478c11cb51a 100644
index df80bfcea92e..e17785e91f0e 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -2,6 +2,19 @@
@ -12523,7 +12534,7 @@ index 28709f6b0975..4478c11cb51a 100644
#include <linux/sched.h>
#include <linux/sched/autogroup.h>
@@ -2626,3 +2639,25 @@ static inline bool is_per_cpu_kthread(struct task_struct *p)
@@ -2633,3 +2646,25 @@ static inline bool is_per_cpu_kthread(struct task_struct *p)
void swake_up_all_locked(struct swait_queue_head *q);
void __prepare_to_swait(struct swait_queue_head *q, struct swait_queue *wait);
@ -12550,10 +12561,10 @@ index 28709f6b0975..4478c11cb51a 100644
+#endif
+#endif /* CONFIG_SCHED_MUQSS */
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index 1bd7e3af904f..a1dc490c15e4 100644
index dd7770226086..4bd57a89aa6a 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -440,7 +440,11 @@ void rq_attach_root(struct rq *rq, struct root_domain *rd)
@@ -454,7 +454,11 @@ void rq_attach_root(struct rq *rq, struct root_domain *rd)
struct root_domain *old_rd = NULL;
unsigned long flags;
@ -12565,7 +12576,7 @@ index 1bd7e3af904f..a1dc490c15e4 100644
if (rq->rd) {
old_rd = rq->rd;
@@ -466,7 +470,11 @@ void rq_attach_root(struct rq *rq, struct root_domain *rd)
@@ -480,7 +484,11 @@ void rq_attach_root(struct rq *rq, struct root_domain *rd)
if (cpumask_test_cpu(rq->cpu, cpu_active_mask))
set_rq_online(rq);
@ -12914,10 +12925,10 @@ index f5490222e134..544c58c29267 100644
/**
* clockevents_increase_min_delta - raise minimum delta of a clock event device
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
index 95b6a708b040..19918cf649b0 100644
index 387b4bef7dd1..fffc7c5f712f 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -2223,3 +2223,113 @@ int __sched schedule_hrtimeout(ktime_t *expires,
@@ -2218,3 +2218,113 @@ int __sched schedule_hrtimeout(ktime_t *expires,
return schedule_hrtimeout_range(expires, 0, mode);
}
EXPORT_SYMBOL_GPL(schedule_hrtimeout);
@ -13054,7 +13065,7 @@ index a71758e34e45..ebb84a65d928 100644
/* At the hard limit, send SIGKILL. No further action. */
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index a50364df1054..a86e4530e530 100644
index c3ad64fb9d8b..0411a289ccde 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -44,6 +44,7 @@
@ -13065,7 +13076,7 @@ index a50364df1054..a86e4530e530 100644
#include <linux/uaccess.h>
#include <asm/unistd.h>
@@ -1587,7 +1588,7 @@ static unsigned long __next_timer_interrupt(struct timer_base *base)
@@ -1584,7 +1585,7 @@ static unsigned long __next_timer_interrupt(struct timer_base *base)
* Check, if the next hrtimer event is before the next timer wheel
* event:
*/
@ -13074,7 +13085,7 @@ index a50364df1054..a86e4530e530 100644
{
u64 nextevt = hrtimer_get_next_event();
@@ -1605,6 +1606,9 @@ static u64 cmp_next_hrtimer_event(u64 basem, u64 expires)
@@ -1602,6 +1603,9 @@ static u64 cmp_next_hrtimer_event(u64 basem, u64 expires)
if (nextevt <= basem)
return basem;
@ -13084,7 +13095,7 @@ index a50364df1054..a86e4530e530 100644
/*
* Round up to the next jiffie. High resolution timers are
* off, so the hrtimers are expired in the tick and we need to
@@ -1674,7 +1678,7 @@ u64 get_next_timer_interrupt(unsigned long basej, u64 basem)
@@ -1671,7 +1675,7 @@ u64 get_next_timer_interrupt(unsigned long basej, u64 basem)
}
raw_spin_unlock(&base->lock);
@ -13093,7 +13104,7 @@ index a50364df1054..a86e4530e530 100644
}
/**
@@ -1873,6 +1877,18 @@ signed long __sched schedule_timeout(signed long timeout)
@@ -1865,6 +1869,18 @@ signed long __sched schedule_timeout(signed long timeout)
expire = timeout + jiffies;
@ -13112,7 +13123,7 @@ index a50364df1054..a86e4530e530 100644
timer.task = current;
timer_setup_on_stack(&timer.timer, process_timeout, 0);
__mod_timer(&timer.timer, expire, MOD_TIMER_NOTPENDING);
@@ -1881,10 +1897,10 @@ signed long __sched schedule_timeout(signed long timeout)
@@ -1873,10 +1889,10 @@ signed long __sched schedule_timeout(signed long timeout)
/* Remove the timer from the object tracker */
destroy_timer_on_stack(&timer.timer);
@ -13125,7 +13136,7 @@ index a50364df1054..a86e4530e530 100644
return timeout < 0 ? 0 : timeout;
}
EXPORT_SYMBOL(schedule_timeout);
@@ -2027,7 +2043,19 @@ void __init init_timers(void)
@@ -2019,7 +2035,19 @@ void __init init_timers(void)
*/
void msleep(unsigned int msecs)
{
@ -13146,7 +13157,7 @@ index a50364df1054..a86e4530e530 100644
while (timeout)
timeout = schedule_timeout_uninterruptible(timeout);
@@ -2041,7 +2069,15 @@ EXPORT_SYMBOL(msleep);
@@ -2033,7 +2061,15 @@ EXPORT_SYMBOL(msleep);
*/
unsigned long msleep_interruptible(unsigned int msecs)
{
@ -13164,10 +13175,10 @@ index a50364df1054..a86e4530e530 100644
while (timeout && !signal_pending(current))
timeout = schedule_timeout_interruptible(timeout);
diff --git a/kernel/trace/trace_selftest.c b/kernel/trace/trace_selftest.c
index b5e3496cf803..68930e7f4d28 100644
index 4738ad48a667..f050201c0574 100644
--- a/kernel/trace/trace_selftest.c
+++ b/kernel/trace/trace_selftest.c
@@ -1048,10 +1048,15 @@ static int trace_wakeup_test_thread(void *data)
@@ -1053,10 +1053,15 @@ static int trace_wakeup_test_thread(void *data)
{
/* Make this a -deadline thread */
static const struct sched_attr attr = {
@ -13184,7 +13195,7 @@ index b5e3496cf803..68930e7f4d28 100644
struct wakeup_test_data *x = data;
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 466fc3144fff..27224c2d7674 100644
index 7b4e31eac2cf..b35d95e83abd 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -169,7 +169,7 @@ struct scan_control {
@ -13197,7 +13208,7 @@ index 466fc3144fff..27224c2d7674 100644
static void set_task_reclaim_state(struct task_struct *task,
struct reclaim_state *rs)
diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index 44fdbb9c6e53..ae0adfc677c2 100644
index 105978604ffd..cf509f492abb 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -1894,7 +1894,7 @@ static void pktgen_mark_device(const struct pktgen_net *pn, const char *ifname)
@ -13320,7 +13331,7 @@ index a9a6d766a176..45bf31de6282 100644
WM8900_REG_POWER2_SYSCLK_ENA);
break;
diff --git a/sound/soc/codecs/wm9713.c b/sound/soc/codecs/wm9713.c
index 7072ffacbdfd..e8414ec4759c 100644
index f333e2ff4a16..3033cc2d4005 100644
--- a/sound/soc/codecs/wm9713.c
+++ b/sound/soc/codecs/wm9713.c
@@ -199,7 +199,7 @@ static int wm9713_voice_shutdown(struct snd_soc_dapm_widget *w,
@ -13342,7 +13353,7 @@ index 7072ffacbdfd..e8414ec4759c 100644
}
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 3273161e2787..7fb9b4c6dd7b 100644
index 7f87b449f950..71a8d59afb55 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -154,7 +154,7 @@ static void dapm_assert_locked(struct snd_soc_dapm_context *dapm)