[rt] Update to 4.19.59-rt24

This mostly applied cleanly on 4.19.67.  A few patches had 1 or 2
lines of fuzz which I've resolved.
This commit is contained in:
Ben Hutchings 2019-08-18 22:33:52 +01:00
parent 0899b0f554
commit 795d93f1ed
286 changed files with 3573 additions and 1335 deletions

27
debian/changelog vendored
View File

@ -2153,6 +2153,33 @@ linux (4.19.67-1) UNRELEASED; urgency=medium
* rtc-s35390a: backport fix to make hwclock able to read the time * rtc-s35390a: backport fix to make hwclock able to read the time
(Closes: #932845) (Closes: #932845)
[ Ben Hutchings ]
* [rt] Update to 4.19.59-rt24:
- Fix build failure after "genirq: Prevent use-after-free and work
list corruption":
+ Update "genirq: Do not invoke the affinity callback via a workqueue on
RT"
+ kthread: add a global worker thread.
+ genirq: Do not invoke the affinity callback via a workqueue on RT
+ genirq: Handle missing work_struct in irq_set_affinity_notifier()
- Update "irqwork: push most work into softirq context" to resolve
conflict with "irq_work: Do not raise an IPI when queueing work on the
local CPU"
- Drop "random: avoid preempt_disable()ed section"
- arm: imx6: cpuidle: Use raw_spinlock_t
- rcu: Don't allow to change rcu_normal_after_boot on RT
- sched/core: Drop a preempt_disable_rt() statement
- timers: Redo the notification of canceling timers on -RT
- Fix futex regression in 4.19.21:
+ Revert "futex: Ensure lock/unlock symetry versus pi_lock and hash
bucket lock"
+ Revert "futex: Fix bug on when a requeued RT task times out"
+ Revert "rtmutex: Handle the various new futex race conditions"
+ Revert "futex: workaround migrate_disable/enable in different context"
+ futex: Make the futex_hash_bucket lock raw
+ futex: Delay deallocation of pi_state
- mm/zswap: Do not disable preemption in zswap_frontswap_store()
-- Salvatore Bonaccorso <carnil@debian.org> Sun, 23 Jun 2019 16:15:17 +0200 -- Salvatore Bonaccorso <carnil@debian.org> Sun, 23 Jun 2019 16:15:17 +0200
linux (4.19.37-5+deb10u2) buster-security; urgency=high linux (4.19.37-5+deb10u2) buster-security; urgency=high

View File

@ -1,8 +1,8 @@
From bc4d8f04b5bd123853531af90f1ec548d8ab61e4 Mon Sep 17 00:00:00 2001 From 200fca9a9f123bcca859fadc996b1e40c0384269 Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com> From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:18 +0200 Date: Thu, 13 Sep 2018 13:30:18 +0200
Subject: [PATCH 001/269] ARM: at91: add TCB registers definitions Subject: [PATCH 001/283] ARM: at91: add TCB registers definitions
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Add registers and bits definitions for the timer counter blocks found on Add registers and bits definitions for the timer counter blocks found on
Atmel ARM SoCs. Atmel ARM SoCs.

View File

@ -1,9 +1,9 @@
From 1eef86c9b8aa09d8e57f4ee5684c7bfd28f6900f Mon Sep 17 00:00:00 2001 From 13e8b97c81d4029a2c41ce13ffc84507af252845 Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com> From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:19 +0200 Date: Thu, 13 Sep 2018 13:30:19 +0200
Subject: [PATCH 002/269] clocksource/drivers: Add a new driver for the Atmel Subject: [PATCH 002/283] clocksource/drivers: Add a new driver for the Atmel
ARM TC blocks ARM TC blocks
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Add a driver for the Atmel Timer Counter Blocks. This driver provides a Add a driver for the Atmel Timer Counter Blocks. This driver provides a
clocksource and two clockevent devices. clocksource and two clockevent devices.
@ -32,10 +32,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
create mode 100644 drivers/clocksource/timer-atmel-tcb.c create mode 100644 drivers/clocksource/timer-atmel-tcb.c
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index c1ddafa4c299..c5a5ad4e22e7 100644 index 4d37f018d846..0ab22e7037f4 100644
--- a/drivers/clocksource/Kconfig --- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig +++ b/drivers/clocksource/Kconfig
@@ -414,6 +414,14 @@ config ATMEL_ST @@ -415,6 +415,14 @@ config ATMEL_ST
help help
Support for the Atmel ST timer. Support for the Atmel ST timer.

View File

@ -1,9 +1,9 @@
From f6803050ab0965a1255a3b407ca429a04c5cb230 Mon Sep 17 00:00:00 2001 From 108301f18eaae6fde1bf8b864d52052bdc2a7043 Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com> From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:20 +0200 Date: Thu, 13 Sep 2018 13:30:20 +0200
Subject: [PATCH 003/269] clocksource/drivers: timer-atmel-tcb: add clockevent Subject: [PATCH 003/283] clocksource/drivers: timer-atmel-tcb: add clockevent
device on separate channel device on separate channel
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Add an other clockevent device that uses a separate TCB channel when Add an other clockevent device that uses a separate TCB channel when
available. available.

View File

@ -1,8 +1,8 @@
From 873075a203c574d322429e4a8cd0686541293903 Mon Sep 17 00:00:00 2001 From e60c9d976e3462237d2f3644c18091ac1e7746c6 Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com> From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:21 +0200 Date: Thu, 13 Sep 2018 13:30:21 +0200
Subject: [PATCH 004/269] clocksource/drivers: atmel-pit: make option silent Subject: [PATCH 004/283] clocksource/drivers: atmel-pit: make option silent
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
To conform with the other option, make the ATMEL_PIT option silent so it To conform with the other option, make the ATMEL_PIT option silent so it
can be selected from the platform can be selected from the platform
@ -15,10 +15,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 4 insertions(+), 1 deletion(-) 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index c5a5ad4e22e7..076aa8184961 100644 index 0ab22e7037f4..34b07047b91f 100644
--- a/drivers/clocksource/Kconfig --- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig +++ b/drivers/clocksource/Kconfig
@@ -403,8 +403,11 @@ config ARMV7M_SYSTICK @@ -404,8 +404,11 @@ config ARMV7M_SYSTICK
This options enables support for the ARMv7M system timer unit This options enables support for the ARMv7M system timer unit
config ATMEL_PIT config ATMEL_PIT

View File

@ -1,8 +1,8 @@
From e0dc436f11c998b38ee3dc4cd269d5075ea12b7e Mon Sep 17 00:00:00 2001 From 8cd066d01a3bc84384ba64a7521fdc80598a3418 Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com> From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:22 +0200 Date: Thu, 13 Sep 2018 13:30:22 +0200
Subject: [PATCH 005/269] ARM: at91: Implement clocksource selection Subject: [PATCH 005/283] ARM: at91: Implement clocksource selection
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Allow selecting and unselecting the PIT clocksource driver so it doesn't Allow selecting and unselecting the PIT clocksource driver so it doesn't
have to be compile when unused. have to be compile when unused.

View File

@ -1,8 +1,8 @@
From ca4a1c8ce5f7224d99ef6c2a6754468cb72ea4c3 Mon Sep 17 00:00:00 2001 From db6f702c9d0558505d757c28c61f4f6a567a898a Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com> From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:23 +0200 Date: Thu, 13 Sep 2018 13:30:23 +0200
Subject: [PATCH 006/269] ARM: configs: at91: use new TCB timer driver Subject: [PATCH 006/283] ARM: configs: at91: use new TCB timer driver
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Unselecting ATMEL_TCLIB switches the TCB timer driver from tcb_clksrc to Unselecting ATMEL_TCLIB switches the TCB timer driver from tcb_clksrc to
timer-atmel-tcb. timer-atmel-tcb.

View File

@ -1,8 +1,8 @@
From 2c83222f4057f755febccd002f3720bbf73a6473 Mon Sep 17 00:00:00 2001 From 95cda24e3882fa19a569c029275d14089e8418e9 Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com> From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:24 +0200 Date: Thu, 13 Sep 2018 13:30:24 +0200
Subject: [PATCH 007/269] ARM: configs: at91: unselect PIT Subject: [PATCH 007/283] ARM: configs: at91: unselect PIT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The PIT is not required anymore to successfully boot and may actually harm The PIT is not required anymore to successfully boot and may actually harm
in case preempt-rt is used because the PIT interrupt is shared. in case preempt-rt is used because the PIT interrupt is shared.

View File

@ -1,9 +1,9 @@
From bb357496d72d05e2841899655c8e709d7c369ab0 Mon Sep 17 00:00:00 2001 From 44f074c1b1621cbfa2d9f8f44aa69231154399d9 Mon Sep 17 00:00:00 2001
From: Marc Zyngier <marc.zyngier@arm.com> From: Marc Zyngier <marc.zyngier@arm.com>
Date: Fri, 27 Jul 2018 13:38:54 +0100 Date: Fri, 27 Jul 2018 13:38:54 +0100
Subject: [PATCH 008/269] irqchip/gic-v3-its: Move pending table allocation to Subject: [PATCH 008/283] irqchip/gic-v3-its: Move pending table allocation to
init time init time
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>

View File

@ -1,8 +1,8 @@
From 9d8b1db47a7e355eb0c34a8af57f3613db6cb18c Mon Sep 17 00:00:00 2001 From cd9320a1954642117f572891a8b45b177e6b0ebf Mon Sep 17 00:00:00 2001
From: Julia Cartwright <julia@ni.com> From: Julia Cartwright <julia@ni.com>
Date: Fri, 28 Sep 2018 21:03:51 +0000 Date: Fri, 28 Sep 2018 21:03:51 +0000
Subject: [PATCH 009/269] kthread: convert worker lock to raw spinlock Subject: [PATCH 009/283] kthread: convert worker lock to raw spinlock
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
In order to enable the queuing of kthread work items from hardirq In order to enable the queuing of kthread work items from hardirq
context even when PREEMPT_RT_FULL is enabled, convert the worker context even when PREEMPT_RT_FULL is enabled, convert the worker

View File

@ -1,11 +1,11 @@
From b37ee7bd4ac42c97c3fce905634cf808345a25ac Mon Sep 17 00:00:00 2001 From d4cc8969937e548b95b4d6f40804a4b706c9b441 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Horia=20Geant=C4=83?= <horia.geanta@nxp.com> From: =?UTF-8?q?Horia=20Geant=C4=83?= <horia.geanta@nxp.com>
Date: Mon, 8 Oct 2018 14:09:37 +0300 Date: Mon, 8 Oct 2018 14:09:37 +0300
Subject: [PATCH 010/269] crypto: caam/qi - simplify CGR allocation, freeing Subject: [PATCH 010/283] crypto: caam/qi - simplify CGR allocation, freeing
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
[Upstream commit 29e83c757006fd751966bdc53392bb22d74179c6] [Upstream commit 29e83c757006fd751966bdc53392bb22d74179c6]

View File

@ -1,8 +1,8 @@
From 78f68e44994c830d70aa92bb86a47b204ff605c6 Mon Sep 17 00:00:00 2001 From 256f2e459fd2eea3e04b6b9934f06c46e19185bb Mon Sep 17 00:00:00 2001
From: Peter Zijlstra <peterz@infradead.org> From: Peter Zijlstra <peterz@infradead.org>
Date: Mon, 7 Jan 2019 13:52:31 +0100 Date: Mon, 7 Jan 2019 13:52:31 +0100
Subject: [PATCH 011/269] sched/fair: Robustify CFS-bandwidth timer locking Subject: [PATCH 011/283] sched/fair: Robustify CFS-bandwidth timer locking
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Traditionally hrtimer callbacks were run with IRQs disabled, but with Traditionally hrtimer callbacks were run with IRQs disabled, but with
the introduction of HRTIMER_MODE_SOFT it is possible they run from the introduction of HRTIMER_MODE_SOFT it is possible they run from
@ -30,10 +30,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 16 insertions(+), 14 deletions(-) 1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 4aa8e7d90c25..53acadf72cd9 100644 index 4a433608ba74..289c966f907a 100644
--- a/kernel/sched/fair.c --- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c +++ b/kernel/sched/fair.c
@@ -4553,7 +4553,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b, @@ -4557,7 +4557,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b,
struct rq *rq = rq_of(cfs_rq); struct rq *rq = rq_of(cfs_rq);
struct rq_flags rf; struct rq_flags rf;
@ -42,7 +42,7 @@ index 4aa8e7d90c25..53acadf72cd9 100644
if (!cfs_rq_throttled(cfs_rq)) if (!cfs_rq_throttled(cfs_rq))
goto next; goto next;
@@ -4570,7 +4570,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b, @@ -4574,7 +4574,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b,
unthrottle_cfs_rq(cfs_rq); unthrottle_cfs_rq(cfs_rq);
next: next:
@ -51,7 +51,7 @@ index 4aa8e7d90c25..53acadf72cd9 100644
if (!remaining) if (!remaining)
break; break;
@@ -4586,7 +4586,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b, @@ -4590,7 +4590,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b,
* period the timer is deactivated until scheduling resumes; cfs_b->idle is * period the timer is deactivated until scheduling resumes; cfs_b->idle is
* used to track this state. * used to track this state.
*/ */
@ -60,7 +60,7 @@ index 4aa8e7d90c25..53acadf72cd9 100644
{ {
u64 runtime, runtime_expires; u64 runtime, runtime_expires;
int throttled; int throttled;
@@ -4628,11 +4628,11 @@ static int do_sched_cfs_period_timer(struct cfs_bandwidth *cfs_b, int overrun) @@ -4632,11 +4632,11 @@ static int do_sched_cfs_period_timer(struct cfs_bandwidth *cfs_b, int overrun)
while (throttled && cfs_b->runtime > 0 && !cfs_b->distribute_running) { while (throttled && cfs_b->runtime > 0 && !cfs_b->distribute_running) {
runtime = cfs_b->runtime; runtime = cfs_b->runtime;
cfs_b->distribute_running = 1; cfs_b->distribute_running = 1;
@ -74,7 +74,7 @@ index 4aa8e7d90c25..53acadf72cd9 100644
cfs_b->distribute_running = 0; cfs_b->distribute_running = 0;
throttled = !list_empty(&cfs_b->throttled_cfs_rq); throttled = !list_empty(&cfs_b->throttled_cfs_rq);
@@ -4741,17 +4741,18 @@ static __always_inline void return_cfs_rq_runtime(struct cfs_rq *cfs_rq) @@ -4745,17 +4745,18 @@ static __always_inline void return_cfs_rq_runtime(struct cfs_rq *cfs_rq)
static void do_sched_cfs_slack_timer(struct cfs_bandwidth *cfs_b) static void do_sched_cfs_slack_timer(struct cfs_bandwidth *cfs_b)
{ {
u64 runtime = 0, slice = sched_cfs_bandwidth_slice(); u64 runtime = 0, slice = sched_cfs_bandwidth_slice();
@ -96,7 +96,7 @@ index 4aa8e7d90c25..53acadf72cd9 100644
return; return;
} }
@@ -4762,18 +4763,18 @@ static void do_sched_cfs_slack_timer(struct cfs_bandwidth *cfs_b) @@ -4766,18 +4767,18 @@ static void do_sched_cfs_slack_timer(struct cfs_bandwidth *cfs_b)
if (runtime) if (runtime)
cfs_b->distribute_running = 1; cfs_b->distribute_running = 1;
@ -118,7 +118,7 @@ index 4aa8e7d90c25..53acadf72cd9 100644
} }
/* /*
@@ -4853,11 +4854,12 @@ static enum hrtimer_restart sched_cfs_period_timer(struct hrtimer *timer) @@ -4857,11 +4858,12 @@ static enum hrtimer_restart sched_cfs_period_timer(struct hrtimer *timer)
{ {
struct cfs_bandwidth *cfs_b = struct cfs_bandwidth *cfs_b =
container_of(timer, struct cfs_bandwidth, period_timer); container_of(timer, struct cfs_bandwidth, period_timer);
@ -132,7 +132,7 @@ index 4aa8e7d90c25..53acadf72cd9 100644
for (;;) { for (;;) {
overrun = hrtimer_forward_now(timer, cfs_b->period); overrun = hrtimer_forward_now(timer, cfs_b->period);
if (!overrun) if (!overrun)
@@ -4885,11 +4887,11 @@ static enum hrtimer_restart sched_cfs_period_timer(struct hrtimer *timer) @@ -4889,11 +4891,11 @@ static enum hrtimer_restart sched_cfs_period_timer(struct hrtimer *timer)
count = 0; count = 0;
} }

View File

@ -1,8 +1,8 @@
From fa6e4c3d085352808073b23fdff79729db01930a Mon Sep 17 00:00:00 2001 From 3c866fa6b40a3acfe50a091680cd9f51a54cd45b Mon Sep 17 00:00:00 2001
From: Frank Rowand <frank.rowand@am.sony.com> From: Frank Rowand <frank.rowand@am.sony.com>
Date: Mon, 19 Sep 2011 14:51:14 -0700 Date: Mon, 19 Sep 2011 14:51:14 -0700
Subject: [PATCH 012/269] arm: Convert arm boot_lock to raw Subject: [PATCH 012/283] arm: Convert arm boot_lock to raw
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The arm boot_lock is used by the secondary processor startup code. The locking The arm boot_lock is used by the secondary processor startup code. The locking
task is the idle thread, which has idle->sched_class == &idle_sched_class. task is the idle thread, which has idle->sched_class == &idle_sched_class.

View File

@ -1,9 +1,9 @@
From 4debab2aa3d29fcdb5b9cd132416094c54e9361b Mon Sep 17 00:00:00 2001 From abbec8803a7e474a1e1a1b1ee105de8ffd0c8cbc Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 17 Jul 2018 18:25:31 +0200 Date: Tue, 17 Jul 2018 18:25:31 +0200
Subject: [PATCH 013/269] x86/ioapic: Don't let setaffinity unmask threaded EOI Subject: [PATCH 013/283] x86/ioapic: Don't let setaffinity unmask threaded EOI
interrupt too early interrupt too early
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
There is an issue with threaded interrupts which are marked ONESHOT There is an issue with threaded interrupts which are marked ONESHOT
and using the fasteoi handler. and using the fasteoi handler.

View File

@ -1,8 +1,8 @@
From 1117688ac7606703683b1ac8cacdbf02d47b4adb Mon Sep 17 00:00:00 2001 From 39150ca165ea6d7d6b5ffe76efb6170893ffdb06 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 3 Jul 2018 18:19:48 +0200 Date: Tue, 3 Jul 2018 18:19:48 +0200
Subject: [PATCH 014/269] cgroup: use irqsave in cgroup_rstat_flush_locked() Subject: [PATCH 014/283] cgroup: use irqsave in cgroup_rstat_flush_locked()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
All callers of cgroup_rstat_flush_locked() acquire cgroup_rstat_lock All callers of cgroup_rstat_flush_locked() acquire cgroup_rstat_lock
either with spin_lock_irq() or spin_lock_irqsave(). either with spin_lock_irq() or spin_lock_irqsave().

View File

@ -1,8 +1,8 @@
From 8cf7a5b4f03a2829c823971a12c1a206bcba069d Mon Sep 17 00:00:00 2001 From 6c83cc3183d8efc6378788160d78a3a917a5ae96 Mon Sep 17 00:00:00 2001
From: Clark Williams <williams@redhat.com> From: Clark Williams <williams@redhat.com>
Date: Tue, 3 Jul 2018 13:34:30 -0500 Date: Tue, 3 Jul 2018 13:34:30 -0500
Subject: [PATCH 015/269] fscache: initialize cookie hash table raw spinlocks Subject: [PATCH 015/283] fscache: initialize cookie hash table raw spinlocks
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The fscache cookie mechanism uses a hash table of hlist_bl_head structures. The The fscache cookie mechanism uses a hash table of hlist_bl_head structures. The
PREEMPT_RT patcheset adds a raw spinlock to this structure and so on PREEMPT_RT PREEMPT_RT patcheset adds a raw spinlock to this structure and so on PREEMPT_RT

View File

@ -1,11 +1,11 @@
From 841d8b9e20d17d7907421dc223346198287e81a1 Mon Sep 17 00:00:00 2001 From fdfc7c94f7e160bd80c27ac31c6823fbb20330f7 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 29 Aug 2018 21:59:04 +0200 Date: Wed, 29 Aug 2018 21:59:04 +0200
Subject: [PATCH 016/269] Drivers: hv: vmbus: include header for get_irq_regs() Subject: [PATCH 016/283] Drivers: hv: vmbus: include header for get_irq_regs()
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
On !RT the header file get_irq_regs() gets pulled in via other header files. On On !RT the header file get_irq_regs() gets pulled in via other header files. On
RT it does not and the build fails: RT it does not and the build fails:

View File

@ -1,8 +1,8 @@
From d77a9b0754acbc89c7884b3505afdbb49677b36a Mon Sep 17 00:00:00 2001 From 31f7158d8389cec550de5964422b1123fc94079b Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 11 Oct 2018 16:39:59 +0200 Date: Thu, 11 Oct 2018 16:39:59 +0200
Subject: [PATCH 017/269] percpu: include irqflags.h for raw_local_irq_save() Subject: [PATCH 017/283] percpu: include irqflags.h for raw_local_irq_save()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The header percpu.h header file is using raw_local_irq_save() but does The header percpu.h header file is using raw_local_irq_save() but does
not include irqflags.h for its definition. It compiles because the not include irqflags.h for its definition. It compiles because the

View File

@ -1,8 +1,8 @@
From 10c47a6dadf91edee1d414002f91cc73bbe59c90 Mon Sep 17 00:00:00 2001 From fcb3ebea1da6aede14a10c28a06902043072f250 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 26 Jul 2018 15:06:10 +0200 Date: Thu, 26 Jul 2018 15:06:10 +0200
Subject: [PATCH 018/269] efi: Allow efi=runtime Subject: [PATCH 018/283] efi: Allow efi=runtime
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
In case the option "efi=noruntime" is default at built-time, the user In case the option "efi=noruntime" is default at built-time, the user
could overwrite its sate by `efi=runtime' and allow it again. could overwrite its sate by `efi=runtime' and allow it again.

View File

@ -1,8 +1,8 @@
From d1af306cedb5a02314565763b49992b10ce5d802 Mon Sep 17 00:00:00 2001 From 9dda6e746277e68f244d5660b5a3f3f85b0d9be0 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 24 Jul 2018 14:48:55 +0200 Date: Tue, 24 Jul 2018 14:48:55 +0200
Subject: [PATCH 019/269] x86/efi: drop task_lock() from efi_switch_mm() Subject: [PATCH 019/283] x86/efi: drop task_lock() from efi_switch_mm()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
efi_switch_mm() is a wrapper around switch_mm() which saves current's efi_switch_mm() is a wrapper around switch_mm() which saves current's
->active_mm, sets the requests mm as ->active_mm and invokes ->active_mm, sets the requests mm as ->active_mm and invokes

View File

@ -1,9 +1,9 @@
From 6d4ae829b2e8c46b1d730790bf2644e5a053cf14 Mon Sep 17 00:00:00 2001 From b66a9f85a9e8ee817d0e2de1637bf95b7710127f Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 26 Jul 2018 09:13:42 +0200 Date: Thu, 26 Jul 2018 09:13:42 +0200
Subject: [PATCH 020/269] arm64: KVM: compute_layout before altenates are Subject: [PATCH 020/283] arm64: KVM: compute_layout before altenates are
applied applied
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
compute_layout() is invoked as part of an alternative fixup under compute_layout() is invoked as part of an alternative fixup under
stop_machine() and needs a sleeping lock as part of get_random_long(). stop_machine() and needs a sleeping lock as part of get_random_long().

View File

@ -1,9 +1,9 @@
From 1ab1616de2aaaa7392ebb706a457af2fdcd2b82a Mon Sep 17 00:00:00 2001 From 6d0f5b28de481062ee69b0d62ae5ef2fc5101f9c Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 31 Aug 2018 14:16:30 +0200 Date: Fri, 31 Aug 2018 14:16:30 +0200
Subject: [PATCH 021/269] of: allocate / free phandle cache outside of the Subject: [PATCH 021/283] of: allocate / free phandle cache outside of the
devtree_lock devtree_lock
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The phandle cache code allocates memory while holding devtree_lock which The phandle cache code allocates memory while holding devtree_lock which
is a raw_spinlock_t. Memory allocation (and free()) is not possible on is a raw_spinlock_t. Memory allocation (and free()) is not possible on

View File

@ -1,8 +1,8 @@
From a61c877f81f1f0b850090df19e08d51cf9465955 Mon Sep 17 00:00:00 2001 From 3ec52d2ee13b6e83429a4f7a048a0005305b8033 Mon Sep 17 00:00:00 2001
From: Clark Williams <williams@redhat.com> From: Clark Williams <williams@redhat.com>
Date: Tue, 18 Sep 2018 10:29:31 -0500 Date: Tue, 18 Sep 2018 10:29:31 -0500
Subject: [PATCH 022/269] mm/kasan: make quarantine_lock a raw_spinlock_t Subject: [PATCH 022/283] mm/kasan: make quarantine_lock a raw_spinlock_t
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The static lock quarantine_lock is used in quarantine.c to protect the The static lock quarantine_lock is used in quarantine.c to protect the
quarantine queue datastructures. It is taken inside quarantine queue quarantine queue datastructures. It is taken inside quarantine queue

View File

@ -1,9 +1,9 @@
From b710c9561c0a7ddf1c7fef8d3bd3bc6d9e140a4e Mon Sep 17 00:00:00 2001 From 22ddccee8b48a817b261c98dda99967345475755 Mon Sep 17 00:00:00 2001
From: "Paul E. McKenney" <paulmck@linux.ibm.com> From: "Paul E. McKenney" <paulmck@linux.ibm.com>
Date: Mon, 29 Oct 2018 11:53:01 +0100 Date: Mon, 29 Oct 2018 11:53:01 +0100
Subject: [PATCH 023/269] EXP rcu: Revert expedited GP parallelization Subject: [PATCH 023/283] EXP rcu: Revert expedited GP parallelization
cleverness cleverness
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
(Commit 258ba8e089db23f760139266c232f01bad73f85c from linux-rcu) (Commit 258ba8e089db23f760139266c232f01bad73f85c from linux-rcu)

View File

@ -1,11 +1,11 @@
From b32df881582f39cab5e57b894f554f8573170cf7 Mon Sep 17 00:00:00 2001 From ced9290a5d8460c8a46615a475cd094bc3b0c344 Mon Sep 17 00:00:00 2001
From: He Zhe <zhe.he@windriver.com> From: He Zhe <zhe.he@windriver.com>
Date: Wed, 19 Dec 2018 16:30:57 +0100 Date: Wed, 19 Dec 2018 16:30:57 +0100
Subject: [PATCH 024/269] kmemleak: Turn kmemleak_lock to raw spinlock on RT Subject: [PATCH 024/283] kmemleak: Turn kmemleak_lock to raw spinlock on RT
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
kmemleak_lock, as a rwlock on RT, can possibly be held in atomic context and kmemleak_lock, as a rwlock on RT, can possibly be held in atomic context and
causes the follow BUG. causes the follow BUG.
@ -79,7 +79,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 10 insertions(+), 10 deletions(-) 1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/mm/kmemleak.c b/mm/kmemleak.c diff --git a/mm/kmemleak.c b/mm/kmemleak.c
index 17dd883198ae..b68a3d0d075f 100644 index 72e3fb3bb037..0ed549045074 100644
--- a/mm/kmemleak.c --- a/mm/kmemleak.c
+++ b/mm/kmemleak.c +++ b/mm/kmemleak.c
@@ -26,7 +26,7 @@ @@ -26,7 +26,7 @@

View File

@ -1,8 +1,8 @@
From 82889085f9639d9aed51313cf8fd8e8ca32b8e8b Mon Sep 17 00:00:00 2001 From e1b321401ca437984b8973749826aea3a245e15b Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 28 Oct 2016 23:05:11 +0200 Date: Fri, 28 Oct 2016 23:05:11 +0200
Subject: [PATCH 025/269] NFSv4: replace seqcount_t with a seqlock_t Subject: [PATCH 025/283] NFSv4: replace seqcount_t with a seqlock_t
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The raw_write_seqcount_begin() in nfs4_reclaim_open_state() bugs me The raw_write_seqcount_begin() in nfs4_reclaim_open_state() bugs me
because it maps to preempt_disable() in -RT which I can't have at this because it maps to preempt_disable() in -RT which I can't have at this
@ -58,10 +58,10 @@ index 63287d911c08..2ae55eaa4a1e 100644
}; };
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 580e37bc3fe2..9d010731f901 100644 index 1de855e0ae61..78c3f4359e76 100644
--- a/fs/nfs/nfs4proc.c --- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c
@@ -2863,7 +2863,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata, @@ -2865,7 +2865,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata,
unsigned int seq; unsigned int seq;
int ret; int ret;
@ -70,7 +70,7 @@ index 580e37bc3fe2..9d010731f901 100644
ret = _nfs4_proc_open(opendata, ctx); ret = _nfs4_proc_open(opendata, ctx);
if (ret != 0) if (ret != 0)
@@ -2904,7 +2904,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata, @@ -2906,7 +2906,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata,
if (d_inode(dentry) == state->inode) { if (d_inode(dentry) == state->inode) {
nfs_inode_attach_open_context(ctx); nfs_inode_attach_open_context(ctx);
@ -80,10 +80,10 @@ index 580e37bc3fe2..9d010731f901 100644
} }
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index d2f645d34eb1..1698dd2ca20b 100644 index 3ba2087469ac..f10952680bd9 100644
--- a/fs/nfs/nfs4state.c --- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c
@@ -511,7 +511,7 @@ nfs4_alloc_state_owner(struct nfs_server *server, @@ -515,7 +515,7 @@ nfs4_alloc_state_owner(struct nfs_server *server,
nfs4_init_seqid_counter(&sp->so_seqid); nfs4_init_seqid_counter(&sp->so_seqid);
atomic_set(&sp->so_count, 1); atomic_set(&sp->so_count, 1);
INIT_LIST_HEAD(&sp->so_lru); INIT_LIST_HEAD(&sp->so_lru);
@ -92,7 +92,7 @@ index d2f645d34eb1..1698dd2ca20b 100644
mutex_init(&sp->so_delegreturn_mutex); mutex_init(&sp->so_delegreturn_mutex);
return sp; return sp;
} }
@@ -1564,8 +1564,12 @@ static int nfs4_reclaim_open_state(struct nfs4_state_owner *sp, const struct nfs @@ -1568,8 +1568,12 @@ static int nfs4_reclaim_open_state(struct nfs4_state_owner *sp, const struct nfs
* recovering after a network partition or a reboot from a * recovering after a network partition or a reboot from a
* server that doesn't support a grace period. * server that doesn't support a grace period.
*/ */
@ -106,7 +106,7 @@ index d2f645d34eb1..1698dd2ca20b 100644
restart: restart:
list_for_each_entry(state, &sp->so_states, open_states) { list_for_each_entry(state, &sp->so_states, open_states) {
if (!test_and_clear_bit(ops->state_flag_bit, &state->flags)) if (!test_and_clear_bit(ops->state_flag_bit, &state->flags))
@@ -1652,14 +1656,20 @@ static int nfs4_reclaim_open_state(struct nfs4_state_owner *sp, const struct nfs @@ -1656,14 +1660,20 @@ static int nfs4_reclaim_open_state(struct nfs4_state_owner *sp, const struct nfs
spin_lock(&sp->so_lock); spin_lock(&sp->so_lock);
goto restart; goto restart;
} }

View File

@ -1,12 +1,12 @@
From 3ace22e122817ae9b6da2d0c49209a834f96375c Mon Sep 17 00:00:00 2001 From 02954bb06eedf19db3637fea6699d0dc1761b270 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 4 Apr 2017 12:50:16 +0200 Date: Tue, 4 Apr 2017 12:50:16 +0200
Subject: [PATCH 026/269] kernel: sched: Provide a pointer to the valid CPU Subject: [PATCH 026/283] kernel: sched: Provide a pointer to the valid CPU
mask mask
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
In commit 4b53a3412d66 ("sched/core: Remove the tsk_nr_cpus_allowed() In commit 4b53a3412d66 ("sched/core: Remove the tsk_nr_cpus_allowed()
wrapper") the tsk_nr_cpus_allowed() wrapper was removed. There was not wrapper") the tsk_nr_cpus_allowed() wrapper was removed. There was not
@ -166,7 +166,7 @@ index c9ef3c532169..cb10249b1125 100644
/* Save the current cpu id for spu interrupt routing. */ /* Save the current cpu id for spu interrupt routing. */
ctx->last_ran = raw_smp_processor_id(); ctx->last_ran = raw_smp_processor_id();
diff --git a/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c b/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c diff --git a/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c b/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c
index f8c260d522ca..befeec6414b0 100644 index 912d53939f4f..6b8dc68b5ccc 100644
--- a/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c --- a/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c
+++ b/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c +++ b/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c
@@ -1435,7 +1435,7 @@ static int pseudo_lock_dev_mmap(struct file *filp, struct vm_area_struct *vma) @@ -1435,7 +1435,7 @@ static int pseudo_lock_dev_mmap(struct file *filp, struct vm_area_struct *vma)
@ -255,7 +255,7 @@ index 98e1ce14fa2a..5d3828625017 100644
if (weight == 1 && !test_bit(cpu, qib_cpulist)) if (weight == 1 && !test_bit(cpu, qib_cpulist))
if (!find_hca(cpu, &unit) && unit >= 0) if (!find_hca(cpu, &unit) && unit >= 0)
diff --git a/fs/proc/array.c b/fs/proc/array.c diff --git a/fs/proc/array.c b/fs/proc/array.c
index 0ceb3b6b37e7..ccfef702c771 100644 index 9eb99a43f849..e4d0cfebaac5 100644
--- a/fs/proc/array.c --- a/fs/proc/array.c
+++ b/fs/proc/array.c +++ b/fs/proc/array.c
@@ -381,9 +381,9 @@ static inline void task_context_switch_counts(struct seq_file *m, @@ -381,9 +381,9 @@ static inline void task_context_switch_counts(struct seq_file *m,
@ -308,7 +308,7 @@ index 5aebe3be4d7c..0b49b9cf5571 100644
.mm = NULL, .mm = NULL,
.active_mm = &init_mm, .active_mm = &init_mm,
diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
index 266f10cb7222..ef085d84a940 100644 index ff956ccbb6df..7bb129c5b412 100644
--- a/kernel/cgroup/cpuset.c --- a/kernel/cgroup/cpuset.c
+++ b/kernel/cgroup/cpuset.c +++ b/kernel/cgroup/cpuset.c
@@ -2090,7 +2090,7 @@ static void cpuset_fork(struct task_struct *task) @@ -2090,7 +2090,7 @@ static void cpuset_fork(struct task_struct *task)
@ -321,7 +321,7 @@ index 266f10cb7222..ef085d84a940 100644
} }
diff --git a/kernel/fork.c b/kernel/fork.c diff --git a/kernel/fork.c b/kernel/fork.c
index 64ef113e387e..bfe9c5c3eb88 100644 index 69874db3fba8..98c971cb1d36 100644
--- a/kernel/fork.c --- a/kernel/fork.c
+++ b/kernel/fork.c +++ b/kernel/fork.c
@@ -845,6 +845,8 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) @@ -845,6 +845,8 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node)
@ -334,7 +334,7 @@ index 64ef113e387e..bfe9c5c3eb88 100644
/* /*
* One for us, one for whoever does the "release_task()" (usually * One for us, one for whoever does the "release_task()" (usually
diff --git a/kernel/sched/core.c b/kernel/sched/core.c diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index d7f409866cdf..80badc70c258 100644 index 6859ea1d5c04..d6f690064cce 100644
--- a/kernel/sched/core.c --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -878,7 +878,7 @@ static inline bool is_per_cpu_kthread(struct task_struct *p) @@ -878,7 +878,7 @@ static inline bool is_per_cpu_kthread(struct task_struct *p)
@ -542,10 +542,10 @@ index daaadf939ccb..f7d2c10b4c92 100644
/* /*
* We have to ensure that we have at least one bit * We have to ensure that we have at least one bit
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index 91e4202b0634..f927b1f45474 100644 index 72c07059ef37..fb6e64417470 100644
--- a/kernel/sched/deadline.c --- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c
@@ -539,7 +539,7 @@ static struct rq *dl_task_offline_migration(struct rq *rq, struct task_struct *p @@ -538,7 +538,7 @@ static struct rq *dl_task_offline_migration(struct rq *rq, struct task_struct *p
* If we cannot preempt any rq, fall back to pick any * If we cannot preempt any rq, fall back to pick any
* online CPU: * online CPU:
*/ */
@ -554,7 +554,7 @@ index 91e4202b0634..f927b1f45474 100644
if (cpu >= nr_cpu_ids) { if (cpu >= nr_cpu_ids) {
/* /*
* Failed to find any suitable CPU. * Failed to find any suitable CPU.
@@ -1824,7 +1824,7 @@ static void set_curr_task_dl(struct rq *rq) @@ -1823,7 +1823,7 @@ static void set_curr_task_dl(struct rq *rq)
static int pick_dl_task(struct rq *rq, struct task_struct *p, int cpu) static int pick_dl_task(struct rq *rq, struct task_struct *p, int cpu)
{ {
if (!task_running(rq, p) && if (!task_running(rq, p) &&
@ -563,7 +563,7 @@ index 91e4202b0634..f927b1f45474 100644
return 1; return 1;
return 0; return 0;
} }
@@ -1974,7 +1974,7 @@ static struct rq *find_lock_later_rq(struct task_struct *task, struct rq *rq) @@ -1973,7 +1973,7 @@ static struct rq *find_lock_later_rq(struct task_struct *task, struct rq *rq)
/* Retry if something changed. */ /* Retry if something changed. */
if (double_lock_balance(rq, later_rq)) { if (double_lock_balance(rq, later_rq)) {
if (unlikely(task_rq(task) != rq || if (unlikely(task_rq(task) != rq ||
@ -573,7 +573,7 @@ index 91e4202b0634..f927b1f45474 100644
!dl_task(task) || !dl_task(task) ||
!task_on_rq_queued(task))) { !task_on_rq_queued(task))) {
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 53acadf72cd9..c17d63b06026 100644 index 289c966f907a..0048a32a3b4d 100644
--- a/kernel/sched/fair.c --- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c +++ b/kernel/sched/fair.c
@@ -1630,7 +1630,7 @@ static void task_numa_compare(struct task_numa_env *env, @@ -1630,7 +1630,7 @@ static void task_numa_compare(struct task_numa_env *env,
@ -594,7 +594,7 @@ index 53acadf72cd9..c17d63b06026 100644
continue; continue;
env->dst_cpu = cpu; env->dst_cpu = cpu;
@@ -5737,7 +5737,7 @@ find_idlest_group(struct sched_domain *sd, struct task_struct *p, @@ -5741,7 +5741,7 @@ find_idlest_group(struct sched_domain *sd, struct task_struct *p,
/* Skip over this group if it has no CPUs allowed */ /* Skip over this group if it has no CPUs allowed */
if (!cpumask_intersects(sched_group_span(group), if (!cpumask_intersects(sched_group_span(group),
@ -603,7 +603,7 @@ index 53acadf72cd9..c17d63b06026 100644
continue; continue;
local_group = cpumask_test_cpu(this_cpu, local_group = cpumask_test_cpu(this_cpu,
@@ -5869,7 +5869,7 @@ find_idlest_group_cpu(struct sched_group *group, struct task_struct *p, int this @@ -5873,7 +5873,7 @@ find_idlest_group_cpu(struct sched_group *group, struct task_struct *p, int this
return cpumask_first(sched_group_span(group)); return cpumask_first(sched_group_span(group));
/* Traverse only the allowed CPUs */ /* Traverse only the allowed CPUs */
@ -612,7 +612,7 @@ index 53acadf72cd9..c17d63b06026 100644
if (available_idle_cpu(i)) { if (available_idle_cpu(i)) {
struct rq *rq = cpu_rq(i); struct rq *rq = cpu_rq(i);
struct cpuidle_state *idle = idle_get_state(rq); struct cpuidle_state *idle = idle_get_state(rq);
@@ -5909,7 +5909,7 @@ static inline int find_idlest_cpu(struct sched_domain *sd, struct task_struct *p @@ -5913,7 +5913,7 @@ static inline int find_idlest_cpu(struct sched_domain *sd, struct task_struct *p
{ {
int new_cpu = cpu; int new_cpu = cpu;
@ -621,7 +621,7 @@ index 53acadf72cd9..c17d63b06026 100644
return prev_cpu; return prev_cpu;
/* /*
@@ -6026,7 +6026,7 @@ static int select_idle_core(struct task_struct *p, struct sched_domain *sd, int @@ -6030,7 +6030,7 @@ static int select_idle_core(struct task_struct *p, struct sched_domain *sd, int
if (!test_idle_cores(target, false)) if (!test_idle_cores(target, false))
return -1; return -1;
@ -630,7 +630,7 @@ index 53acadf72cd9..c17d63b06026 100644
for_each_cpu_wrap(core, cpus, target) { for_each_cpu_wrap(core, cpus, target) {
bool idle = true; bool idle = true;
@@ -6060,7 +6060,7 @@ static int select_idle_smt(struct task_struct *p, struct sched_domain *sd, int t @@ -6064,7 +6064,7 @@ static int select_idle_smt(struct task_struct *p, struct sched_domain *sd, int t
return -1; return -1;
for_each_cpu(cpu, cpu_smt_mask(target)) { for_each_cpu(cpu, cpu_smt_mask(target)) {
@ -639,7 +639,7 @@ index 53acadf72cd9..c17d63b06026 100644
continue; continue;
if (available_idle_cpu(cpu)) if (available_idle_cpu(cpu))
return cpu; return cpu;
@@ -6123,7 +6123,7 @@ static int select_idle_cpu(struct task_struct *p, struct sched_domain *sd, int t @@ -6127,7 +6127,7 @@ static int select_idle_cpu(struct task_struct *p, struct sched_domain *sd, int t
for_each_cpu_wrap(cpu, sched_domain_span(sd), target) { for_each_cpu_wrap(cpu, sched_domain_span(sd), target) {
if (!--nr) if (!--nr)
return -1; return -1;
@ -648,7 +648,7 @@ index 53acadf72cd9..c17d63b06026 100644
continue; continue;
if (available_idle_cpu(cpu)) if (available_idle_cpu(cpu))
break; break;
@@ -6160,7 +6160,7 @@ static int select_idle_sibling(struct task_struct *p, int prev, int target) @@ -6164,7 +6164,7 @@ static int select_idle_sibling(struct task_struct *p, int prev, int target)
recent_used_cpu != target && recent_used_cpu != target &&
cpus_share_cache(recent_used_cpu, target) && cpus_share_cache(recent_used_cpu, target) &&
available_idle_cpu(recent_used_cpu) && available_idle_cpu(recent_used_cpu) &&
@ -657,7 +657,7 @@ index 53acadf72cd9..c17d63b06026 100644
/* /*
* Replace recent_used_cpu with prev as it is a potential * Replace recent_used_cpu with prev as it is a potential
* candidate for the next wake: * candidate for the next wake:
@@ -6378,7 +6378,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int sd_flag, int wake_f @@ -6382,7 +6382,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int sd_flag, int wake_f
if (sd_flag & SD_BALANCE_WAKE) { if (sd_flag & SD_BALANCE_WAKE) {
record_wakee(p); record_wakee(p);
want_affine = !wake_wide(p) && !wake_cap(p, cpu, prev_cpu) want_affine = !wake_wide(p) && !wake_cap(p, cpu, prev_cpu)
@ -666,7 +666,7 @@ index 53acadf72cd9..c17d63b06026 100644
} }
rcu_read_lock(); rcu_read_lock();
@@ -7117,14 +7117,14 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) @@ -7121,14 +7121,14 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env)
/* /*
* We do not migrate tasks that are: * We do not migrate tasks that are:
* 1) throttled_lb_pair, or * 1) throttled_lb_pair, or
@ -683,7 +683,7 @@ index 53acadf72cd9..c17d63b06026 100644
int cpu; int cpu;
schedstat_inc(p->se.statistics.nr_failed_migrations_affine); schedstat_inc(p->se.statistics.nr_failed_migrations_affine);
@@ -7144,7 +7144,7 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) @@ -7148,7 +7148,7 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env)
/* Prevent to re-select dst_cpu via env's CPUs: */ /* Prevent to re-select dst_cpu via env's CPUs: */
for_each_cpu_and(cpu, env->dst_grpmask, env->cpus) { for_each_cpu_and(cpu, env->dst_grpmask, env->cpus) {
@ -692,7 +692,7 @@ index 53acadf72cd9..c17d63b06026 100644
env->flags |= LBF_DST_PINNED; env->flags |= LBF_DST_PINNED;
env->new_dst_cpu = cpu; env->new_dst_cpu = cpu;
break; break;
@@ -7741,7 +7741,7 @@ check_cpu_capacity(struct rq *rq, struct sched_domain *sd) @@ -7745,7 +7745,7 @@ check_cpu_capacity(struct rq *rq, struct sched_domain *sd)
/* /*
* Group imbalance indicates (and tries to solve) the problem where balancing * Group imbalance indicates (and tries to solve) the problem where balancing
@ -701,7 +701,7 @@ index 53acadf72cd9..c17d63b06026 100644
* *
* Imagine a situation of two groups of 4 CPUs each and 4 tasks each with a * Imagine a situation of two groups of 4 CPUs each and 4 tasks each with a
* cpumask covering 1 CPU of the first group and 3 CPUs of the second group. * cpumask covering 1 CPU of the first group and 3 CPUs of the second group.
@@ -8356,7 +8356,7 @@ static struct sched_group *find_busiest_group(struct lb_env *env) @@ -8360,7 +8360,7 @@ static struct sched_group *find_busiest_group(struct lb_env *env)
/* /*
* If the busiest group is imbalanced the below checks don't * If the busiest group is imbalanced the below checks don't
* work because they assume all things are equal, which typically * work because they assume all things are equal, which typically
@ -710,7 +710,7 @@ index 53acadf72cd9..c17d63b06026 100644
*/ */
if (busiest->group_type == group_imbalanced) if (busiest->group_type == group_imbalanced)
goto force_balance; goto force_balance;
@@ -8752,7 +8752,7 @@ static int load_balance(int this_cpu, struct rq *this_rq, @@ -8756,7 +8756,7 @@ static int load_balance(int this_cpu, struct rq *this_rq,
* if the curr task on busiest CPU can't be * if the curr task on busiest CPU can't be
* moved to this_cpu: * moved to this_cpu:
*/ */
@ -720,7 +720,7 @@ index 53acadf72cd9..c17d63b06026 100644
flags); flags);
env.flags |= LBF_ALL_PINNED; env.flags |= LBF_ALL_PINNED;
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
index 2e2955a8cf8f..4857ca145119 100644 index b980cc96604f..b6ca4a630050 100644
--- a/kernel/sched/rt.c --- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c +++ b/kernel/sched/rt.c
@@ -1611,7 +1611,7 @@ static void put_prev_task_rt(struct rq *rq, struct task_struct *p) @@ -1611,7 +1611,7 @@ static void put_prev_task_rt(struct rq *rq, struct task_struct *p)

View File

@ -1,8 +1,8 @@
From 2fc8b5c9ca4ff2df7913d6e6d75a98bdece9b264 Mon Sep 17 00:00:00 2001 From bda814671dc9f9f74cabd99a65cad3101b68ee83 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Sat, 27 May 2017 19:02:06 +0200 Date: Sat, 27 May 2017 19:02:06 +0200
Subject: [PATCH 027/269] kernel/sched/core: add migrate_disable() Subject: [PATCH 027/283] kernel/sched/core: add migrate_disable()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
--- ---
include/linux/preempt.h | 23 +++++++ include/linux/preempt.h | 23 +++++++
@ -86,7 +86,7 @@ index 9fb239e12b82..5801e516ba63 100644
* Callback to arch code if there's nosmp or maxcpus=0 on the * Callback to arch code if there's nosmp or maxcpus=0 on the
* boot command line: * boot command line:
diff --git a/kernel/sched/core.c b/kernel/sched/core.c diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 80badc70c258..3df110e8c6f9 100644 index d6f690064cce..b658f0147c3b 100644
--- a/kernel/sched/core.c --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -1008,7 +1008,15 @@ void set_cpus_allowed_common(struct task_struct *p, const struct cpumask *new_ma @@ -1008,7 +1008,15 @@ void set_cpus_allowed_common(struct task_struct *p, const struct cpumask *new_ma
@ -145,7 +145,7 @@ index 80badc70c258..3df110e8c6f9 100644
dest_cpu = cpumask_any_and(cpu_valid_mask, new_mask); dest_cpu = cpumask_any_and(cpu_valid_mask, new_mask);
if (task_running(rq, p) || p->state == TASK_WAKING) { if (task_running(rq, p) || p->state == TASK_WAKING) {
struct migration_arg arg = { p, dest_cpu }; struct migration_arg arg = { p, dest_cpu };
@@ -7060,3 +7089,100 @@ const u32 sched_prio_to_wmult[40] = { @@ -7067,3 +7096,100 @@ const u32 sched_prio_to_wmult[40] = {
}; };
#undef CREATE_TRACE_POINTS #undef CREATE_TRACE_POINTS
@ -247,7 +247,7 @@ index 80badc70c258..3df110e8c6f9 100644
+EXPORT_SYMBOL(migrate_enable); +EXPORT_SYMBOL(migrate_enable);
+#endif +#endif
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index 141ea9ff210e..34c27afae009 100644 index 78fadf0438ea..5027158d3908 100644
--- a/kernel/sched/debug.c --- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c +++ b/kernel/sched/debug.c
@@ -982,6 +982,10 @@ void proc_sched_show_task(struct task_struct *p, struct pid_namespace *ns, @@ -982,6 +982,10 @@ void proc_sched_show_task(struct task_struct *p, struct pid_namespace *ns,

View File

@ -1,9 +1,9 @@
From 0af010b771c642c17c33fbc991e183c04427af59 Mon Sep 17 00:00:00 2001 From 6fb56185df42e49e0e2d8fe12d315356a57f4bce Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 9 Oct 2018 17:34:50 +0200 Date: Tue, 9 Oct 2018 17:34:50 +0200
Subject: [PATCH 028/269] sched/migrate_disable: Add export_symbol_gpl for Subject: [PATCH 028/283] sched/migrate_disable: Add export_symbol_gpl for
__migrate_disabled __migrate_disabled
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Jonathan reported that lttng/modules can't use __migrate_disabled(). Jonathan reported that lttng/modules can't use __migrate_disabled().
This function is only used by sched/core itself and the tracing This function is only used by sched/core itself and the tracing
@ -22,7 +22,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+) 1 file changed, 1 insertion(+)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 3df110e8c6f9..9c4a9f0a627b 100644 index b658f0147c3b..7a39d56f6a6b 100644
--- a/kernel/sched/core.c --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -1013,6 +1013,7 @@ int __migrate_disabled(struct task_struct *p) @@ -1013,6 +1013,7 @@ int __migrate_disabled(struct task_struct *p)

View File

@ -1,8 +1,8 @@
From 245bd7bd92ce193e01ef35fbdaae505d5eefd28b Mon Sep 17 00:00:00 2001 From 35e0294d43f7c53bdb7ecba19df0710037d888ec Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 9 Mar 2016 10:51:06 +0100 Date: Wed, 9 Mar 2016 10:51:06 +0100
Subject: [PATCH 029/269] arm: at91: do not disable/enable clocks in a row Subject: [PATCH 029/283] arm: at91: do not disable/enable clocks in a row
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Currently the driver will disable the clock and enable it one line later Currently the driver will disable the clock and enable it one line later
if it is switching from periodic mode into one shot. if it is switching from periodic mode into one shot.

View File

@ -1,12 +1,12 @@
From 7b123775c97399cd5ca5394392bf72c5d73f2808 Mon Sep 17 00:00:00 2001 From 4d4322de76f7b52df1529acfc6e5fc46e25761f1 Mon Sep 17 00:00:00 2001
From: Benedikt Spranger <b.spranger@linutronix.de> From: Benedikt Spranger <b.spranger@linutronix.de>
Date: Mon, 8 Mar 2010 18:57:04 +0100 Date: Mon, 8 Mar 2010 18:57:04 +0100
Subject: [PATCH 030/269] clocksource: TCLIB: Allow higher clock rates for Subject: [PATCH 030/283] clocksource: TCLIB: Allow higher clock rates for
clock events clock events
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
As default the TCLIB uses the 32KiHz base clock rate for clock events. As default the TCLIB uses the 32KiHz base clock rate for clock events.
Add a compile time selection to allow higher clock resulution. Add a compile time selection to allow higher clock resulution.

View File

@ -1,8 +1,8 @@
From 5a0bfb35b3b826135a39a8e8744e9926b5be7607 Mon Sep 17 00:00:00 2001 From 64f770d93319861d308ce265a4389e4ca0a6ed5f Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Feb 2013 22:36:59 +0100 Date: Thu, 14 Feb 2013 22:36:59 +0100
Subject: [PATCH 031/269] timekeeping: Split jiffies seqlock Subject: [PATCH 031/283] timekeeping: Split jiffies seqlock
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Replace jiffies_lock seqlock with a simple seqcounter and a rawlock so Replace jiffies_lock seqlock with a simple seqcounter and a rawlock so
it can be taken in atomic context on RT. it can be taken in atomic context on RT.
@ -136,10 +136,10 @@ index 5b33e2f5c0ed..54fd344ef973 100644
ts->timer_expires_base = basemono; ts->timer_expires_base = basemono;
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 7846ce24ecc0..68cf97548cba 100644 index 443edcddac8a..0517bc42c6b6 100644
--- a/kernel/time/timekeeping.c --- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c
@@ -2417,8 +2417,10 @@ EXPORT_SYMBOL(hardpps); @@ -2418,8 +2418,10 @@ EXPORT_SYMBOL(hardpps);
*/ */
void xtime_update(unsigned long ticks) void xtime_update(unsigned long ticks)
{ {

View File

@ -1,8 +1,8 @@
From a9a18a8c88bd90bdac5f33690be17244dc22bd22 Mon Sep 17 00:00:00 2001 From 8cf90f7e58f51438a7ec0e4e704918afaa450ff1 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 21 Sep 2011 19:57:12 +0200 Date: Wed, 21 Sep 2011 19:57:12 +0200
Subject: [PATCH 032/269] signal: Revert ptrace preempt magic Subject: [PATCH 032/283] signal: Revert ptrace preempt magic
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Upstream commit '53da1d9456fe7f8 fix ptrace slowness' is nothing more Upstream commit '53da1d9456fe7f8 fix ptrace slowness' is nothing more
than a bandaid around the ptrace design trainwreck. It's not a than a bandaid around the ptrace design trainwreck. It's not a
@ -14,7 +14,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 8 deletions(-) 1 file changed, 8 deletions(-)
diff --git a/kernel/signal.c b/kernel/signal.c diff --git a/kernel/signal.c b/kernel/signal.c
index 9102d60fc5c6..f29def2be652 100644 index 0e6bc3049427..d5a9646b3538 100644
--- a/kernel/signal.c --- a/kernel/signal.c
+++ b/kernel/signal.c +++ b/kernel/signal.c
@@ -2094,15 +2094,7 @@ static void ptrace_stop(int exit_code, int why, int clear_code, siginfo_t *info) @@ -2094,15 +2094,7 @@ static void ptrace_stop(int exit_code, int why, int clear_code, siginfo_t *info)

View File

@ -1,8 +1,8 @@
From b1e277ed2b65bf647c2a6dc2d103ffe5aa2e4fa7 Mon Sep 17 00:00:00 2001 From 882c4f88db8d6179773dc733e794fa504aef75e3 Mon Sep 17 00:00:00 2001
From: Marc Kleine-Budde <mkl@pengutronix.de> From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: Wed, 5 Mar 2014 00:49:47 +0100 Date: Wed, 5 Mar 2014 00:49:47 +0100
Subject: [PATCH 033/269] net: sched: Use msleep() instead of yield() Subject: [PATCH 033/283] net: sched: Use msleep() instead of yield()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
On PREEMPT_RT enabled systems the interrupt handler run as threads at prio 50 On PREEMPT_RT enabled systems the interrupt handler run as threads at prio 50
(by default). If a high priority userspace process tries to shut down a busy (by default). If a high priority userspace process tries to shut down a busy

View File

@ -1,8 +1,8 @@
From 812137beb49a5dea2e269ea9739d0ed291e27375 Mon Sep 17 00:00:00 2001 From ea6d238547b58b5fe9ce953cd818ef8bf6cb8915 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 27 Mar 2018 16:24:15 +0200 Date: Tue, 27 Mar 2018 16:24:15 +0200
Subject: [PATCH 034/269] dm rq: remove BUG_ON(!irqs_disabled) check Subject: [PATCH 034/283] dm rq: remove BUG_ON(!irqs_disabled) check
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
In commit 052189a2ec95 ("dm: remove superfluous irq disablement in In commit 052189a2ec95 ("dm: remove superfluous irq disablement in
dm_request_fn") the spin_lock_irq() was replaced with spin_lock() + a dm_request_fn") the spin_lock_irq() was replaced with spin_lock() + a

View File

@ -1,8 +1,8 @@
From e958966734633c26363abc8920eca9c38e5cd7ce Mon Sep 17 00:00:00 2001 From b91ae27f3efa2e15087397591db35dd1d11f5120 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 8 Nov 2013 17:34:54 +0100 Date: Fri, 8 Nov 2013 17:34:54 +0100
Subject: [PATCH 035/269] usb: do no disable interrupts in giveback Subject: [PATCH 035/283] usb: do no disable interrupts in giveback
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Since commit 94dfd7ed ("USB: HCD: support giveback of URB in tasklet Since commit 94dfd7ed ("USB: HCD: support giveback of URB in tasklet
context") the USB code disables interrupts before invoking the complete context") the USB code disables interrupts before invoking the complete
@ -20,7 +20,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 3 deletions(-) 1 file changed, 3 deletions(-)
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index 1c21955fe7c0..7863dec34f0b 100644 index b82a7d787add..2f3015356124 100644
--- a/drivers/usb/core/hcd.c --- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c
@@ -1738,7 +1738,6 @@ static void __usb_hcd_giveback_urb(struct urb *urb) @@ -1738,7 +1738,6 @@ static void __usb_hcd_giveback_urb(struct urb *urb)

View File

@ -1,8 +1,8 @@
From 588e8fb01ec7915ef280606b80bd605f49c56915 Mon Sep 17 00:00:00 2001 From 79f8ad95ffc5f1cd2ac721ab3d01291d4ad055df Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 17 Jun 2011 12:39:57 +0200 Date: Fri, 17 Jun 2011 12:39:57 +0200
Subject: [PATCH 036/269] rt: Provide PREEMPT_RT_BASE config switch Subject: [PATCH 036/283] rt: Provide PREEMPT_RT_BASE config switch
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Introduce PREEMPT_RT_BASE which enables parts of Introduce PREEMPT_RT_BASE which enables parts of
PREEMPT_RT_FULL. Forces interrupt threading and enables some of the RT PREEMPT_RT_FULL. Forces interrupt threading and enables some of the RT

View File

@ -1,8 +1,8 @@
From 9480b8b41cb649337466e43807eff3816a9530bc Mon Sep 17 00:00:00 2001 From 75df679c581581978487f6f6de91bf86a9f72e7c Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 14 Dec 2011 01:03:49 +0100 Date: Wed, 14 Dec 2011 01:03:49 +0100
Subject: [PATCH 037/269] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT Subject: [PATCH 037/283] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
There are "valid" GFP_ATOMIC allocations such as There are "valid" GFP_ATOMIC allocations such as

View File

@ -1,8 +1,8 @@
From d23a435dc809c84e3185683681ef735f2097fe57 Mon Sep 17 00:00:00 2001 From b5d77d6b4b4bcead77cd720e8a93f4ae78420034 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 8 Jul 2015 17:14:48 +0200 Date: Wed, 8 Jul 2015 17:14:48 +0200
Subject: [PATCH 038/269] jump-label: disable if stop_machine() is used Subject: [PATCH 038/283] jump-label: disable if stop_machine() is used
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Some architectures are using stop_machine() while switching the opcode which Some architectures are using stop_machine() while switching the opcode which
leads to latency spikes. leads to latency spikes.
@ -25,7 +25,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index cd4c74daf71e..27a5f0b9ddc7 100644 index 51794c7fa6d5..7d11242a37d2 100644
--- a/arch/arm/Kconfig --- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig +++ b/arch/arm/Kconfig
@@ -51,7 +51,7 @@ config ARM @@ -51,7 +51,7 @@ config ARM

View File

@ -1,9 +1,9 @@
From 6c83d4802fcd91010b16a5a69456c7370cd10f9f Mon Sep 17 00:00:00 2001 From 94fd428643474b867a8cac432d7d911a5250c367 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 24 Jul 2011 12:11:43 +0200 Date: Sun, 24 Jul 2011 12:11:43 +0200
Subject: [PATCH 039/269] kconfig: Disable config options which are not RT Subject: [PATCH 039/283] kconfig: Disable config options which are not RT
compatible compatible
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Disable stuff which is known to have issues on RT Disable stuff which is known to have issues on RT
@ -14,7 +14,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2 files changed, 2 insertions(+), 1 deletion(-) 2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/Kconfig b/arch/Kconfig diff --git a/arch/Kconfig b/arch/Kconfig
index 6801123932a5..42b9062b9dbf 100644 index a336548487e6..3f537b264852 100644
--- a/arch/Kconfig --- a/arch/Kconfig
+++ b/arch/Kconfig +++ b/arch/Kconfig
@@ -28,6 +28,7 @@ config OPROFILE @@ -28,6 +28,7 @@ config OPROFILE
@ -26,7 +26,7 @@ index 6801123932a5..42b9062b9dbf 100644
select RING_BUFFER_ALLOW_SWAP select RING_BUFFER_ALLOW_SWAP
help help
diff --git a/mm/Kconfig b/mm/Kconfig diff --git a/mm/Kconfig b/mm/Kconfig
index de64ea658716..438460486a5b 100644 index b457e94ae618..0dddbb2a3282 100644
--- a/mm/Kconfig --- a/mm/Kconfig
+++ b/mm/Kconfig +++ b/mm/Kconfig
@@ -377,7 +377,7 @@ config NOMMU_INITIAL_TRIM_EXCESS @@ -377,7 +377,7 @@ config NOMMU_INITIAL_TRIM_EXCESS

View File

@ -1,11 +1,11 @@
From 968d103b4727308889b77f3fa556e149bba6d56c Mon Sep 17 00:00:00 2001 From 1a9e9b418236c18717a91955eeafe5bd72a00598 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 17 Oct 2017 16:36:18 +0200 Date: Tue, 17 Oct 2017 16:36:18 +0200
Subject: [PATCH 040/269] lockdep: disable self-test Subject: [PATCH 040/283] lockdep: disable self-test
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The self-test wasn't always 100% accurate for RT. We disabled a few The self-test wasn't always 100% accurate for RT. We disabled a few
tests which failed because they had a different semantic for RT. Some tests which failed because they had a different semantic for RT. Some
@ -18,7 +18,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 4966c4fbe7f7..92e7d88946f7 100644 index 3dea52f7be9c..1504e6aa8418 100644
--- a/lib/Kconfig.debug --- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug +++ b/lib/Kconfig.debug
@@ -1207,7 +1207,7 @@ config DEBUG_ATOMIC_SLEEP @@ -1207,7 +1207,7 @@ config DEBUG_ATOMIC_SLEEP

View File

@ -1,8 +1,8 @@
From 16680836f36c75ccaff96ab3155869144b0dd028 Mon Sep 17 00:00:00 2001 From 75102ff5e253e5ababc30c7512e0c07f2b7dc297 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:44:03 -0500 Date: Fri, 3 Jul 2009 08:44:03 -0500
Subject: [PATCH 041/269] mm: Allow only slub on RT Subject: [PATCH 041/283] mm: Allow only slub on RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Disable SLAB and SLOB on -RT. Only SLUB is adopted to -RT needs. Disable SLAB and SLOB on -RT. Only SLUB is adopted to -RT needs.
@ -13,10 +13,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
diff --git a/init/Kconfig b/init/Kconfig diff --git a/init/Kconfig b/init/Kconfig
index 864af10bb1b9..f3f073942c30 100644 index 47035b5a46f6..ae9a0113a699 100644
--- a/init/Kconfig --- a/init/Kconfig
+++ b/init/Kconfig +++ b/init/Kconfig
@@ -1634,6 +1634,7 @@ choice @@ -1637,6 +1637,7 @@ choice
config SLAB config SLAB
bool "SLAB" bool "SLAB"
@ -24,7 +24,7 @@ index 864af10bb1b9..f3f073942c30 100644
select HAVE_HARDENED_USERCOPY_ALLOCATOR select HAVE_HARDENED_USERCOPY_ALLOCATOR
help help
The regular slab allocator that is established and known to work The regular slab allocator that is established and known to work
@@ -1654,6 +1655,7 @@ config SLUB @@ -1657,6 +1658,7 @@ config SLUB
config SLOB config SLOB
depends on EXPERT depends on EXPERT
bool "SLOB (Simple Allocator)" bool "SLOB (Simple Allocator)"

View File

@ -1,11 +1,11 @@
From a506cf490ae3e346c6082877f109fcf34568f22d Mon Sep 17 00:00:00 2001 From 32697a0be9afdc5c631cc3d232a298b5880ed65c Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 21:51:45 +0200 Date: Sun, 17 Jul 2011 21:51:45 +0200
Subject: [PATCH 042/269] locking: Disable spin on owner for RT Subject: [PATCH 042/283] locking: Disable spin on owner for RT
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Drop spin on owner for mutex / rwsem. We are most likely not using it Drop spin on owner for mutex / rwsem. We are most likely not using it
but… but…

View File

@ -1,8 +1,8 @@
From 30987f403875e211eee90cac11127e04b1a27c73 Mon Sep 17 00:00:00 2001 From 708879e986c1b552ee69d6444b808a196bba0f5f Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 28 Oct 2012 13:26:09 +0000 Date: Sun, 28 Oct 2012 13:26:09 +0000
Subject: [PATCH 043/269] rcu: Disable RCU_FAST_NO_HZ on RT Subject: [PATCH 043/283] rcu: Disable RCU_FAST_NO_HZ on RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
This uses a timer_list timer from the irq disabled guts of the idle This uses a timer_list timer from the irq disabled guts of the idle
code. Disable it for now to prevent wreckage. code. Disable it for now to prevent wreckage.

View File

@ -1,8 +1,8 @@
From 709173f4678f7f2f0b834e508d8044821d1c2354 Mon Sep 17 00:00:00 2001 From a14822b6d5fcc441064faf3edc2f91b5d461e703 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 21 Mar 2014 20:19:05 +0100 Date: Fri, 21 Mar 2014 20:19:05 +0100
Subject: [PATCH 044/269] rcu: make RCU_BOOST default on RT Subject: [PATCH 044/283] rcu: make RCU_BOOST default on RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Since it is no longer invoked from the softirq people run into OOM more Since it is no longer invoked from the softirq people run into OOM more
often if the priority of the RCU thread is too low. Making boosting often if the priority of the RCU thread is too low. Making boosting

View File

@ -1,8 +1,8 @@
From 56d2f884391ba7e98721f6639f87698e46429c7f Mon Sep 17 00:00:00 2001 From 36c33c65b461082612dffa7be01862b7bd55270e Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 17:03:52 +0200 Date: Mon, 18 Jul 2011 17:03:52 +0200
Subject: [PATCH 045/269] sched: Disable CONFIG_RT_GROUP_SCHED on RT Subject: [PATCH 045/283] sched: Disable CONFIG_RT_GROUP_SCHED on RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Carsten reported problems when running: Carsten reported problems when running:
@ -19,10 +19,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 1 insertion(+) 1 file changed, 1 insertion(+)
diff --git a/init/Kconfig b/init/Kconfig diff --git a/init/Kconfig b/init/Kconfig
index f3f073942c30..707ca4d49944 100644 index ae9a0113a699..61e8b531649b 100644
--- a/init/Kconfig --- a/init/Kconfig
+++ b/init/Kconfig +++ b/init/Kconfig
@@ -781,6 +781,7 @@ config CFS_BANDWIDTH @@ -784,6 +784,7 @@ config CFS_BANDWIDTH
config RT_GROUP_SCHED config RT_GROUP_SCHED
bool "Group scheduling for SCHED_RR/FIFO" bool "Group scheduling for SCHED_RR/FIFO"
depends on CGROUP_SCHED depends on CGROUP_SCHED

View File

@ -1,11 +1,11 @@
From a5a9737c0c6edf17eecb16a923a936432f11019e Mon Sep 17 00:00:00 2001 From f2b7e396c43d3607ee0a0090c7470da50f833e93 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Sat, 27 May 2017 19:02:06 +0200 Date: Sat, 27 May 2017 19:02:06 +0200
Subject: [PATCH 046/269] net/core: disable NET_RX_BUSY_POLL Subject: [PATCH 046/283] net/core: disable NET_RX_BUSY_POLL
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
sk_busy_loop() does preempt_disable() followed by a few operations which can sk_busy_loop() does preempt_disable() followed by a few operations which can
take sleeping locks and may get long. take sleeping locks and may get long.

View File

@ -1,8 +1,8 @@
From 0db6c523b2591dbf527c759ef1b3718f96bc3c29 Mon Sep 17 00:00:00 2001 From 477660c22f2036e69299438b1292307ee1dba46b Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 1 Dec 2017 10:42:03 +0100 Date: Fri, 1 Dec 2017 10:42:03 +0100
Subject: [PATCH 047/269] arm*: disable NEON in kernel mode Subject: [PATCH 047/283] arm*: disable NEON in kernel mode
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
NEON in kernel mode is used by the crypto algorithms and raid6 code. NEON in kernel mode is used by the crypto algorithms and raid6 code.
While the raid6 code looks okay, the crypto algorithms do not: NEON While the raid6 code looks okay, the crypto algorithms do not: NEON
@ -21,10 +21,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
3 files changed, 17 insertions(+), 16 deletions(-) 3 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 27a5f0b9ddc7..91f4f80a6f24 100644 index 7d11242a37d2..e122dd212ab3 100644
--- a/arch/arm/Kconfig --- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig +++ b/arch/arm/Kconfig
@@ -2161,7 +2161,7 @@ config NEON @@ -2162,7 +2162,7 @@ config NEON
config KERNEL_MODE_NEON config KERNEL_MODE_NEON
bool "Support for NEON in kernel mode" bool "Support for NEON in kernel mode"

View File

@ -1,8 +1,8 @@
From 24bc2177006a16588c79a438ba84122ec215135a Mon Sep 17 00:00:00 2001 From 297ef639cbc4bc3aac2e5a8835090136753796fc Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 14 Jul 2015 14:26:34 +0200 Date: Tue, 14 Jul 2015 14:26:34 +0200
Subject: [PATCH 048/269] powerpc: Use generic rwsem on RT Subject: [PATCH 048/283] powerpc: Use generic rwsem on RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Use generic code which uses rtmutex Use generic code which uses rtmutex

View File

@ -1,9 +1,9 @@
From 86dd7e931e1f812e0fc9b44545ed1f9ffc80dcae Mon Sep 17 00:00:00 2001 From 3bead4e3fc7560659c1982ace99de374aa9df79c Mon Sep 17 00:00:00 2001
From: Bogdan Purcareata <bogdan.purcareata@freescale.com> From: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Date: Fri, 24 Apr 2015 15:53:13 +0000 Date: Fri, 24 Apr 2015 15:53:13 +0000
Subject: [PATCH 049/269] powerpc/kvm: Disable in-kernel MPIC emulation for Subject: [PATCH 049/283] powerpc/kvm: Disable in-kernel MPIC emulation for
PREEMPT_RT_FULL PREEMPT_RT_FULL
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
While converting the openpic emulation code to use a raw_spinlock_t enables While converting the openpic emulation code to use a raw_spinlock_t enables
guests to run on RT, there's still a performance issue. For interrupts sent in guests to run on RT, there's still a performance issue. For interrupts sent in

View File

@ -1,8 +1,8 @@
From f5b4401c967f9ead16662b347d2082f8f2743205 Mon Sep 17 00:00:00 2001 From ae9000e3c66794249fbca61b8a71bcdf690910e0 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 17:08:34 +0200 Date: Mon, 18 Jul 2011 17:08:34 +0200
Subject: [PATCH 050/269] powerpc: Disable highmem on RT Subject: [PATCH 050/283] powerpc: Disable highmem on RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The current highmem handling on -RT is not compatible and needs fixups. The current highmem handling on -RT is not compatible and needs fixups.

View File

@ -1,8 +1,8 @@
From 29b46bfd781d871ae857c940e6ef76454bf356c2 Mon Sep 17 00:00:00 2001 From 454e636edd0bb26495afb3850a37aa5e5214a4ed Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 17:10:12 +0200 Date: Mon, 18 Jul 2011 17:10:12 +0200
Subject: [PATCH 051/269] mips: Disable highmem on RT Subject: [PATCH 051/283] mips: Disable highmem on RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The current highmem handling on -RT is not compatible and needs fixups. The current highmem handling on -RT is not compatible and needs fixups.

View File

@ -1,8 +1,8 @@
From 789344b11534d2799fbc807496846f21869124b5 Mon Sep 17 00:00:00 2001 From 5c86aec91ae10f140d18bd33cd62783cdde0922d Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 26 Jul 2009 02:21:32 +0200 Date: Sun, 26 Jul 2009 02:21:32 +0200
Subject: [PATCH 052/269] x86: Use generic rwsem_spinlocks on -rt Subject: [PATCH 052/283] x86: Use generic rwsem_spinlocks on -rt
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Simplifies the separation of anon_rw_semaphores and rw_semaphores for Simplifies the separation of anon_rw_semaphores and rw_semaphores for
-rt. -rt.

View File

@ -1,8 +1,8 @@
From 7554227ac04319dadc334245535dd1d21d258de0 Mon Sep 17 00:00:00 2001 From 9cd1a715d85ace3e9b1d3ae703eb16744dd3ebb6 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 23 Jan 2014 14:45:59 +0100 Date: Thu, 23 Jan 2014 14:45:59 +0100
Subject: [PATCH 053/269] leds: trigger: disable CPU trigger on -RT Subject: [PATCH 053/283] leds: trigger: disable CPU trigger on -RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
as it triggers: as it triggers:
|CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.8-rt10 #141 |CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.8-rt10 #141

View File

@ -1,8 +1,8 @@
From 57c3607ed990ada1d1636542d00bd3ed95e243da Mon Sep 17 00:00:00 2001 From f19ffb87fe48ba1e8904df670b13d52f8b9c08f1 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 9 Apr 2015 15:23:01 +0200 Date: Thu, 9 Apr 2015 15:23:01 +0200
Subject: [PATCH 054/269] cpufreq: drop K8's driver from beeing selected Subject: [PATCH 054/283] cpufreq: drop K8's driver from beeing selected
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Ralf posted a picture of a backtrace from Ralf posted a picture of a backtrace from

View File

@ -1,11 +1,11 @@
From 53eb768ccfb675d61d67bd236402aa90434a6923 Mon Sep 17 00:00:00 2001 From 3b1c3bc41b87cd7a714ebfa5e88651d4f3326f2e Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 29 Aug 2013 11:48:57 +0200 Date: Thu, 29 Aug 2013 11:48:57 +0200
Subject: [PATCH 055/269] md: disable bcache Subject: [PATCH 055/283] md: disable bcache
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
It uses anon semaphores It uses anon semaphores
|drivers/md/bcache/request.c: In function cached_dev_write_complete: |drivers/md/bcache/request.c: In function cached_dev_write_complete:

View File

@ -1,8 +1,8 @@
From 62309a1da779bde384a7645a7d3e2713520a76da Mon Sep 17 00:00:00 2001 From f0e7a6e0f76d2ab27a0c5ef0f7872d971ec1dd23 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 26 Jul 2018 15:03:16 +0200 Date: Thu, 26 Jul 2018 15:03:16 +0200
Subject: [PATCH 056/269] efi: Disable runtime services on RT Subject: [PATCH 056/283] efi: Disable runtime services on RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Based on meassurements the EFI functions get_variable / Based on meassurements the EFI functions get_variable /
get_next_variable take up to 2us which looks okay. get_next_variable take up to 2us which looks okay.

View File

@ -1,8 +1,8 @@
From 09acfc4d67168f054485eb40955069fa2390a5ec Mon Sep 17 00:00:00 2001 From d1e9e20fe16f16a1665eabaa44a0f1c2a4cebfec Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 22 Jul 2011 17:58:40 +0200 Date: Fri, 22 Jul 2011 17:58:40 +0200
Subject: [PATCH 057/269] printk: Add a printk kill switch Subject: [PATCH 057/283] printk: Add a printk kill switch
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Add a prinkt-kill-switch. This is used from (NMI) watchdog to ensure that Add a prinkt-kill-switch. This is used from (NMI) watchdog to ensure that
it does not dead-lock with the early printk code. it does not dead-lock with the early printk code.

View File

@ -1,9 +1,9 @@
From 3dd75cbf0c1ddd8dc0a7c0492e86f7293a730145 Mon Sep 17 00:00:00 2001 From 3d881bc012788bea38e0bf55b03d9996eb40b1b9 Mon Sep 17 00:00:00 2001
From: Peter Zijlstra <peterz@infradead.org> From: Peter Zijlstra <peterz@infradead.org>
Date: Fri, 2 Sep 2011 14:41:29 +0200 Date: Fri, 2 Sep 2011 14:41:29 +0200
Subject: [PATCH 058/269] printk: Add "force_early_printk" boot param to help Subject: [PATCH 058/283] printk: Add "force_early_printk" boot param to help
with debugging with debugging
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Gives me an option to screw printk and actually see what the machine Gives me an option to screw printk and actually see what the machine
says. says.

View File

@ -1,8 +1,8 @@
From 31772df387205be3a95e3d0bc21b7b81a244f6df Mon Sep 17 00:00:00 2001 From 6a3ec551d9ea7e49f20d8f9d3d45fb8d9ca1b720 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 24 Jul 2009 12:38:56 +0200 Date: Fri, 24 Jul 2009 12:38:56 +0200
Subject: [PATCH 059/269] preempt: Provide preempt_*_(no)rt variants Subject: [PATCH 059/283] preempt: Provide preempt_*_(no)rt variants
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
RT needs a few preempt_disable/enable points which are not necessary RT needs a few preempt_disable/enable points which are not necessary
otherwise. Implement variants to avoid #ifdeffery. otherwise. Implement variants to avoid #ifdeffery.

View File

@ -1,9 +1,9 @@
From c78bd62f56b86aa7717ac7a79e288fa8b3978573 Mon Sep 17 00:00:00 2001 From 02487d0393920e03426a2378e40bc7547193c3aa Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 8 Mar 2017 14:23:35 +0100 Date: Wed, 8 Mar 2017 14:23:35 +0100
Subject: [PATCH 060/269] futex: workaround migrate_disable/enable in different Subject: [PATCH 060/283] futex: workaround migrate_disable/enable in different
context context
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
migrate_disable()/migrate_enable() takes a different path in atomic() vs migrate_disable()/migrate_enable() takes a different path in atomic() vs
!atomic() context. These little hacks ensure that we don't underflow / overflow !atomic() context. These little hacks ensure that we don't underflow / overflow
@ -17,10 +17,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 19 insertions(+) 1 file changed, 19 insertions(+)
diff --git a/kernel/futex.c b/kernel/futex.c diff --git a/kernel/futex.c b/kernel/futex.c
index 5a26d843a015..1bd0950bea4e 100644 index afdc5eadce6e..304f07d08c95 100644
--- a/kernel/futex.c --- a/kernel/futex.c
+++ b/kernel/futex.c +++ b/kernel/futex.c
@@ -2859,6 +2859,14 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, @@ -2876,6 +2876,14 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags,
* before __rt_mutex_start_proxy_lock() is done. * before __rt_mutex_start_proxy_lock() is done.
*/ */
raw_spin_lock_irq(&q.pi_state->pi_mutex.wait_lock); raw_spin_lock_irq(&q.pi_state->pi_mutex.wait_lock);
@ -35,7 +35,7 @@ index 5a26d843a015..1bd0950bea4e 100644
spin_unlock(q.lock_ptr); spin_unlock(q.lock_ptr);
/* /*
* __rt_mutex_start_proxy_lock() unconditionally enqueues the @rt_waiter * __rt_mutex_start_proxy_lock() unconditionally enqueues the @rt_waiter
@@ -2867,6 +2875,7 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, @@ -2884,6 +2892,7 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags,
*/ */
ret = __rt_mutex_start_proxy_lock(&q.pi_state->pi_mutex, &rt_waiter, current); ret = __rt_mutex_start_proxy_lock(&q.pi_state->pi_mutex, &rt_waiter, current);
raw_spin_unlock_irq(&q.pi_state->pi_mutex.wait_lock); raw_spin_unlock_irq(&q.pi_state->pi_mutex.wait_lock);
@ -43,7 +43,7 @@ index 5a26d843a015..1bd0950bea4e 100644
if (ret) { if (ret) {
if (ret == 1) if (ret == 1)
@@ -3015,11 +3024,21 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) @@ -3032,11 +3041,21 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags)
* rt_waiter. Also see the WARN in wake_futex_pi(). * rt_waiter. Also see the WARN in wake_futex_pi().
*/ */
raw_spin_lock_irq(&pi_state->pi_mutex.wait_lock); raw_spin_lock_irq(&pi_state->pi_mutex.wait_lock);

View File

@ -1,8 +1,8 @@
From 5b811e266fa9c293395c73c7a21e7e5c5a51deb1 Mon Sep 17 00:00:00 2001 From 1e4195bafdb198d778c98aece678c7b16cd035c8 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 20 Jun 2011 09:03:47 +0200 Date: Mon, 20 Jun 2011 09:03:47 +0200
Subject: [PATCH 061/269] rt: Add local irq locks Subject: [PATCH 061/283] rt: Add local irq locks
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Introduce locallock. For !RT this maps to preempt_disable()/ Introduce locallock. For !RT this maps to preempt_disable()/
local_irq_disable() so there is not much that changes. For RT this will local_irq_disable() so there is not much that changes. For RT this will

View File

@ -1,8 +1,8 @@
From 251ca7087d744d8b174f8488d2f7ea42cedaccf3 Mon Sep 17 00:00:00 2001 From 58ee9341c0c3521cdb41239c83807a98cef97bd0 Mon Sep 17 00:00:00 2001
From: Julia Cartwright <julia@ni.com> From: Julia Cartwright <julia@ni.com>
Date: Mon, 7 May 2018 08:58:56 -0500 Date: Mon, 7 May 2018 08:58:56 -0500
Subject: [PATCH 062/269] locallock: provide {get,put}_locked_ptr() variants Subject: [PATCH 062/283] locallock: provide {get,put}_locked_ptr() variants
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Provide a set of locallocked accessors for pointers to per-CPU data; Provide a set of locallocked accessors for pointers to per-CPU data;
this is useful for dynamically-allocated per-CPU regions, for example. this is useful for dynamically-allocated per-CPU regions, for example.

View File

@ -1,8 +1,8 @@
From bdf1c5db6f1c5d8fe706592f9373849948d65813 Mon Sep 17 00:00:00 2001 From a6c38f0b349a8921a1bfe4dcef5972cf1e2224a0 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 3 Jul 2009 08:44:34 -0500 Date: Fri, 3 Jul 2009 08:44:34 -0500
Subject: [PATCH 063/269] mm/scatterlist: Do not disable irqs on RT Subject: [PATCH 063/283] mm/scatterlist: Do not disable irqs on RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
For -RT it is enough to keep pagefault disabled (which is currently handled by For -RT it is enough to keep pagefault disabled (which is currently handled by
kmap_atomic()). kmap_atomic()).

View File

@ -1,8 +1,8 @@
From d892f2116baf1643d4d3c792231c687fa49b71ce Mon Sep 17 00:00:00 2001 From f994c5279fb1173131e67419c540713cd25a59e3 Mon Sep 17 00:00:00 2001
From: Oleg Nesterov <oleg@redhat.com> From: Oleg Nesterov <oleg@redhat.com>
Date: Tue, 14 Jul 2015 14:26:34 +0200 Date: Tue, 14 Jul 2015 14:26:34 +0200
Subject: [PATCH 064/269] signal/x86: Delay calling signals in atomic Subject: [PATCH 064/283] signal/x86: Delay calling signals in atomic
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
On x86_64 we must disable preemption before we enable interrupts On x86_64 we must disable preemption before we enable interrupts
for stack faults, int3 and debugging, because the current task is using for stack faults, int3 and debugging, because the current task is using
@ -38,10 +38,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
4 files changed, 59 insertions(+), 2 deletions(-) 4 files changed, 59 insertions(+), 2 deletions(-)
diff --git a/arch/x86/entry/common.c b/arch/x86/entry/common.c diff --git a/arch/x86/entry/common.c b/arch/x86/entry/common.c
index 3b2490b81918..ec46ee700791 100644 index 8353348ddeaf..91676b0d2d4c 100644
--- a/arch/x86/entry/common.c --- a/arch/x86/entry/common.c
+++ b/arch/x86/entry/common.c +++ b/arch/x86/entry/common.c
@@ -151,6 +151,13 @@ static void exit_to_usermode_loop(struct pt_regs *regs, u32 cached_flags) @@ -152,6 +152,13 @@ static void exit_to_usermode_loop(struct pt_regs *regs, u32 cached_flags)
if (cached_flags & _TIF_NEED_RESCHED) if (cached_flags & _TIF_NEED_RESCHED)
schedule(); schedule();
@ -95,7 +95,7 @@ index df39ad5916e7..535e57775208 100644
size_t sas_ss_size; size_t sas_ss_size;
unsigned int sas_ss_flags; unsigned int sas_ss_flags;
diff --git a/kernel/signal.c b/kernel/signal.c diff --git a/kernel/signal.c b/kernel/signal.c
index f29def2be652..57c48b3d1491 100644 index d5a9646b3538..56edb0580a3a 100644
--- a/kernel/signal.c --- a/kernel/signal.c
+++ b/kernel/signal.c +++ b/kernel/signal.c
@@ -1268,8 +1268,8 @@ int do_send_sig_info(int sig, struct siginfo *info, struct task_struct *p, @@ -1268,8 +1268,8 @@ int do_send_sig_info(int sig, struct siginfo *info, struct task_struct *p,

View File

@ -1,8 +1,8 @@
From 6828880f532efdf1ded1248f5e0ea555e9520eda Mon Sep 17 00:00:00 2001 From 77f58646e4722365c6b6b91802d5feddd57dff34 Mon Sep 17 00:00:00 2001
From: Yang Shi <yang.shi@linaro.org> From: Yang Shi <yang.shi@linaro.org>
Date: Thu, 10 Dec 2015 10:58:51 -0800 Date: Thu, 10 Dec 2015 10:58:51 -0800
Subject: [PATCH 065/269] x86/signal: delay calling signals on 32bit Subject: [PATCH 065/283] x86/signal: delay calling signals on 32bit
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
When running some ptrace single step tests on x86-32 machine, the below problem When running some ptrace single step tests on x86-32 machine, the below problem
is triggered: is triggered:

View File

@ -1,8 +1,8 @@
From 651a49976e8e481190cc465a5590940a6f6bbcf9 Mon Sep 17 00:00:00 2001 From 86a1cbd4eddbe083ad0331f0eeec002f6fa7b322 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 18 Mar 2011 09:18:52 +0100 Date: Fri, 18 Mar 2011 09:18:52 +0100
Subject: [PATCH 066/269] buffer_head: Replace bh_uptodate_lock for -rt Subject: [PATCH 066/283] buffer_head: Replace bh_uptodate_lock for -rt
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Wrap the bit_spin_lock calls into a separate inline and add the RT Wrap the bit_spin_lock calls into a separate inline and add the RT
replacements with a real spinlock. replacements with a real spinlock.

View File

@ -1,9 +1,9 @@
From 6107effb93a85ff7db4857dca4a0acc2ec4a7d5c Mon Sep 17 00:00:00 2001 From a0ac5bf9b179bff5745bd4c15d14cb2ec5c81c16 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 18 Mar 2011 10:11:25 +0100 Date: Fri, 18 Mar 2011 10:11:25 +0100
Subject: [PATCH 067/269] fs: jbd/jbd2: Make state lock and journal head lock Subject: [PATCH 067/283] fs: jbd/jbd2: Make state lock and journal head lock
rt safe rt safe
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
bit_spin_locks break under RT. bit_spin_locks break under RT.
@ -45,7 +45,7 @@ index 8a1bcfb145d7..5869330d1f38 100644
} }
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h
index b708e5169d1d..018665350951 100644 index 583b82b5a1e9..57f4ad8d45a5 100644
--- a/include/linux/jbd2.h --- a/include/linux/jbd2.h
+++ b/include/linux/jbd2.h +++ b/include/linux/jbd2.h
@@ -347,32 +347,56 @@ static inline struct journal_head *bh2jh(struct buffer_head *bh) @@ -347,32 +347,56 @@ static inline struct journal_head *bh2jh(struct buffer_head *bh)

View File

@ -1,8 +1,8 @@
From 44a67462ebab9e354cfa669144248912fa92ca24 Mon Sep 17 00:00:00 2001 From 575440eb3e514693de4892b3589bd02b584834ef Mon Sep 17 00:00:00 2001
From: Paul Gortmaker <paul.gortmaker@windriver.com> From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Fri, 21 Jun 2013 15:07:25 -0400 Date: Fri, 21 Jun 2013 15:07:25 -0400
Subject: [PATCH 068/269] list_bl: Make list head locking RT safe Subject: [PATCH 068/283] list_bl: Make list head locking RT safe
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
As per changes in include/linux/jbd_common.h for avoiding the As per changes in include/linux/jbd_common.h for avoiding the
bit_spin_locks on RT ("fs: jbd/jbd2: Make state lock and journal bit_spin_locks on RT ("fs: jbd/jbd2: Make state lock and journal

View File

@ -1,8 +1,8 @@
From 20f64514264a9d0ea1533f4743f542a1fb056a16 Mon Sep 17 00:00:00 2001 From 386260fdddeed151902355b8c816f9b166c1c2b8 Mon Sep 17 00:00:00 2001
From: Josh Cartwright <joshc@ni.com> From: Josh Cartwright <joshc@ni.com>
Date: Thu, 31 Mar 2016 00:04:25 -0500 Date: Thu, 31 Mar 2016 00:04:25 -0500
Subject: [PATCH 069/269] list_bl: fixup bogus lockdep warning Subject: [PATCH 069/283] list_bl: fixup bogus lockdep warning
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
At first glance, the use of 'static inline' seems appropriate for At first glance, the use of 'static inline' seems appropriate for
INIT_HLIST_BL_HEAD(). INIT_HLIST_BL_HEAD().

View File

@ -1,8 +1,8 @@
From 7520cd851f5733f5e69fe73008893f4be48506f9 Mon Sep 17 00:00:00 2001 From d884d2bff2d643468c5e37727aa29e8f5c88b3be Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:57 -0500 Date: Fri, 3 Jul 2009 08:29:57 -0500
Subject: [PATCH 070/269] genirq: Disable irqpoll on -rt Subject: [PATCH 070/283] genirq: Disable irqpoll on -rt
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Creates long latencies for no value Creates long latencies for no value

View File

@ -1,8 +1,8 @@
From 22860bd2c33dc3abc1b0aa695f8f455595762a93 Mon Sep 17 00:00:00 2001 From 91f768aed73cc93826112811b4e622dce0c1915f Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 3 Apr 2011 11:57:29 +0200 Date: Sun, 3 Apr 2011 11:57:29 +0200
Subject: [PATCH 071/269] genirq: Force interrupt thread on RT Subject: [PATCH 071/283] genirq: Force interrupt thread on RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Force threaded_irqs and optimize the code (force_irqthreads) in regard Force threaded_irqs and optimize the code (force_irqthreads) in regard
to this. to this.
@ -13,11 +13,9 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/irq/manage.c | 2 ++ kernel/irq/manage.c | 2 ++
2 files changed, 6 insertions(+) 2 files changed, 6 insertions(+)
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index eeceac3376fc..315f852b4981 100644
--- a/include/linux/interrupt.h --- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h +++ b/include/linux/interrupt.h
@@ -427,7 +427,11 @@ extern int irq_set_irqchip_state(unsigned int irq, enum irqchip_irq_state which, @@ -427,7 +427,11 @@ extern int irq_set_irqchip_state(unsigne
bool state); bool state);
#ifdef CONFIG_IRQ_FORCED_THREADING #ifdef CONFIG_IRQ_FORCED_THREADING
@ -29,11 +27,9 @@ index eeceac3376fc..315f852b4981 100644
#else #else
#define force_irqthreads (0) #define force_irqthreads (0)
#endif #endif
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 5c0ba5ca5930..94a18cf54293 100644
--- a/kernel/irq/manage.c --- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c +++ b/kernel/irq/manage.c
@@ -23,6 +23,7 @@ @@ -24,6 +24,7 @@
#include "internals.h" #include "internals.h"
#ifdef CONFIG_IRQ_FORCED_THREADING #ifdef CONFIG_IRQ_FORCED_THREADING
@ -41,14 +37,11 @@ index 5c0ba5ca5930..94a18cf54293 100644
__read_mostly bool force_irqthreads; __read_mostly bool force_irqthreads;
EXPORT_SYMBOL_GPL(force_irqthreads); EXPORT_SYMBOL_GPL(force_irqthreads);
@@ -32,6 +33,7 @@ static int __init setup_forced_irqthreads(char *arg) @@ -33,6 +34,7 @@ static int __init setup_forced_irqthread
return 0; return 0;
} }
early_param("threadirqs", setup_forced_irqthreads); early_param("threadirqs", setup_forced_irqthreads);
+# endif +# endif
#endif #endif
static void __synchronize_hardirq(struct irq_desc *desc) static void __synchronize_hardirq(struct irq_desc *desc, bool sync_chip)
--
2.20.1

View File

@ -1,9 +1,9 @@
From 3c22477fe8ef4919a3fb0314834751ad2e2134d8 Mon Sep 17 00:00:00 2001 From 6ec0e8d1526370de73bd18c096f7f96827594308 Mon Sep 17 00:00:00 2001
From: Peter Zijlstra <peterz@infradead.org> From: Peter Zijlstra <peterz@infradead.org>
Date: Mon, 28 May 2018 15:24:20 +0200 Date: Mon, 28 May 2018 15:24:20 +0200
Subject: [PATCH 072/269] Split IRQ-off and zone->lock while freeing pages from Subject: [PATCH 072/283] Split IRQ-off and zone->lock while freeing pages from
PCP list #1 PCP list #1
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Split the IRQ-off section while accessing the PCP list from zone->lock Split the IRQ-off section while accessing the PCP list from zone->lock
while freeing pages. while freeing pages.
@ -18,7 +18,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 52 insertions(+), 30 deletions(-) 1 file changed, 52 insertions(+), 30 deletions(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 8e6932a140b8..8c10f34364c0 100644 index 2d04bd2e1ced..332b48f38d1e 100644
--- a/mm/page_alloc.c --- a/mm/page_alloc.c
+++ b/mm/page_alloc.c +++ b/mm/page_alloc.c
@@ -1095,7 +1095,7 @@ static inline void prefetch_buddy(struct page *page) @@ -1095,7 +1095,7 @@ static inline void prefetch_buddy(struct page *page)

View File

@ -1,9 +1,9 @@
From e4639c8f6abcfb4b8b26aa296089349739103578 Mon Sep 17 00:00:00 2001 From f9efb76f365f15eaca8f29ee7f2648de90925a76 Mon Sep 17 00:00:00 2001
From: Peter Zijlstra <peterz@infradead.org> From: Peter Zijlstra <peterz@infradead.org>
Date: Mon, 28 May 2018 15:24:21 +0200 Date: Mon, 28 May 2018 15:24:21 +0200
Subject: [PATCH 073/269] Split IRQ-off and zone->lock while freeing pages from Subject: [PATCH 073/283] Split IRQ-off and zone->lock while freeing pages from
PCP list #2 PCP list #2
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Split the IRQ-off section while accessing the PCP list from zone->lock Split the IRQ-off section while accessing the PCP list from zone->lock
while freeing pages. while freeing pages.
@ -18,7 +18,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 50 insertions(+), 10 deletions(-) 1 file changed, 50 insertions(+), 10 deletions(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 8c10f34364c0..4d630aebd84f 100644 index 332b48f38d1e..55cee9a17a36 100644
--- a/mm/page_alloc.c --- a/mm/page_alloc.c
+++ b/mm/page_alloc.c +++ b/mm/page_alloc.c
@@ -1105,8 +1105,8 @@ static inline void prefetch_buddy(struct page *page) @@ -1105,8 +1105,8 @@ static inline void prefetch_buddy(struct page *page)

View File

@ -1,8 +1,8 @@
From 21da9341b8a6c5d9308bf0c2fa3fe4647749f125 Mon Sep 17 00:00:00 2001 From 302fcfd8e9527e8f7b6ec9d733a5a3a760af64ef Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 28 May 2018 15:24:22 +0200 Date: Mon, 28 May 2018 15:24:22 +0200
Subject: [PATCH 074/269] mm/SLxB: change list_lock to raw_spinlock_t Subject: [PATCH 074/283] mm/SLxB: change list_lock to raw_spinlock_t
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The list_lock is used with used with IRQs off on RT. Make it a raw_spinlock_t The list_lock is used with used with IRQs off on RT. Make it a raw_spinlock_t
otherwise the interrupts won't be disabled on -RT. The locking rules remain otherwise the interrupts won't be disabled on -RT. The locking rules remain
@ -19,7 +19,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
3 files changed, 73 insertions(+), 73 deletions(-) 3 files changed, 73 insertions(+), 73 deletions(-)
diff --git a/mm/slab.c b/mm/slab.c diff --git a/mm/slab.c b/mm/slab.c
index b8e0ec74330f..21fe15fb9624 100644 index 46f21e73db2f..38f6609343b3 100644
--- a/mm/slab.c --- a/mm/slab.c
+++ b/mm/slab.c +++ b/mm/slab.c
@@ -233,7 +233,7 @@ static void kmem_cache_node_init(struct kmem_cache_node *parent) @@ -233,7 +233,7 @@ static void kmem_cache_node_init(struct kmem_cache_node *parent)
@ -369,7 +369,7 @@ index b8e0ec74330f..21fe15fb9624 100644
} }
num_objs = total_slabs * cachep->num; num_objs = total_slabs * cachep->num;
active_slabs = total_slabs - free_slabs; active_slabs = total_slabs - free_slabs;
@@ -4333,13 +4333,13 @@ static int leaks_show(struct seq_file *m, void *p) @@ -4338,13 +4338,13 @@ static int leaks_show(struct seq_file *m, void *p)
for_each_kmem_cache_node(cachep, node, n) { for_each_kmem_cache_node(cachep, node, n) {
check_irq_on(); check_irq_on();

View File

@ -1,9 +1,9 @@
From 7950585d96adfc3a0b99a639041dbaed50e2a496 Mon Sep 17 00:00:00 2001 From 9da82885e5b9187857b5fdc2eaa482752e814fbc Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 21 Jun 2018 17:29:19 +0200 Date: Thu, 21 Jun 2018 17:29:19 +0200
Subject: [PATCH 075/269] mm/SLUB: delay giving back empty slubs to IRQ enabled Subject: [PATCH 075/283] mm/SLUB: delay giving back empty slubs to IRQ enabled
regions regions
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
__free_slab() is invoked with disabled interrupts which increases the __free_slab() is invoked with disabled interrupts which increases the
irq-off time while __free_pages() is doing the work. irq-off time while __free_pages() is doing the work.

View File

@ -1,8 +1,8 @@
From 31695882006c45fad86890ceff90dd7d65ea5dd3 Mon Sep 17 00:00:00 2001 From 4cd1dede47de27525631161fdc6cdfc9d8608c31 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:37 -0500 Date: Fri, 3 Jul 2009 08:29:37 -0500
Subject: [PATCH 076/269] mm: page_alloc: rt-friendly per-cpu pages Subject: [PATCH 076/283] mm: page_alloc: rt-friendly per-cpu pages
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
rt-friendly per-cpu pages: convert the irqs-off per-cpu locking rt-friendly per-cpu pages: convert the irqs-off per-cpu locking
method into a preemptible, explicit-per-cpu-locks method. method into a preemptible, explicit-per-cpu-locks method.
@ -18,7 +18,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 43 insertions(+), 20 deletions(-) 1 file changed, 43 insertions(+), 20 deletions(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 4d630aebd84f..4d11ec179aa7 100644 index 55cee9a17a36..99b3861b1ef6 100644
--- a/mm/page_alloc.c --- a/mm/page_alloc.c
+++ b/mm/page_alloc.c +++ b/mm/page_alloc.c
@@ -60,6 +60,7 @@ @@ -60,6 +60,7 @@
@ -216,7 +216,7 @@ index 4d630aebd84f..4d11ec179aa7 100644
return NULL; return NULL;
} }
@@ -8094,7 +8117,7 @@ void zone_pcp_reset(struct zone *zone) @@ -8096,7 +8119,7 @@ void zone_pcp_reset(struct zone *zone)
struct per_cpu_pageset *pset; struct per_cpu_pageset *pset;
/* avoid races with drain_pages() */ /* avoid races with drain_pages() */
@ -225,7 +225,7 @@ index 4d630aebd84f..4d11ec179aa7 100644
if (zone->pageset != &boot_pageset) { if (zone->pageset != &boot_pageset) {
for_each_online_cpu(cpu) { for_each_online_cpu(cpu) {
pset = per_cpu_ptr(zone->pageset, cpu); pset = per_cpu_ptr(zone->pageset, cpu);
@@ -8103,7 +8126,7 @@ void zone_pcp_reset(struct zone *zone) @@ -8105,7 +8128,7 @@ void zone_pcp_reset(struct zone *zone)
free_percpu(zone->pageset); free_percpu(zone->pageset);
zone->pageset = &boot_pageset; zone->pageset = &boot_pageset;
} }

View File

@ -1,8 +1,8 @@
From 25ce0ae0ad1ef1ed724757c0137241db28a8208d Mon Sep 17 00:00:00 2001 From 98c01e9756e741d807b1198eb885a26e0998fcde Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:51 -0500 Date: Fri, 3 Jul 2009 08:29:51 -0500
Subject: [PATCH 077/269] mm/swap: Convert to percpu locked Subject: [PATCH 077/283] mm/swap: Convert to percpu locked
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Replace global locks (get_cpu + local_irq_save) with "local_locks()". Replace global locks (get_cpu + local_irq_save) with "local_locks()".
Currently there is one of for "rotate" and one for "swap". Currently there is one of for "rotate" and one for "swap".
@ -56,10 +56,10 @@ index faca45ebe62d..f8ccb9d9daa3 100644
cc->last_migrated_pfn = 0; cc->last_migrated_pfn = 0;
} }
diff --git a/mm/page_alloc.c b/mm/page_alloc.c diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 4d11ec179aa7..a01c15fdb723 100644 index 99b3861b1ef6..1679f5883307 100644
--- a/mm/page_alloc.c --- a/mm/page_alloc.c
+++ b/mm/page_alloc.c +++ b/mm/page_alloc.c
@@ -7205,8 +7205,9 @@ void __init free_area_init(unsigned long *zones_size) @@ -7207,8 +7207,9 @@ void __init free_area_init(unsigned long *zones_size)
static int page_alloc_cpu_dead(unsigned int cpu) static int page_alloc_cpu_dead(unsigned int cpu)
{ {

View File

@ -1,8 +1,8 @@
From c6e0c51ac7fe1d0892449e41e6792babe4d7c3fa Mon Sep 17 00:00:00 2001 From f4f53c9fdf55676d783a4fbad5049f39401a0542 Mon Sep 17 00:00:00 2001
From: Luiz Capitulino <lcapitulino@redhat.com> From: Luiz Capitulino <lcapitulino@redhat.com>
Date: Fri, 27 May 2016 15:03:28 +0200 Date: Fri, 27 May 2016 15:03:28 +0200
Subject: [PATCH 078/269] mm: perform lru_add_drain_all() remotely Subject: [PATCH 078/283] mm: perform lru_add_drain_all() remotely
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
lru_add_drain_all() works by scheduling lru_add_drain_cpu() to run lru_add_drain_all() works by scheduling lru_add_drain_cpu() to run
on all CPUs that have non-empty LRU pagevecs and then waiting for on all CPUs that have non-empty LRU pagevecs and then waiting for

View File

@ -1,9 +1,9 @@
From b0971a2847fd9cd9f59eb19e6761f6800a33150d Mon Sep 17 00:00:00 2001 From 3e1b4a0068b41c1782264376379985fb992bd41e Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:30:13 -0500 Date: Fri, 3 Jul 2009 08:30:13 -0500
Subject: [PATCH 079/269] mm/vmstat: Protect per cpu variables with preempt Subject: [PATCH 079/283] mm/vmstat: Protect per cpu variables with preempt
disable on RT disable on RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Disable preemption on -RT for the vmstat code. On vanila the code runs in Disable preemption on -RT for the vmstat code. On vanila the code runs in
IRQ-off regions while on -RT it is not. "preempt_disable" ensures that the IRQ-off regions while on -RT it is not. "preempt_disable" ensures that the

View File

@ -1,9 +1,9 @@
From 1062ea19aa6e1c3dacb44d07747c89b4f66dadc2 Mon Sep 17 00:00:00 2001 From fb089e89b26bc5653a90d9983021813e15fa04d9 Mon Sep 17 00:00:00 2001
From: Frank Rowand <frank.rowand@am.sony.com> From: Frank Rowand <frank.rowand@am.sony.com>
Date: Sat, 1 Oct 2011 18:58:13 -0700 Date: Sat, 1 Oct 2011 18:58:13 -0700
Subject: [PATCH 080/269] ARM: Initialize split page table locks for vector Subject: [PATCH 080/283] ARM: Initialize split page table locks for vector
page page
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Without this patch, ARM can not use SPLIT_PTLOCK_CPUS if Without this patch, ARM can not use SPLIT_PTLOCK_CPUS if
PREEMPT_RT_FULL=y because vectors_user_mapping() creates a PREEMPT_RT_FULL=y because vectors_user_mapping() creates a

View File

@ -1,8 +1,8 @@
From 7bd789a93c5b97d553b15fd8e446228d23456aff Mon Sep 17 00:00:00 2001 From b01d03c695bcba2149713f4425c806b5b5e3410d Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 25 Oct 2012 10:32:35 +0100 Date: Thu, 25 Oct 2012 10:32:35 +0100
Subject: [PATCH 081/269] mm: Enable SLUB for RT Subject: [PATCH 081/283] mm: Enable SLUB for RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Avoid the memory allocation in IRQ section Avoid the memory allocation in IRQ section

View File

@ -1,8 +1,8 @@
From 11224977de88f7f3ddc92b29390c44fdf9a85820 Mon Sep 17 00:00:00 2001 From 14471a3281f661b8b8bccdb64820879a699fb2ad Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 9 Jan 2013 12:08:15 +0100 Date: Wed, 9 Jan 2013 12:08:15 +0100
Subject: [PATCH 082/269] slub: Enable irqs for __GFP_WAIT Subject: [PATCH 082/283] slub: Enable irqs for __GFP_WAIT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
SYSTEM_RUNNING might be too late for enabling interrupts. Allocations SYSTEM_RUNNING might be too late for enabling interrupts. Allocations
with GFP_WAIT can happen before that. So use this as an indicator. with GFP_WAIT can happen before that. So use this as an indicator.

View File

@ -1,8 +1,8 @@
From b8b912f1bb257eb44228b3bdb7652c4d6dcda56b Mon Sep 17 00:00:00 2001 From fb6bfe69057a4177f5f5b273cace7ea5cbb5f649 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 15 Apr 2015 19:00:47 +0200 Date: Wed, 15 Apr 2015 19:00:47 +0200
Subject: [PATCH 083/269] slub: Disable SLUB_CPU_PARTIAL Subject: [PATCH 083/283] slub: Disable SLUB_CPU_PARTIAL
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915 |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915
|in_atomic(): 1, irqs_disabled(): 0, pid: 87, name: rcuop/7 |in_atomic(): 1, irqs_disabled(): 0, pid: 87, name: rcuop/7
@ -37,10 +37,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/init/Kconfig b/init/Kconfig diff --git a/init/Kconfig b/init/Kconfig
index 707ca4d49944..68b4e39e421b 100644 index 61e8b531649b..b4e88fb19c26 100644
--- a/init/Kconfig --- a/init/Kconfig
+++ b/init/Kconfig +++ b/init/Kconfig
@@ -1698,7 +1698,7 @@ config SLAB_FREELIST_HARDENED @@ -1701,7 +1701,7 @@ config SLAB_FREELIST_HARDENED
config SLUB_CPU_PARTIAL config SLUB_CPU_PARTIAL
default y default y

View File

@ -1,9 +1,9 @@
From 107eee1a14857d0aecad3c1f56f8b4cabbadcf89 Mon Sep 17 00:00:00 2001 From b64de8d2bb376abf6af01c84a94e1a201aecc6ec Mon Sep 17 00:00:00 2001
From: Yang Shi <yang.shi@windriver.com> From: Yang Shi <yang.shi@windriver.com>
Date: Wed, 30 Oct 2013 11:48:33 -0700 Date: Wed, 30 Oct 2013 11:48:33 -0700
Subject: [PATCH 084/269] mm/memcontrol: Don't call schedule_work_on in Subject: [PATCH 084/283] mm/memcontrol: Don't call schedule_work_on in
preemption disabled context preemption disabled context
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The following trace is triggered when running ltp oom test cases: The following trace is triggered when running ltp oom test cases:

View File

@ -1,9 +1,9 @@
From b1fa5897c72583b68655f7eeca2e598dbfa8a0b5 Mon Sep 17 00:00:00 2001 From 3cb7dde3b41a847eefeac79763e46ce167c8521f Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 28 Jan 2015 17:14:16 +0100 Date: Wed, 28 Jan 2015 17:14:16 +0100
Subject: [PATCH 085/269] mm/memcontrol: Replace local_irq_disable with local Subject: [PATCH 085/283] mm/memcontrol: Replace local_irq_disable with local
locks locks
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
There are a few local_irq_disable() which then take sleeping locks. This There are a few local_irq_disable() which then take sleeping locks. This
patch converts them local locks. patch converts them local locks.

View File

@ -1,8 +1,8 @@
From 83e42c20f52f70e65d03b214fd9c8579b0128f47 Mon Sep 17 00:00:00 2001 From 50eae40f0475c039a273e2f5441f4ecda84d104e Mon Sep 17 00:00:00 2001
From: Mike Galbraith <umgwanakikbuti@gmail.com> From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Tue, 22 Mar 2016 11:16:09 +0100 Date: Tue, 22 Mar 2016 11:16:09 +0100
Subject: [PATCH 086/269] mm/zsmalloc: copy with get_cpu_var() and locking Subject: [PATCH 086/283] mm/zsmalloc: copy with get_cpu_var() and locking
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
get_cpu_var() disables preemption and triggers a might_sleep() splat later. get_cpu_var() disables preemption and triggers a might_sleep() splat later.
This is replaced with get_locked_var(). This is replaced with get_locked_var().

View File

@ -1,9 +1,9 @@
From 2543c80b6aadc59c70c6b6e912ed1e6a9965b3c0 Mon Sep 17 00:00:00 2001 From 3d625e1fb1f5adff8191330efe6d47017b0806bd Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 11 Dec 2018 21:53:43 +0100 Date: Tue, 11 Dec 2018 21:53:43 +0100
Subject: [PATCH 087/269] x86/mm/pat: disable preemption __split_large_page() Subject: [PATCH 087/283] x86/mm/pat: disable preemption __split_large_page()
after spin_lock() after spin_lock()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Commit "x86/mm/pat: Disable preemption around __flush_tlb_all()" added a Commit "x86/mm/pat: Disable preemption around __flush_tlb_all()" added a
warning if __flush_tlb_all() is invoked in preemptible context. On !RT warning if __flush_tlb_all() is invoked in preemptible context. On !RT

View File

@ -1,8 +1,8 @@
From 11c1fef6d646f26007271dd7486fe14176d6e6f6 Mon Sep 17 00:00:00 2001 From 0a7a65a5055b7a5a94c57ee2dc8404116cff804b Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 25 Jan 2017 16:34:27 +0100 Date: Wed, 25 Jan 2017 16:34:27 +0100
Subject: [PATCH 088/269] radix-tree: use local locks Subject: [PATCH 088/283] radix-tree: use local locks
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The preload functionality uses per-CPU variables and preempt-disable to The preload functionality uses per-CPU variables and preempt-disable to
ensure that it does not switch CPUs during its usage. This patch adds ensure that it does not switch CPUs during its usage. This patch adds

View File

@ -1,8 +1,8 @@
From 558451a44923dab908e500200b3f6f02fd6e4fae Mon Sep 17 00:00:00 2001 From 5bbf9de052f34cd8d685120f60da34937f2b0772 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:34 -0500 Date: Fri, 3 Jul 2009 08:29:34 -0500
Subject: [PATCH 089/269] timers: Prepare for full preemption Subject: [PATCH 089/283] timers: Prepare for full preemption
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
When softirqs can be preempted we need to make sure that cancelling When softirqs can be preempted we need to make sure that cancelling
the timer from the active thread can not deadlock vs. a running timer the timer from the active thread can not deadlock vs. a running timer
@ -30,7 +30,7 @@ index 7b066fd38248..54627d046b3a 100644
#else #else
# define del_timer_sync(t) del_timer(t) # define del_timer_sync(t) del_timer(t)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 9c4a9f0a627b..ddf6282d9780 100644 index 7a39d56f6a6b..5de80f29ef57 100644
--- a/kernel/sched/core.c --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -498,11 +498,14 @@ void resched_cpu(int cpu) @@ -498,11 +498,14 @@ void resched_cpu(int cpu)

View File

@ -1,8 +1,8 @@
From ea0ad5586875098798cbf5d53bb21f2a5b82e537 Mon Sep 17 00:00:00 2001 From 49f95baf1667e4853406b63d30062b94afff4a25 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 6 Nov 2011 12:26:18 +0100 Date: Sun, 6 Nov 2011 12:26:18 +0100
Subject: [PATCH 090/269] x86: kvm Require const tsc for RT Subject: [PATCH 090/283] x86: kvm Require const tsc for RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Non constant TSC is a nightmare on bare metal already, but with Non constant TSC is a nightmare on bare metal already, but with
virtualization it becomes a complete disaster because the workarounds virtualization it becomes a complete disaster because the workarounds
@ -15,10 +15,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 7 insertions(+) 1 file changed, 7 insertions(+)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 4a61e1609c97..0b4fd313b626 100644 index cea6568667c4..c90545667fd6 100644
--- a/arch/x86/kvm/x86.c --- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c
@@ -6725,6 +6725,13 @@ int kvm_arch_init(void *opaque) @@ -6756,6 +6756,13 @@ int kvm_arch_init(void *opaque)
goto out; goto out;
} }

View File

@ -1,8 +1,8 @@
From 8d76a7f3ba4284defc688a9131aa96e66eb1310a Mon Sep 17 00:00:00 2001 From 99fc3867798d14c5cff8c71c3872af84605d572d Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 4 Oct 2017 10:24:23 +0200 Date: Wed, 4 Oct 2017 10:24:23 +0200
Subject: [PATCH 091/269] pci/switchtec: Don't use completion's wait queue Subject: [PATCH 091/283] pci/switchtec: Don't use completion's wait queue
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The poll callback is using completion's wait_queue_head_t member and The poll callback is using completion's wait_queue_head_t member and
puts it in poll_wait() so the poll() caller gets a wakeup after command puts it in poll_wait() so the poll() caller gets a wakeup after command
@ -24,7 +24,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 13 insertions(+), 9 deletions(-) 1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c
index 37d0c15c9eeb..c396f3ef1852 100644 index 72db2e0ebced..77d4fb86d05b 100644
--- a/drivers/pci/switch/switchtec.c --- a/drivers/pci/switch/switchtec.c
+++ b/drivers/pci/switch/switchtec.c +++ b/drivers/pci/switch/switchtec.c
@@ -43,10 +43,11 @@ struct switchtec_user { @@ -43,10 +43,11 @@ struct switchtec_user {

View File

@ -1,11 +1,11 @@
From f8a4f74be5bbce9f9664ebf005bb35f26875858f Mon Sep 17 00:00:00 2001 From 88037fc07062d469557427c97507d3f95d7ca3a6 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 28 Oct 2013 12:19:57 +0100 Date: Mon, 28 Oct 2013 12:19:57 +0100
Subject: [PATCH 092/269] wait.h: include atomic.h Subject: [PATCH 092/283] wait.h: include atomic.h
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
| CC init/main.o | CC init/main.o
|In file included from include/linux/mmzone.h:9:0, |In file included from include/linux/mmzone.h:9:0,

View File

@ -1,8 +1,8 @@
From 7cf55f71248f4f3c603383a84c73c5e44bfb9229 Mon Sep 17 00:00:00 2001 From 67478d9c6704de32600fd4363f3853bcdffcf391 Mon Sep 17 00:00:00 2001
From: Daniel Wagner <daniel.wagner@bmw-carit.de> From: Daniel Wagner <daniel.wagner@bmw-carit.de>
Date: Fri, 11 Jul 2014 15:26:11 +0200 Date: Fri, 11 Jul 2014 15:26:11 +0200
Subject: [PATCH 093/269] work-simple: Simple work queue implemenation Subject: [PATCH 093/283] work-simple: Simple work queue implemenation
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Provides a framework for enqueuing callbacks from irq context Provides a framework for enqueuing callbacks from irq context
PREEMPT_RT_FULL safe. The callbacks are executed in kthread context. PREEMPT_RT_FULL safe. The callbacks are executed in kthread context.

View File

@ -1,9 +1,9 @@
From ba25a567c5891e2b1acd586212b0fd92ce755e71 Mon Sep 17 00:00:00 2001 From 147a7822bfe8f027b88fa0ca82ae0d210e57bf34 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 10 Sep 2018 18:00:31 +0200 Date: Mon, 10 Sep 2018 18:00:31 +0200
Subject: [PATCH 094/269] work-simple: drop a shit statement in Subject: [PATCH 094/283] work-simple: drop a shit statement in
SWORK_EVENT_PENDING SWORK_EVENT_PENDING
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Dan Carpenter reported Dan Carpenter reported
| smatch warnings: | smatch warnings:

View File

@ -1,8 +1,8 @@
From d24dfe04ec75d5329d870c0d20f56f2cba4563ec Mon Sep 17 00:00:00 2001 From 334dc78522991ee04c4704a53d24f0009be71172 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 11 Jan 2013 11:23:51 +0100 Date: Fri, 11 Jan 2013 11:23:51 +0100
Subject: [PATCH 095/269] completion: Use simple wait queues Subject: [PATCH 095/283] completion: Use simple wait queues
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Completions have no long lasting callbacks and therefor do not need Completions have no long lasting callbacks and therefor do not need
the complex waitqueue variant. Use simple waitqueues which reduces the the complex waitqueue variant. Use simple waitqueues which reduces the
@ -161,10 +161,10 @@ index 73e06e9986d4..f426a0661aa0 100644
extern long prepare_to_swait_event(struct swait_queue_head *q, struct swait_queue *wait, int state); extern long prepare_to_swait_event(struct swait_queue_head *q, struct swait_queue *wait, int state);
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
index abef759de7c8..69e418787f21 100644 index f5ce9f7ec132..0f00ba01376f 100644
--- a/kernel/power/hibernate.c --- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c +++ b/kernel/power/hibernate.c
@@ -681,6 +681,10 @@ static int load_image_and_restore(void) @@ -690,6 +690,10 @@ static int load_image_and_restore(void)
return error; return error;
} }
@ -175,7 +175,7 @@ index abef759de7c8..69e418787f21 100644
/** /**
* hibernate - Carry out system hibernation, including saving the image. * hibernate - Carry out system hibernation, including saving the image.
*/ */
@@ -694,6 +698,8 @@ int hibernate(void) @@ -703,6 +707,8 @@ int hibernate(void)
return -EPERM; return -EPERM;
} }
@ -184,7 +184,7 @@ index abef759de7c8..69e418787f21 100644
lock_system_sleep(); lock_system_sleep();
/* The snapshot device should not be opened while we're running */ /* The snapshot device should not be opened while we're running */
if (!atomic_add_unless(&snapshot_device_available, -1, 0)) { if (!atomic_add_unless(&snapshot_device_available, -1, 0)) {
@@ -772,6 +778,7 @@ int hibernate(void) @@ -781,6 +787,7 @@ int hibernate(void)
atomic_inc(&snapshot_device_available); atomic_inc(&snapshot_device_available);
Unlock: Unlock:
unlock_system_sleep(); unlock_system_sleep();
@ -320,10 +320,10 @@ index a1ad5b7d5521..755a58084978 100644
} }
EXPORT_SYMBOL(completion_done); EXPORT_SYMBOL(completion_done);
diff --git a/kernel/sched/core.c b/kernel/sched/core.c diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index ddf6282d9780..8272d920b749 100644 index 5de80f29ef57..337cc72e6a6a 100644
--- a/kernel/sched/core.c --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -7109,7 +7109,10 @@ void migrate_disable(void) @@ -7116,7 +7116,10 @@ void migrate_disable(void)
return; return;
} }
#ifdef CONFIG_SCHED_DEBUG #ifdef CONFIG_SCHED_DEBUG
@ -335,7 +335,7 @@ index ddf6282d9780..8272d920b749 100644
#endif #endif
if (p->migrate_disable) { if (p->migrate_disable) {
@@ -7139,7 +7142,10 @@ void migrate_enable(void) @@ -7146,7 +7149,10 @@ void migrate_enable(void)
} }
#ifdef CONFIG_SCHED_DEBUG #ifdef CONFIG_SCHED_DEBUG

View File

@ -1,8 +1,8 @@
From 39010d30f3244de6b51646a0325b6292d8c84282 Mon Sep 17 00:00:00 2001 From b576efb7cedb58ffa58242d7b0df24d14063ba0e Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 16 Feb 2015 18:49:10 +0100 Date: Mon, 16 Feb 2015 18:49:10 +0100
Subject: [PATCH 096/269] fs/aio: simple simple work Subject: [PATCH 096/283] fs/aio: simple simple work
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:768 |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:768
|in_atomic(): 1, irqs_disabled(): 0, pid: 26, name: rcuos/2 |in_atomic(): 1, irqs_disabled(): 0, pid: 26, name: rcuos/2
@ -30,7 +30,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 13 insertions(+), 2 deletions(-) 1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/fs/aio.c b/fs/aio.c diff --git a/fs/aio.c b/fs/aio.c
index 45d5ef8dd0a8..7db10b87c9bc 100644 index 911e23087dfb..16dcf8521c2c 100644
--- a/fs/aio.c --- a/fs/aio.c
+++ b/fs/aio.c +++ b/fs/aio.c
@@ -42,6 +42,7 @@ @@ -42,6 +42,7 @@
@ -49,7 +49,7 @@ index 45d5ef8dd0a8..7db10b87c9bc 100644
/* /*
* signals when all in-flight requests are done * signals when all in-flight requests are done
@@ -255,6 +257,7 @@ static int __init aio_setup(void) @@ -265,6 +267,7 @@ static int __init aio_setup(void)
.mount = aio_mount, .mount = aio_mount,
.kill_sb = kill_anon_super, .kill_sb = kill_anon_super,
}; };
@ -57,7 +57,7 @@ index 45d5ef8dd0a8..7db10b87c9bc 100644
aio_mnt = kern_mount(&aio_fs); aio_mnt = kern_mount(&aio_fs);
if (IS_ERR(aio_mnt)) if (IS_ERR(aio_mnt))
panic("Failed to create aio fs mount."); panic("Failed to create aio fs mount.");
@@ -596,9 +599,9 @@ static void free_ioctx_reqs(struct percpu_ref *ref) @@ -606,9 +609,9 @@ static void free_ioctx_reqs(struct percpu_ref *ref)
* and ctx->users has dropped to 0, so we know no more kiocbs can be submitted - * and ctx->users has dropped to 0, so we know no more kiocbs can be submitted -
* now it's safe to cancel any that need to be. * now it's safe to cancel any that need to be.
*/ */
@ -69,7 +69,7 @@ index 45d5ef8dd0a8..7db10b87c9bc 100644
struct aio_kiocb *req; struct aio_kiocb *req;
spin_lock_irq(&ctx->ctx_lock); spin_lock_irq(&ctx->ctx_lock);
@@ -616,6 +619,14 @@ static void free_ioctx_users(struct percpu_ref *ref) @@ -626,6 +629,14 @@ static void free_ioctx_users(struct percpu_ref *ref)
percpu_ref_put(&ctx->reqs); percpu_ref_put(&ctx->reqs);
} }

View File

@ -1,9 +1,9 @@
From 2010005b28eea662f9390937d92563ea1c466e24 Mon Sep 17 00:00:00 2001 From bac483c38a96edeadc43fa8dcf03c3e57c41cc62 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 21 Aug 2013 17:48:46 +0200 Date: Wed, 21 Aug 2013 17:48:46 +0200
Subject: [PATCH 097/269] genirq: Do not invoke the affinity callback via a Subject: [PATCH 097/283] genirq: Do not invoke the affinity callback via a
workqueue on RT workqueue on RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
Joe Korty reported, that __irq_set_affinity_locked() schedules a Joe Korty reported, that __irq_set_affinity_locked() schedules a
workqueue while holding a rawlock which results in a might_sleep() workqueue while holding a rawlock which results in a might_sleep()
@ -12,9 +12,9 @@ This patch uses swork_queue() instead.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- ---
include/linux/interrupt.h | 6 ++++++ include/linux/interrupt.h | 6 +++++
kernel/irq/manage.c | 43 ++++++++++++++++++++++++++++++++++++--- kernel/irq/manage.c | 46 ++++++++++++++++++++++++++++++++++++---
2 files changed, 46 insertions(+), 3 deletions(-) 2 files changed, 49 insertions(+), 3 deletions(-)
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index 315f852b4981..a943c07b54ba 100644 index 315f852b4981..a943c07b54ba 100644
@ -49,7 +49,7 @@ index 315f852b4981..a943c07b54ba 100644
void (*release)(struct kref *ref); void (*release)(struct kref *ref);
}; };
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 94a18cf54293..d2270f61d335 100644 index c3b9f6dacd8f..af2a8757abfb 100644
--- a/kernel/irq/manage.c --- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c +++ b/kernel/irq/manage.c
@@ -259,7 +259,12 @@ int irq_set_affinity_locked(struct irq_data *data, const struct cpumask *mask, @@ -259,7 +259,12 @@ int irq_set_affinity_locked(struct irq_data *data, const struct cpumask *mask,
@ -126,6 +126,17 @@ index 94a18cf54293..d2270f61d335 100644
} }
raw_spin_lock_irqsave(&desc->lock, flags); raw_spin_lock_irqsave(&desc->lock, flags);
@@ -359,7 +396,10 @@ irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify)
raw_spin_unlock_irqrestore(&desc->lock, flags);
if (old_notify) {
+#ifndef CONFIG_PREEMPT_RT_BASE
+ /* Need to address this for PREEMPT_RT */
cancel_work_sync(&old_notify->work);
+#endif
kref_put(&old_notify->kref, old_notify->release);
}
-- --
2.20.1 2.20.1

View File

@ -1,9 +1,9 @@
From 49622b7282a6c10c5a70f3987df4ccfe3a32c92b Mon Sep 17 00:00:00 2001 From 7ada38687fe4d4f0ff8b7390d1588f7fed28a28d Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 15 Nov 2017 17:29:51 +0100 Date: Wed, 15 Nov 2017 17:29:51 +0100
Subject: [PATCH 098/269] time/hrtimer: avoid schedule_work() with interrupts Subject: [PATCH 098/283] time/hrtimer: avoid schedule_work() with interrupts
disabled disabled
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
The NOHZ code tries to schedule a workqueue with interrupts disabled. The NOHZ code tries to schedule a workqueue with interrupts disabled.
Since this does not work -RT I am switching it to swork instead. Since this does not work -RT I am switching it to swork instead.

View File

@ -1,9 +1,9 @@
From 7223736bbeccbb731d509b603b15adcbf36bdade Mon Sep 17 00:00:00 2001 From 2decd81945344204be663182b0eac46997f297b2 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 3 Jul 2018 11:25:41 +0200 Date: Tue, 3 Jul 2018 11:25:41 +0200
Subject: [PATCH 099/269] hrtimer: consolidate hrtimer_init() + Subject: [PATCH 099/283] hrtimer: consolidate hrtimer_init() +
hrtimer_init_sleeper() calls hrtimer_init_sleeper() calls
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.37-rt20.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
hrtimer_init_sleeper() calls require a prior initialisation of the hrtimer_init_sleeper() calls require a prior initialisation of the
hrtimer object with hrtimer_init(). Lets make the initialisation of hrtimer object with hrtimer_init(). Lets make the initialisation of
@ -28,10 +28,10 @@ Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
7 files changed, 67 insertions(+), 34 deletions(-) 7 files changed, 67 insertions(+), 34 deletions(-)
diff --git a/block/blk-mq.c b/block/blk-mq.c diff --git a/block/blk-mq.c b/block/blk-mq.c
index 7d53f2314d7c..b0d0b74cf5a6 100644 index 70d839b9c3b0..e3e7a88e03a6 100644
--- a/block/blk-mq.c --- a/block/blk-mq.c
+++ b/block/blk-mq.c +++ b/block/blk-mq.c
@@ -3124,10 +3124,9 @@ static bool blk_mq_poll_hybrid_sleep(struct request_queue *q, @@ -3128,10 +3128,9 @@ static bool blk_mq_poll_hybrid_sleep(struct request_queue *q,
kt = nsecs; kt = nsecs;
mode = HRTIMER_MODE_REL; mode = HRTIMER_MODE_REL;
@ -126,10 +126,10 @@ index 2b5ef8e94d19..94bd2e841de6 100644
hrtimer_start_range_ns(&__t.timer, timeout, \ hrtimer_start_range_ns(&__t.timer, timeout, \
current->timer_slack_ns, \ current->timer_slack_ns, \
diff --git a/kernel/futex.c b/kernel/futex.c diff --git a/kernel/futex.c b/kernel/futex.c
index 1bd0950bea4e..fadd9bff6e3c 100644 index 304f07d08c95..ccf933ac2997 100644
--- a/kernel/futex.c --- a/kernel/futex.c
+++ b/kernel/futex.c +++ b/kernel/futex.c
@@ -2684,10 +2684,9 @@ static int futex_wait(u32 __user *uaddr, unsigned int flags, u32 val, @@ -2701,10 +2701,9 @@ static int futex_wait(u32 __user *uaddr, unsigned int flags, u32 val,
if (abs_time) { if (abs_time) {
to = &timeout; to = &timeout;
@ -143,7 +143,7 @@ index 1bd0950bea4e..fadd9bff6e3c 100644
hrtimer_set_expires_range_ns(&to->timer, *abs_time, hrtimer_set_expires_range_ns(&to->timer, *abs_time,
current->timer_slack_ns); current->timer_slack_ns);
} }
@@ -2786,9 +2785,8 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, @@ -2803,9 +2802,8 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags,
if (time) { if (time) {
to = &timeout; to = &timeout;
@ -155,7 +155,7 @@ index 1bd0950bea4e..fadd9bff6e3c 100644
hrtimer_set_expires(&to->timer, *time); hrtimer_set_expires(&to->timer, *time);
} }
@@ -3212,10 +3210,9 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, @@ -3242,10 +3240,9 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags,
if (abs_time) { if (abs_time) {
to = &timeout; to = &timeout;
@ -264,7 +264,7 @@ index e1a549c9e399..4f43ece42f3b 100644
if (likely(t.task)) if (likely(t.task))
diff --git a/net/core/pktgen.c b/net/core/pktgen.c diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index 7f6938405fa1..b71d9eef334e 100644 index 092fa3d75b32..9d472d626aaa 100644
--- a/net/core/pktgen.c --- a/net/core/pktgen.c
+++ b/net/core/pktgen.c +++ b/net/core/pktgen.c
@@ -2160,7 +2160,8 @@ static void spin(struct pktgen_dev *pkt_dev, ktime_t spin_until) @@ -2160,7 +2160,8 @@ static void spin(struct pktgen_dev *pkt_dev, ktime_t spin_until)

Some files were not shown because too many files have changed in this diff Show More