Merge pull request #3380 from TiejunChina/master-dev

update -rt to 4.19.50-rt22
This commit is contained in:
Rolf Neugebauer 2019-06-19 09:18:32 +01:00 committed by GitHub
commit 1fd88b1dcc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
271 changed files with 934 additions and 978 deletions

View File

@ -1,5 +1,5 @@
kernel:
image: linuxkit/kernel:4.19.37-rt
image: linuxkit/kernel:4.19.50-rt
cmdline: "console=tty0"
init:
- linuxkit/init:v0.7

View File

@ -254,14 +254,14 @@ ifeq ($(ARCH),x86_64)
$(eval $(call kernel,5.1.11,5.1.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,4.19.52,4.19.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,4.19.52,4.19.x,,-dbg))
$(eval $(call kernel,4.19.37,4.19.x,-rt,))
$(eval $(call kernel,4.19.50,4.19.x,-rt,))
$(eval $(call kernel,4.14.127,4.14.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,4.9.182,4.9.x,$(EXTRA),$(DEBUG)))
else ifeq ($(ARCH),aarch64)
$(eval $(call kernel,5.1.11,5.1.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,4.19.52,4.19.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,4.19.37,4.19.x,-rt,))
$(eval $(call kernel,4.19.50,4.19.x,-rt,))
else ifeq ($(ARCH),s390x)
$(eval $(call kernel,5.1.11,5.1.x,$(EXTRA),$(DEBUG)))

View File

@ -1,7 +1,7 @@
From bc4d8f04b5bd123853531af90f1ec548d8ab61e4 Mon Sep 17 00:00:00 2001
From 51502f785ba92dab73427034abe6ebc29b827637 Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:18 +0200
Subject: [PATCH 001/269] ARM: at91: add TCB registers definitions
Subject: [PATCH 001/268] ARM: at91: add TCB registers definitions
Add registers and bits definitions for the timer counter blocks found on
Atmel ARM SoCs.

View File

@ -1,7 +1,7 @@
From 1eef86c9b8aa09d8e57f4ee5684c7bfd28f6900f Mon Sep 17 00:00:00 2001
From 0d17e392d25ce41fbd73368c207e9e3c8a509200 Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
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/268] clocksource/drivers: Add a new driver for the Atmel
ARM TC blocks
Add a driver for the Atmel Timer Counter Blocks. This driver provides a
@ -31,10 +31,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
create mode 100644 drivers/clocksource/timer-atmel-tcb.c
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index c1ddafa4c299..c5a5ad4e22e7 100644
index 4d37f018d846..0ab22e7037f4 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -414,6 +414,14 @@ config ATMEL_ST
@@ -415,6 +415,14 @@ config ATMEL_ST
help
Support for the Atmel ST timer.

View File

@ -1,7 +1,7 @@
From f6803050ab0965a1255a3b407ca429a04c5cb230 Mon Sep 17 00:00:00 2001
From a4ddee4eca713013e407261d0e2b49bec1d1cadc Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:20 +0200
Subject: [PATCH 003/269] clocksource/drivers: timer-atmel-tcb: add clockevent
Subject: [PATCH 003/268] clocksource/drivers: timer-atmel-tcb: add clockevent
device on separate channel
Add an other clockevent device that uses a separate TCB channel when

View File

@ -1,7 +1,7 @@
From 873075a203c574d322429e4a8cd0686541293903 Mon Sep 17 00:00:00 2001
From c1264e05e78e9ef1643471e975f411ec4b1e9015 Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:21 +0200
Subject: [PATCH 004/269] clocksource/drivers: atmel-pit: make option silent
Subject: [PATCH 004/268] clocksource/drivers: atmel-pit: make option silent
To conform with the other option, make the ATMEL_PIT option silent so it
can be selected from the platform
@ -14,10 +14,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index c5a5ad4e22e7..076aa8184961 100644
index 0ab22e7037f4..34b07047b91f 100644
--- a/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
config ATMEL_PIT

View File

@ -1,7 +1,7 @@
From e0dc436f11c998b38ee3dc4cd269d5075ea12b7e Mon Sep 17 00:00:00 2001
From e228d79e34fd799304ff0c6696e52c00e3caa066 Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:22 +0200
Subject: [PATCH 005/269] ARM: at91: Implement clocksource selection
Subject: [PATCH 005/268] ARM: at91: Implement clocksource selection
Allow selecting and unselecting the PIT clocksource driver so it doesn't
have to be compile when unused.

View File

@ -1,7 +1,7 @@
From ca4a1c8ce5f7224d99ef6c2a6754468cb72ea4c3 Mon Sep 17 00:00:00 2001
From 719de0a8c6c4489eae0ea592aaa78898611c5f7f Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:23 +0200
Subject: [PATCH 006/269] ARM: configs: at91: use new TCB timer driver
Subject: [PATCH 006/268] ARM: configs: at91: use new TCB timer driver
Unselecting ATMEL_TCLIB switches the TCB timer driver from tcb_clksrc to
timer-atmel-tcb.

View File

@ -1,7 +1,7 @@
From 2c83222f4057f755febccd002f3720bbf73a6473 Mon Sep 17 00:00:00 2001
From 4175bca0551889fda7dfdf2391a242b0c80bb59a Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:24 +0200
Subject: [PATCH 007/269] ARM: configs: at91: unselect PIT
Subject: [PATCH 007/268] ARM: configs: at91: unselect PIT
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.

View File

@ -1,7 +1,7 @@
From bb357496d72d05e2841899655c8e709d7c369ab0 Mon Sep 17 00:00:00 2001
From 860cae9aedf5937c7f9e6d7c228e02ece79b0e0a Mon Sep 17 00:00:00 2001
From: Marc Zyngier <marc.zyngier@arm.com>
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/268] irqchip/gic-v3-its: Move pending table allocation to
init time
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>

View File

@ -1,7 +1,7 @@
From 9d8b1db47a7e355eb0c34a8af57f3613db6cb18c Mon Sep 17 00:00:00 2001
From 9e8f94470c29280436a04d2d6d1eeb61667b0af8 Mon Sep 17 00:00:00 2001
From: Julia Cartwright <julia@ni.com>
Date: Fri, 28 Sep 2018 21:03:51 +0000
Subject: [PATCH 009/269] kthread: convert worker lock to raw spinlock
Subject: [PATCH 009/268] kthread: convert worker lock to raw spinlock
In order to enable the queuing of kthread work items from hardirq
context even when PREEMPT_RT_FULL is enabled, convert the worker

View File

@ -1,7 +1,7 @@
From b37ee7bd4ac42c97c3fce905634cf808345a25ac Mon Sep 17 00:00:00 2001
From ab7516f814d1df7736f158b4217b78c99e40168e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Horia=20Geant=C4=83?= <horia.geanta@nxp.com>
Date: Mon, 8 Oct 2018 14:09:37 +0300
Subject: [PATCH 010/269] crypto: caam/qi - simplify CGR allocation, freeing
Subject: [PATCH 010/268] crypto: caam/qi - simplify CGR allocation, freeing
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

View File

@ -1,7 +1,7 @@
From 78f68e44994c830d70aa92bb86a47b204ff605c6 Mon Sep 17 00:00:00 2001
From cfe30af225801582b76bde294f920c8018ccb75a Mon Sep 17 00:00:00 2001
From: Peter Zijlstra <peterz@infradead.org>
Date: Mon, 7 Jan 2019 13:52:31 +0100
Subject: [PATCH 011/269] sched/fair: Robustify CFS-bandwidth timer locking
Subject: [PATCH 011/268] sched/fair: Robustify CFS-bandwidth timer locking
Traditionally hrtimer callbacks were run with IRQs disabled, but with
the introduction of HRTIMER_MODE_SOFT it is possible they run from
@ -29,10 +29,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 16 insertions(+), 14 deletions(-)
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
+++ 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_flags rf;
@ -41,7 +41,7 @@ index 4aa8e7d90c25..53acadf72cd9 100644
if (!cfs_rq_throttled(cfs_rq))
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);
next:
@ -50,7 +50,7 @@ index 4aa8e7d90c25..53acadf72cd9 100644
if (!remaining)
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
* used to track this state.
*/
@ -59,7 +59,7 @@ index 4aa8e7d90c25..53acadf72cd9 100644
{
u64 runtime, runtime_expires;
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) {
runtime = cfs_b->runtime;
cfs_b->distribute_running = 1;
@ -73,7 +73,7 @@ index 4aa8e7d90c25..53acadf72cd9 100644
cfs_b->distribute_running = 0;
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)
{
u64 runtime = 0, slice = sched_cfs_bandwidth_slice();
@ -95,7 +95,7 @@ index 4aa8e7d90c25..53acadf72cd9 100644
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)
cfs_b->distribute_running = 1;
@ -117,7 +117,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 =
container_of(timer, struct cfs_bandwidth, period_timer);
@ -131,7 +131,7 @@ index 4aa8e7d90c25..53acadf72cd9 100644
for (;;) {
overrun = hrtimer_forward_now(timer, cfs_b->period);
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;
}

View File

@ -1,7 +1,7 @@
From fa6e4c3d085352808073b23fdff79729db01930a Mon Sep 17 00:00:00 2001
From cd3c3d6a852d1ad0077e1fbbd667c7a715b7daad Mon Sep 17 00:00:00 2001
From: Frank Rowand <frank.rowand@am.sony.com>
Date: Mon, 19 Sep 2011 14:51:14 -0700
Subject: [PATCH 012/269] arm: Convert arm boot_lock to raw
Subject: [PATCH 012/268] arm: Convert arm boot_lock to raw
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.

View File

@ -1,7 +1,7 @@
From 4debab2aa3d29fcdb5b9cd132416094c54e9361b Mon Sep 17 00:00:00 2001
From d3b004343e524bde70e0ff21eb2ef4d4989a21d5 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
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/268] x86/ioapic: Don't let setaffinity unmask threaded EOI
interrupt too early
There is an issue with threaded interrupts which are marked ONESHOT

View File

@ -1,7 +1,7 @@
From 1117688ac7606703683b1ac8cacdbf02d47b4adb Mon Sep 17 00:00:00 2001
From bce3ba7d9bf5c645f5425e98fc15f9c14c4d1bd5 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 3 Jul 2018 18:19:48 +0200
Subject: [PATCH 014/269] cgroup: use irqsave in cgroup_rstat_flush_locked()
Subject: [PATCH 014/268] cgroup: use irqsave in cgroup_rstat_flush_locked()
All callers of cgroup_rstat_flush_locked() acquire cgroup_rstat_lock
either with spin_lock_irq() or spin_lock_irqsave().

View File

@ -1,7 +1,7 @@
From 8cf7a5b4f03a2829c823971a12c1a206bcba069d Mon Sep 17 00:00:00 2001
From bdc5bf179f2fd29ef29ea44993ad316ffaae41b3 Mon Sep 17 00:00:00 2001
From: Clark Williams <williams@redhat.com>
Date: Tue, 3 Jul 2018 13:34:30 -0500
Subject: [PATCH 015/269] fscache: initialize cookie hash table raw spinlocks
Subject: [PATCH 015/268] fscache: initialize cookie hash table raw spinlocks
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

View File

@ -1,7 +1,7 @@
From 841d8b9e20d17d7907421dc223346198287e81a1 Mon Sep 17 00:00:00 2001
From d748238ff973cd42f7e7d6d2eb0476960d2c5a77 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
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/268] Drivers: hv: vmbus: include header for get_irq_regs()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

View File

@ -1,7 +1,7 @@
From d77a9b0754acbc89c7884b3505afdbb49677b36a Mon Sep 17 00:00:00 2001
From b9113e5cdf8382192972523dbb746daea3aa90b1 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
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/268] percpu: include irqflags.h for raw_local_irq_save()
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

View File

@ -1,7 +1,7 @@
From 10c47a6dadf91edee1d414002f91cc73bbe59c90 Mon Sep 17 00:00:00 2001
From 58823352a672562d5c098affcb951fbe43b6d721 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 26 Jul 2018 15:06:10 +0200
Subject: [PATCH 018/269] efi: Allow efi=runtime
Subject: [PATCH 018/268] efi: Allow efi=runtime
In case the option "efi=noruntime" is default at built-time, the user
could overwrite its sate by `efi=runtime' and allow it again.

View File

@ -1,7 +1,7 @@
From d1af306cedb5a02314565763b49992b10ce5d802 Mon Sep 17 00:00:00 2001
From eb484bfff976730c7eaac1843e193e1fb6c949c4 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
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/268] x86/efi: drop task_lock() from efi_switch_mm()
efi_switch_mm() is a wrapper around switch_mm() which saves current's
->active_mm, sets the requests mm as ->active_mm and invokes

View File

@ -1,7 +1,7 @@
From 6d4ae829b2e8c46b1d730790bf2644e5a053cf14 Mon Sep 17 00:00:00 2001
From 0d6bc3016c56136ba59d6a3519ba23bcaecf4e37 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 26 Jul 2018 09:13:42 +0200
Subject: [PATCH 020/269] arm64: KVM: compute_layout before altenates are
Subject: [PATCH 020/268] arm64: KVM: compute_layout before altenates are
applied
compute_layout() is invoked as part of an alternative fixup under

View File

@ -1,7 +1,7 @@
From 1ab1616de2aaaa7392ebb706a457af2fdcd2b82a Mon Sep 17 00:00:00 2001
From 7912b78543a4d0312c0b7c625bb7ab26360c477a Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 31 Aug 2018 14:16:30 +0200
Subject: [PATCH 021/269] of: allocate / free phandle cache outside of the
Subject: [PATCH 021/268] of: allocate / free phandle cache outside of the
devtree_lock
The phandle cache code allocates memory while holding devtree_lock which

View File

@ -1,7 +1,7 @@
From a61c877f81f1f0b850090df19e08d51cf9465955 Mon Sep 17 00:00:00 2001
From 6e5efbd87443d2c1a3df01401ed51638d28d50c1 Mon Sep 17 00:00:00 2001
From: Clark Williams <williams@redhat.com>
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/268] mm/kasan: make quarantine_lock a raw_spinlock_t
The static lock quarantine_lock is used in quarantine.c to protect the
quarantine queue datastructures. It is taken inside quarantine queue

View File

@ -1,7 +1,7 @@
From b710c9561c0a7ddf1c7fef8d3bd3bc6d9e140a4e Mon Sep 17 00:00:00 2001
From 3e3086ae2a7f6bb9834e51d8322673247a1d3e4c Mon Sep 17 00:00:00 2001
From: "Paul E. McKenney" <paulmck@linux.ibm.com>
Date: Mon, 29 Oct 2018 11:53:01 +0100
Subject: [PATCH 023/269] EXP rcu: Revert expedited GP parallelization
Subject: [PATCH 023/268] EXP rcu: Revert expedited GP parallelization
cleverness
(Commit 258ba8e089db23f760139266c232f01bad73f85c from linux-rcu)

View File

@ -1,7 +1,7 @@
From b32df881582f39cab5e57b894f554f8573170cf7 Mon Sep 17 00:00:00 2001
From e27fcb8add849554b0073094e6685ca3248b0f01 Mon Sep 17 00:00:00 2001
From: He Zhe <zhe.he@windriver.com>
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/268] kmemleak: Turn kmemleak_lock to raw spinlock on RT
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@ -78,7 +78,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/mm/kmemleak.c b/mm/kmemleak.c
index 17dd883198ae..b68a3d0d075f 100644
index 72e3fb3bb037..0ed549045074 100644
--- a/mm/kmemleak.c
+++ b/mm/kmemleak.c
@@ -26,7 +26,7 @@

View File

@ -1,7 +1,7 @@
From 82889085f9639d9aed51313cf8fd8e8ca32b8e8b Mon Sep 17 00:00:00 2001
From 8f433a327631f56d446edaa607b815681c84073d Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 28 Oct 2016 23:05:11 +0200
Subject: [PATCH 025/269] NFSv4: replace seqcount_t with a seqlock_t
Subject: [PATCH 025/268] NFSv4: replace seqcount_t with a seqlock_t
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
@ -57,7 +57,7 @@ index 63287d911c08..2ae55eaa4a1e 100644
};
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 580e37bc3fe2..9d010731f901 100644
index 53cf8599a46e..42850fb5944b 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -2863,7 +2863,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata,
@ -79,10 +79,10 @@ index 580e37bc3fe2..9d010731f901 100644
}
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
+++ 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);
atomic_set(&sp->so_count, 1);
INIT_LIST_HEAD(&sp->so_lru);
@ -91,7 +91,7 @@ index d2f645d34eb1..1698dd2ca20b 100644
mutex_init(&sp->so_delegreturn_mutex);
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
* server that doesn't support a grace period.
*/
@ -105,7 +105,7 @@ index d2f645d34eb1..1698dd2ca20b 100644
restart:
list_for_each_entry(state, &sp->so_states, open_states) {
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);
goto restart;
}

View File

@ -1,7 +1,7 @@
From 3ace22e122817ae9b6da2d0c49209a834f96375c Mon Sep 17 00:00:00 2001
From e22533415f2d2e4fbc723286a1946a5ac1c3d2ed Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
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/268] kernel: sched: Provide a pointer to the valid CPU
mask
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@ -165,7 +165,7 @@ index c9ef3c532169..cb10249b1125 100644
/* Save the current cpu id for spu interrupt routing. */
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
index f8c260d522ca..befeec6414b0 100644
index 912d53939f4f..6b8dc68b5ccc 100644
--- a/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)
@ -320,7 +320,7 @@ index 266f10cb7222..ef085d84a940 100644
}
diff --git a/kernel/fork.c b/kernel/fork.c
index 64ef113e387e..bfe9c5c3eb88 100644
index 69874db3fba8..98c971cb1d36 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -845,6 +845,8 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node)
@ -333,7 +333,7 @@ index 64ef113e387e..bfe9c5c3eb88 100644
/*
* One for us, one for whoever does the "release_task()" (usually
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
+++ b/kernel/sched/core.c
@@ -878,7 +878,7 @@ static inline bool is_per_cpu_kthread(struct task_struct *p)
@ -541,10 +541,10 @@ index daaadf939ccb..f7d2c10b4c92 100644
/*
* We have to ensure that we have at least one bit
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
+++ 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
* online CPU:
*/
@ -553,7 +553,7 @@ index 91e4202b0634..f927b1f45474 100644
if (cpu >= nr_cpu_ids) {
/*
* 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)
{
if (!task_running(rq, p) &&
@ -562,7 +562,7 @@ index 91e4202b0634..f927b1f45474 100644
return 1;
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. */
if (double_lock_balance(rq, later_rq)) {
if (unlikely(task_rq(task) != rq ||
@ -572,7 +572,7 @@ index 91e4202b0634..f927b1f45474 100644
!dl_task(task) ||
!task_on_rq_queued(task))) {
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
+++ b/kernel/sched/fair.c
@@ -1630,7 +1630,7 @@ static void task_numa_compare(struct task_numa_env *env,
@ -593,7 +593,7 @@ index 53acadf72cd9..c17d63b06026 100644
continue;
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 */
if (!cpumask_intersects(sched_group_span(group),
@ -602,7 +602,7 @@ index 53acadf72cd9..c17d63b06026 100644
continue;
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));
/* Traverse only the allowed CPUs */
@ -611,7 +611,7 @@ index 53acadf72cd9..c17d63b06026 100644
if (available_idle_cpu(i)) {
struct rq *rq = cpu_rq(i);
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;
@ -620,7 +620,7 @@ index 53acadf72cd9..c17d63b06026 100644
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))
return -1;
@ -629,7 +629,7 @@ index 53acadf72cd9..c17d63b06026 100644
for_each_cpu_wrap(core, cpus, target) {
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;
for_each_cpu(cpu, cpu_smt_mask(target)) {
@ -638,7 +638,7 @@ index 53acadf72cd9..c17d63b06026 100644
continue;
if (available_idle_cpu(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) {
if (!--nr)
return -1;
@ -647,7 +647,7 @@ index 53acadf72cd9..c17d63b06026 100644
continue;
if (available_idle_cpu(cpu))
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 &&
cpus_share_cache(recent_used_cpu, target) &&
available_idle_cpu(recent_used_cpu) &&
@ -656,7 +656,7 @@ index 53acadf72cd9..c17d63b06026 100644
/*
* Replace recent_used_cpu with prev as it is a potential
* 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) {
record_wakee(p);
want_affine = !wake_wide(p) && !wake_cap(p, cpu, prev_cpu)
@ -665,7 +665,7 @@ index 53acadf72cd9..c17d63b06026 100644
}
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:
* 1) throttled_lb_pair, or
@ -682,7 +682,7 @@ index 53acadf72cd9..c17d63b06026 100644
int cpu;
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: */
for_each_cpu_and(cpu, env->dst_grpmask, env->cpus) {
@ -691,7 +691,7 @@ index 53acadf72cd9..c17d63b06026 100644
env->flags |= LBF_DST_PINNED;
env->new_dst_cpu = cpu;
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
@ -700,7 +700,7 @@ index 53acadf72cd9..c17d63b06026 100644
*
* 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.
@@ -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
* work because they assume all things are equal, which typically
@ -709,7 +709,7 @@ index 53acadf72cd9..c17d63b06026 100644
*/
if (busiest->group_type == group_imbalanced)
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
* moved to this_cpu:
*/
@ -719,7 +719,7 @@ index 53acadf72cd9..c17d63b06026 100644
flags);
env.flags |= LBF_ALL_PINNED;
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
+++ b/kernel/sched/rt.c
@@ -1611,7 +1611,7 @@ static void put_prev_task_rt(struct rq *rq, struct task_struct *p)

View File

@ -1,7 +1,7 @@
From 2fc8b5c9ca4ff2df7913d6e6d75a98bdece9b264 Mon Sep 17 00:00:00 2001
From de7795ed1a14201e737e05a2d1b240a9dc6aded6 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Sat, 27 May 2017 19:02:06 +0200
Subject: [PATCH 027/269] kernel/sched/core: add migrate_disable()
Subject: [PATCH 027/268] kernel/sched/core: add migrate_disable()
---
include/linux/preempt.h | 23 +++++++
@ -85,7 +85,7 @@ index 9fb239e12b82..5801e516ba63 100644
* Callback to arch code if there's nosmp or maxcpus=0 on the
* boot command line:
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
+++ b/kernel/sched/core.c
@@ -1008,7 +1008,15 @@ void set_cpus_allowed_common(struct task_struct *p, const struct cpumask *new_ma
@ -144,7 +144,7 @@ index 80badc70c258..3df110e8c6f9 100644
dest_cpu = cpumask_any_and(cpu_valid_mask, new_mask);
if (task_running(rq, p) || p->state == TASK_WAKING) {
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
@ -246,7 +246,7 @@ index 80badc70c258..3df110e8c6f9 100644
+EXPORT_SYMBOL(migrate_enable);
+#endif
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
+++ b/kernel/sched/debug.c
@@ -982,6 +982,10 @@ void proc_sched_show_task(struct task_struct *p, struct pid_namespace *ns,

View File

@ -1,7 +1,7 @@
From 0af010b771c642c17c33fbc991e183c04427af59 Mon Sep 17 00:00:00 2001
From 3eb644da699b9d5916ad3b0e8465e4edc5f6a333 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 9 Oct 2018 17:34:50 +0200
Subject: [PATCH 028/269] sched/migrate_disable: Add export_symbol_gpl for
Subject: [PATCH 028/268] sched/migrate_disable: Add export_symbol_gpl for
__migrate_disabled
Jonathan reported that lttng/modules can't use __migrate_disabled().
@ -21,7 +21,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+)
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
+++ b/kernel/sched/core.c
@@ -1013,6 +1013,7 @@ int __migrate_disabled(struct task_struct *p)

View File

@ -1,7 +1,7 @@
From 245bd7bd92ce193e01ef35fbdaae505d5eefd28b Mon Sep 17 00:00:00 2001
From c397de61ffe5014b500d4cb9041776ee6f1fdf96 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
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/268] arm: at91: do not disable/enable clocks in a row
Currently the driver will disable the clock and enable it one line later
if it is switching from periodic mode into one shot.

View File

@ -1,7 +1,7 @@
From 7b123775c97399cd5ca5394392bf72c5d73f2808 Mon Sep 17 00:00:00 2001
From b0ab70a4f78b70454e5b35d8a21170fedc297c06 Mon Sep 17 00:00:00 2001
From: Benedikt Spranger <b.spranger@linutronix.de>
Date: Mon, 8 Mar 2010 18:57:04 +0100
Subject: [PATCH 030/269] clocksource: TCLIB: Allow higher clock rates for
Subject: [PATCH 030/268] clocksource: TCLIB: Allow higher clock rates for
clock events
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8

View File

@ -1,7 +1,7 @@
From 5a0bfb35b3b826135a39a8e8744e9926b5be7607 Mon Sep 17 00:00:00 2001
From b09d65be8e3e09795b3ce4ab655f04b5a7b42217 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Feb 2013 22:36:59 +0100
Subject: [PATCH 031/269] timekeeping: Split jiffies seqlock
Subject: [PATCH 031/268] timekeeping: Split jiffies seqlock
Replace jiffies_lock seqlock with a simple seqcounter and a rawlock so
it can be taken in atomic context on RT.
@ -135,7 +135,7 @@ index 5b33e2f5c0ed..54fd344ef973 100644
ts->timer_expires_base = basemono;
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 7846ce24ecc0..68cf97548cba 100644
index 9a6bfcd22dc6..5e584cdebd24 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -2417,8 +2417,10 @@ EXPORT_SYMBOL(hardpps);

View File

@ -1,7 +1,7 @@
From a9a18a8c88bd90bdac5f33690be17244dc22bd22 Mon Sep 17 00:00:00 2001
From f1184fbeee330b224af538e519e2215522bbc951 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 21 Sep 2011 19:57:12 +0200
Subject: [PATCH 032/269] signal: Revert ptrace preempt magic
Subject: [PATCH 032/268] signal: Revert ptrace preempt magic
Upstream commit '53da1d9456fe7f8 fix ptrace slowness' is nothing more
than a bandaid around the ptrace design trainwreck. It's not a
@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 8 deletions(-)
diff --git a/kernel/signal.c b/kernel/signal.c
index 9102d60fc5c6..f29def2be652 100644
index 0e6bc3049427..d5a9646b3538 100644
--- a/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)

View File

@ -1,7 +1,7 @@
From b1e277ed2b65bf647c2a6dc2d103ffe5aa2e4fa7 Mon Sep 17 00:00:00 2001
From 677aefdaf998f7a5c0fe715201a903187adf03e3 Mon Sep 17 00:00:00 2001
From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: Wed, 5 Mar 2014 00:49:47 +0100
Subject: [PATCH 033/269] net: sched: Use msleep() instead of yield()
Subject: [PATCH 033/268] net: sched: Use msleep() instead of yield()
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

View File

@ -1,7 +1,7 @@
From 812137beb49a5dea2e269ea9739d0ed291e27375 Mon Sep 17 00:00:00 2001
From 7f70887609c161140d9b37c3865fd0e01c755e11 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 27 Mar 2018 16:24:15 +0200
Subject: [PATCH 034/269] dm rq: remove BUG_ON(!irqs_disabled) check
Subject: [PATCH 034/268] dm rq: remove BUG_ON(!irqs_disabled) check
In commit 052189a2ec95 ("dm: remove superfluous irq disablement in
dm_request_fn") the spin_lock_irq() was replaced with spin_lock() + a

View File

@ -1,7 +1,7 @@
From e958966734633c26363abc8920eca9c38e5cd7ce Mon Sep 17 00:00:00 2001
From a7d0a6cef67c51b65ef7a826069f17fd3e027d7c Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 8 Nov 2013 17:34:54 +0100
Subject: [PATCH 035/269] usb: do no disable interrupts in giveback
Subject: [PATCH 035/268] usb: do no disable interrupts in giveback
Since commit 94dfd7ed ("USB: HCD: support giveback of URB in tasklet
context") the USB code disables interrupts before invoking the complete
@ -19,7 +19,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 3 deletions(-)
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
+++ b/drivers/usb/core/hcd.c
@@ -1738,7 +1738,6 @@ static void __usb_hcd_giveback_urb(struct urb *urb)

View File

@ -1,7 +1,7 @@
From 588e8fb01ec7915ef280606b80bd605f49c56915 Mon Sep 17 00:00:00 2001
From f478188cf8735d85f62c91f1766b395f8294e72c Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 17 Jun 2011 12:39:57 +0200
Subject: [PATCH 036/269] rt: Provide PREEMPT_RT_BASE config switch
Subject: [PATCH 036/268] rt: Provide PREEMPT_RT_BASE config switch
Introduce PREEMPT_RT_BASE which enables parts of
PREEMPT_RT_FULL. Forces interrupt threading and enables some of the RT

View File

@ -1,7 +1,7 @@
From 9480b8b41cb649337466e43807eff3816a9530bc Mon Sep 17 00:00:00 2001
From e32f48e4f42494ed9a8908091c76af925fca59d6 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 14 Dec 2011 01:03:49 +0100
Subject: [PATCH 037/269] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT
Subject: [PATCH 037/268] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT
There are "valid" GFP_ATOMIC allocations such as

View File

@ -1,7 +1,7 @@
From d23a435dc809c84e3185683681ef735f2097fe57 Mon Sep 17 00:00:00 2001
From c4b0f04fc2d915cc272de6018b5581fce5d5dda7 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 8 Jul 2015 17:14:48 +0200
Subject: [PATCH 038/269] jump-label: disable if stop_machine() is used
Subject: [PATCH 038/268] jump-label: disable if stop_machine() is used
Some architectures are using stop_machine() while switching the opcode which
leads to latency spikes.
@ -24,7 +24,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index cd4c74daf71e..27a5f0b9ddc7 100644
index 51794c7fa6d5..7d11242a37d2 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -51,7 +51,7 @@ config ARM

View File

@ -1,7 +1,7 @@
From 6c83d4802fcd91010b16a5a69456c7370cd10f9f Mon Sep 17 00:00:00 2001
From 29c669c7c70f5c80be40b69f20b4c4a8034ee7a1 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 24 Jul 2011 12:11:43 +0200
Subject: [PATCH 039/269] kconfig: Disable config options which are not RT
Subject: [PATCH 039/268] kconfig: Disable config options which are not RT
compatible
Disable stuff which is known to have issues on RT
@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/Kconfig b/arch/Kconfig
index 6801123932a5..42b9062b9dbf 100644
index a336548487e6..3f537b264852 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -28,6 +28,7 @@ config OPROFILE

View File

@ -1,7 +1,7 @@
From 968d103b4727308889b77f3fa556e149bba6d56c Mon Sep 17 00:00:00 2001
From 36f9204a770887f7280fb9db2450f6dd8ef11b33 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 17 Oct 2017 16:36:18 +0200
Subject: [PATCH 040/269] lockdep: disable self-test
Subject: [PATCH 040/268] lockdep: disable self-test
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@ -17,7 +17,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 4966c4fbe7f7..92e7d88946f7 100644
index 3dea52f7be9c..1504e6aa8418 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1207,7 +1207,7 @@ config DEBUG_ATOMIC_SLEEP

View File

@ -1,7 +1,7 @@
From 16680836f36c75ccaff96ab3155869144b0dd028 Mon Sep 17 00:00:00 2001
From 13ed901518597f2db47f69a5e06cd219389bc331 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:44:03 -0500
Subject: [PATCH 041/269] mm: Allow only slub on RT
Subject: [PATCH 041/268] mm: Allow only slub on RT
Disable SLAB and SLOB on -RT. Only SLUB is adopted to -RT needs.
@ -12,10 +12,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 2 insertions(+)
diff --git a/init/Kconfig b/init/Kconfig
index 864af10bb1b9..f3f073942c30 100644
index 47035b5a46f6..ae9a0113a699 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1634,6 +1634,7 @@ choice
@@ -1637,6 +1637,7 @@ choice
config SLAB
bool "SLAB"
@ -23,7 +23,7 @@ index 864af10bb1b9..f3f073942c30 100644
select HAVE_HARDENED_USERCOPY_ALLOCATOR
help
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
depends on EXPERT
bool "SLOB (Simple Allocator)"

View File

@ -1,7 +1,7 @@
From a506cf490ae3e346c6082877f109fcf34568f22d Mon Sep 17 00:00:00 2001
From 3437a78b60ceab08492a829b2e8662f7ec640860 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 21:51:45 +0200
Subject: [PATCH 042/269] locking: Disable spin on owner for RT
Subject: [PATCH 042/268] locking: Disable spin on owner for RT
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

View File

@ -1,7 +1,7 @@
From 30987f403875e211eee90cac11127e04b1a27c73 Mon Sep 17 00:00:00 2001
From 43b1a887cc73fc7f4685ceb5b0e34671e87989b7 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 28 Oct 2012 13:26:09 +0000
Subject: [PATCH 043/269] rcu: Disable RCU_FAST_NO_HZ on RT
Subject: [PATCH 043/268] rcu: Disable RCU_FAST_NO_HZ on RT
This uses a timer_list timer from the irq disabled guts of the idle
code. Disable it for now to prevent wreckage.

View File

@ -1,7 +1,7 @@
From 709173f4678f7f2f0b834e508d8044821d1c2354 Mon Sep 17 00:00:00 2001
From f9b4cb4ccfa7e2d695d4510b8159b5205fe80c97 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 21 Mar 2014 20:19:05 +0100
Subject: [PATCH 044/269] rcu: make RCU_BOOST default on RT
Subject: [PATCH 044/268] rcu: make RCU_BOOST default on RT
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

View File

@ -1,7 +1,7 @@
From 56d2f884391ba7e98721f6639f87698e46429c7f Mon Sep 17 00:00:00 2001
From ca1b9c071f5b45c0d82722d5b9f957d4c2be185e Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 17:03:52 +0200
Subject: [PATCH 045/269] sched: Disable CONFIG_RT_GROUP_SCHED on RT
Subject: [PATCH 045/268] sched: Disable CONFIG_RT_GROUP_SCHED on RT
Carsten reported problems when running:
@ -18,10 +18,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 1 insertion(+)
diff --git a/init/Kconfig b/init/Kconfig
index f3f073942c30..707ca4d49944 100644
index ae9a0113a699..61e8b531649b 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -781,6 +781,7 @@ config CFS_BANDWIDTH
@@ -784,6 +784,7 @@ config CFS_BANDWIDTH
config RT_GROUP_SCHED
bool "Group scheduling for SCHED_RR/FIFO"
depends on CGROUP_SCHED

View File

@ -1,7 +1,7 @@
From a5a9737c0c6edf17eecb16a923a936432f11019e Mon Sep 17 00:00:00 2001
From efe57b197e5cc1e85e486bebe98e95235f5c3410 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Sat, 27 May 2017 19:02:06 +0200
Subject: [PATCH 046/269] net/core: disable NET_RX_BUSY_POLL
Subject: [PATCH 046/268] net/core: disable NET_RX_BUSY_POLL
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

View File

@ -1,7 +1,7 @@
From 0db6c523b2591dbf527c759ef1b3718f96bc3c29 Mon Sep 17 00:00:00 2001
From f9353b78df9da136edb2afc49f247e8576de5764 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 1 Dec 2017 10:42:03 +0100
Subject: [PATCH 047/269] arm*: disable NEON in kernel mode
Subject: [PATCH 047/268] arm*: disable NEON in kernel mode
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
@ -20,10 +20,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
3 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 27a5f0b9ddc7..91f4f80a6f24 100644
index 7d11242a37d2..e122dd212ab3 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -2161,7 +2161,7 @@ config NEON
@@ -2162,7 +2162,7 @@ config NEON
config KERNEL_MODE_NEON
bool "Support for NEON in kernel mode"

View File

@ -1,7 +1,7 @@
From 24bc2177006a16588c79a438ba84122ec215135a Mon Sep 17 00:00:00 2001
From 11ee0822882b1b72d163eb6fbdf161b8f9178f7c Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 14 Jul 2015 14:26:34 +0200
Subject: [PATCH 048/269] powerpc: Use generic rwsem on RT
Subject: [PATCH 048/268] powerpc: Use generic rwsem on RT
Use generic code which uses rtmutex

View File

@ -1,7 +1,7 @@
From 86dd7e931e1f812e0fc9b44545ed1f9ffc80dcae Mon Sep 17 00:00:00 2001
From ee886c042d19029e21776b96c9e1f1f9d00d2da4 Mon Sep 17 00:00:00 2001
From: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Date: Fri, 24 Apr 2015 15:53:13 +0000
Subject: [PATCH 049/269] powerpc/kvm: Disable in-kernel MPIC emulation for
Subject: [PATCH 049/268] powerpc/kvm: Disable in-kernel MPIC emulation for
PREEMPT_RT_FULL
While converting the openpic emulation code to use a raw_spinlock_t enables

View File

@ -1,7 +1,7 @@
From f5b4401c967f9ead16662b347d2082f8f2743205 Mon Sep 17 00:00:00 2001
From 9a80112c0cde9a52ce2e158bd6391f0e5035dc04 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 17:08:34 +0200
Subject: [PATCH 050/269] powerpc: Disable highmem on RT
Subject: [PATCH 050/268] powerpc: Disable highmem on RT
The current highmem handling on -RT is not compatible and needs fixups.

View File

@ -1,7 +1,7 @@
From 29b46bfd781d871ae857c940e6ef76454bf356c2 Mon Sep 17 00:00:00 2001
From 593308991349a9b9d16ccb020dee918680b9f6e4 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 17:10:12 +0200
Subject: [PATCH 051/269] mips: Disable highmem on RT
Subject: [PATCH 051/268] mips: Disable highmem on RT
The current highmem handling on -RT is not compatible and needs fixups.

View File

@ -1,7 +1,7 @@
From 789344b11534d2799fbc807496846f21869124b5 Mon Sep 17 00:00:00 2001
From 4609ae9016c2cac126bafd6b4efb7bc5be590bbc Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 26 Jul 2009 02:21:32 +0200
Subject: [PATCH 052/269] x86: Use generic rwsem_spinlocks on -rt
Subject: [PATCH 052/268] x86: Use generic rwsem_spinlocks on -rt
Simplifies the separation of anon_rw_semaphores and rw_semaphores for
-rt.

View File

@ -1,7 +1,7 @@
From 7554227ac04319dadc334245535dd1d21d258de0 Mon Sep 17 00:00:00 2001
From 542738bf81c9f5b0ab0de898b1c785fb12a5caf8 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 23 Jan 2014 14:45:59 +0100
Subject: [PATCH 053/269] leds: trigger: disable CPU trigger on -RT
Subject: [PATCH 053/268] leds: trigger: disable CPU trigger on -RT
as it triggers:
|CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.8-rt10 #141

View File

@ -1,7 +1,7 @@
From 57c3607ed990ada1d1636542d00bd3ed95e243da Mon Sep 17 00:00:00 2001
From 0dcf02e4d56dcf2255f436d792959cf28a04dc54 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 9 Apr 2015 15:23:01 +0200
Subject: [PATCH 054/269] cpufreq: drop K8's driver from beeing selected
Subject: [PATCH 054/268] cpufreq: drop K8's driver from beeing selected
Ralf posted a picture of a backtrace from

View File

@ -1,7 +1,7 @@
From 53eb768ccfb675d61d67bd236402aa90434a6923 Mon Sep 17 00:00:00 2001
From a01400fc47cb4ce13c00b03a908533848af6cf74 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 29 Aug 2013 11:48:57 +0200
Subject: [PATCH 055/269] md: disable bcache
Subject: [PATCH 055/268] md: disable bcache
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

View File

@ -1,7 +1,7 @@
From 62309a1da779bde384a7645a7d3e2713520a76da Mon Sep 17 00:00:00 2001
From d141803da471bfe539c38f8022cf8f6297aa27a6 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 26 Jul 2018 15:03:16 +0200
Subject: [PATCH 056/269] efi: Disable runtime services on RT
Subject: [PATCH 056/268] efi: Disable runtime services on RT
Based on meassurements the EFI functions get_variable /
get_next_variable take up to 2us which looks okay.

View File

@ -1,7 +1,7 @@
From 09acfc4d67168f054485eb40955069fa2390a5ec Mon Sep 17 00:00:00 2001
From 9de1c1091c3b7a7d6037733b3d3026601eb096cd Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 22 Jul 2011 17:58:40 +0200
Subject: [PATCH 057/269] printk: Add a printk kill switch
Subject: [PATCH 057/268] printk: Add a printk kill switch
Add a prinkt-kill-switch. This is used from (NMI) watchdog to ensure that
it does not dead-lock with the early printk code.

View File

@ -1,7 +1,7 @@
From 3dd75cbf0c1ddd8dc0a7c0492e86f7293a730145 Mon Sep 17 00:00:00 2001
From 55ac9fe1a16eab7f85e646280cb842f4cf31e27d Mon Sep 17 00:00:00 2001
From: Peter Zijlstra <peterz@infradead.org>
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/268] printk: Add "force_early_printk" boot param to help
with debugging
Gives me an option to screw printk and actually see what the machine

View File

@ -1,7 +1,7 @@
From 31772df387205be3a95e3d0bc21b7b81a244f6df Mon Sep 17 00:00:00 2001
From bfb747584de1b0f321d8f3b893580b4d39f93fec Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 24 Jul 2009 12:38:56 +0200
Subject: [PATCH 059/269] preempt: Provide preempt_*_(no)rt variants
Subject: [PATCH 059/268] preempt: Provide preempt_*_(no)rt variants
RT needs a few preempt_disable/enable points which are not necessary
otherwise. Implement variants to avoid #ifdeffery.

View File

@ -1,7 +1,7 @@
From c78bd62f56b86aa7717ac7a79e288fa8b3978573 Mon Sep 17 00:00:00 2001
From 66ea8bcf4a5d31c51bb0b08b6fcfdb920bf7df51 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 8 Mar 2017 14:23:35 +0100
Subject: [PATCH 060/269] futex: workaround migrate_disable/enable in different
Subject: [PATCH 060/268] futex: workaround migrate_disable/enable in different
context
migrate_disable()/migrate_enable() takes a different path in atomic() vs
@ -16,10 +16,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 19 insertions(+)
diff --git a/kernel/futex.c b/kernel/futex.c
index 5a26d843a015..1bd0950bea4e 100644
index afdc5eadce6e..304f07d08c95 100644
--- a/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.
*/
raw_spin_lock_irq(&q.pi_state->pi_mutex.wait_lock);
@ -34,7 +34,7 @@ index 5a26d843a015..1bd0950bea4e 100644
spin_unlock(q.lock_ptr);
/*
* __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);
raw_spin_unlock_irq(&q.pi_state->pi_mutex.wait_lock);
@ -42,7 +42,7 @@ index 5a26d843a015..1bd0950bea4e 100644
if (ret) {
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().
*/
raw_spin_lock_irq(&pi_state->pi_mutex.wait_lock);

View File

@ -1,7 +1,7 @@
From 5b811e266fa9c293395c73c7a21e7e5c5a51deb1 Mon Sep 17 00:00:00 2001
From 4104d3d4d2d94ac19edef31fef10a471b4085c24 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 20 Jun 2011 09:03:47 +0200
Subject: [PATCH 061/269] rt: Add local irq locks
Subject: [PATCH 061/268] rt: Add local irq locks
Introduce locallock. For !RT this maps to preempt_disable()/
local_irq_disable() so there is not much that changes. For RT this will

View File

@ -1,7 +1,7 @@
From 251ca7087d744d8b174f8488d2f7ea42cedaccf3 Mon Sep 17 00:00:00 2001
From c16b283427931d20279125c773aca78b01235f68 Mon Sep 17 00:00:00 2001
From: Julia Cartwright <julia@ni.com>
Date: Mon, 7 May 2018 08:58:56 -0500
Subject: [PATCH 062/269] locallock: provide {get,put}_locked_ptr() variants
Subject: [PATCH 062/268] locallock: provide {get,put}_locked_ptr() variants
Provide a set of locallocked accessors for pointers to per-CPU data;
this is useful for dynamically-allocated per-CPU regions, for example.

View File

@ -1,7 +1,7 @@
From bdf1c5db6f1c5d8fe706592f9373849948d65813 Mon Sep 17 00:00:00 2001
From c8f195054bbdf59c6e791bbd698d3ffce9776265 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 3 Jul 2009 08:44:34 -0500
Subject: [PATCH 063/269] mm/scatterlist: Do not disable irqs on RT
Subject: [PATCH 063/268] mm/scatterlist: Do not disable irqs on RT
For -RT it is enough to keep pagefault disabled (which is currently handled by
kmap_atomic()).

View File

@ -1,7 +1,7 @@
From d892f2116baf1643d4d3c792231c687fa49b71ce Mon Sep 17 00:00:00 2001
From 41445095315411d8baebfc36b2f6f30aefe2abc6 Mon Sep 17 00:00:00 2001
From: Oleg Nesterov <oleg@redhat.com>
Date: Tue, 14 Jul 2015 14:26:34 +0200
Subject: [PATCH 064/269] signal/x86: Delay calling signals in atomic
Subject: [PATCH 064/268] signal/x86: Delay calling signals in atomic
On x86_64 we must disable preemption before we enable interrupts
for stack faults, int3 and debugging, because the current task is using
@ -37,10 +37,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
4 files changed, 59 insertions(+), 2 deletions(-)
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
+++ 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)
schedule();
@ -94,7 +94,7 @@ index df39ad5916e7..535e57775208 100644
size_t sas_ss_size;
unsigned int sas_ss_flags;
diff --git a/kernel/signal.c b/kernel/signal.c
index f29def2be652..57c48b3d1491 100644
index d5a9646b3538..56edb0580a3a 100644
--- a/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,

View File

@ -1,7 +1,7 @@
From 6828880f532efdf1ded1248f5e0ea555e9520eda Mon Sep 17 00:00:00 2001
From f9d175548eeb780a2da87b33b2055b747bdf4618 Mon Sep 17 00:00:00 2001
From: Yang Shi <yang.shi@linaro.org>
Date: Thu, 10 Dec 2015 10:58:51 -0800
Subject: [PATCH 065/269] x86/signal: delay calling signals on 32bit
Subject: [PATCH 065/268] x86/signal: delay calling signals on 32bit
When running some ptrace single step tests on x86-32 machine, the below problem
is triggered:

View File

@ -1,7 +1,7 @@
From 651a49976e8e481190cc465a5590940a6f6bbcf9 Mon Sep 17 00:00:00 2001
From 4412fbb024c634740aa2ab4db609244bb957fb43 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 18 Mar 2011 09:18:52 +0100
Subject: [PATCH 066/269] buffer_head: Replace bh_uptodate_lock for -rt
Subject: [PATCH 066/268] buffer_head: Replace bh_uptodate_lock for -rt
Wrap the bit_spin_lock calls into a separate inline and add the RT
replacements with a real spinlock.

View File

@ -1,7 +1,7 @@
From 6107effb93a85ff7db4857dca4a0acc2ec4a7d5c Mon Sep 17 00:00:00 2001
From 35cce66d60508a5221b8ffdc4a6dabd3548ba2c9 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
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/268] fs: jbd/jbd2: Make state lock and journal head lock
rt safe
bit_spin_locks break under RT.
@ -44,7 +44,7 @@ index 8a1bcfb145d7..5869330d1f38 100644
}
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
+++ b/include/linux/jbd2.h
@@ -347,32 +347,56 @@ static inline struct journal_head *bh2jh(struct buffer_head *bh)

View File

@ -1,7 +1,7 @@
From 44a67462ebab9e354cfa669144248912fa92ca24 Mon Sep 17 00:00:00 2001
From 39396411087b5831b20ac4fa694b3001d358989d Mon Sep 17 00:00:00 2001
From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Fri, 21 Jun 2013 15:07:25 -0400
Subject: [PATCH 068/269] list_bl: Make list head locking RT safe
Subject: [PATCH 068/268] list_bl: Make list head locking RT safe
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

View File

@ -1,7 +1,7 @@
From 20f64514264a9d0ea1533f4743f542a1fb056a16 Mon Sep 17 00:00:00 2001
From fb2fdfdc67deb3b7b5541d28f9d2cdfbebbc7a9b Mon Sep 17 00:00:00 2001
From: Josh Cartwright <joshc@ni.com>
Date: Thu, 31 Mar 2016 00:04:25 -0500
Subject: [PATCH 069/269] list_bl: fixup bogus lockdep warning
Subject: [PATCH 069/268] list_bl: fixup bogus lockdep warning
At first glance, the use of 'static inline' seems appropriate for
INIT_HLIST_BL_HEAD().

View File

@ -1,7 +1,7 @@
From 7520cd851f5733f5e69fe73008893f4be48506f9 Mon Sep 17 00:00:00 2001
From 3eada8624fd7eee399757276e5f33f311f2baba3 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:57 -0500
Subject: [PATCH 070/269] genirq: Disable irqpoll on -rt
Subject: [PATCH 070/268] genirq: Disable irqpoll on -rt
Creates long latencies for no value

View File

@ -1,7 +1,7 @@
From 22860bd2c33dc3abc1b0aa695f8f455595762a93 Mon Sep 17 00:00:00 2001
From 3681b7011d489da9a82f90fee87711d1bab983fe Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 3 Apr 2011 11:57:29 +0200
Subject: [PATCH 071/269] genirq: Force interrupt thread on RT
Subject: [PATCH 071/268] genirq: Force interrupt thread on RT
Force threaded_irqs and optimize the code (force_irqthreads) in regard
to this.
@ -29,7 +29,7 @@ index eeceac3376fc..315f852b4981 100644
#define force_irqthreads (0)
#endif
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 5c0ba5ca5930..94a18cf54293 100644
index cd4f9f3e8345..c3b9f6dacd8f 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -23,6 +23,7 @@

View File

@ -1,7 +1,7 @@
From 3c22477fe8ef4919a3fb0314834751ad2e2134d8 Mon Sep 17 00:00:00 2001
From 95156c42eddf17dc207a94b719ec18b031e4a713 Mon Sep 17 00:00:00 2001
From: Peter Zijlstra <peterz@infradead.org>
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/268] Split IRQ-off and zone->lock while freeing pages from
PCP list #1
Split the IRQ-off section while accessing the PCP list from zone->lock

View File

@ -1,7 +1,7 @@
From e4639c8f6abcfb4b8b26aa296089349739103578 Mon Sep 17 00:00:00 2001
From 85fe71fd7fa2ac8945d33c49966dde1662a13228 Mon Sep 17 00:00:00 2001
From: Peter Zijlstra <peterz@infradead.org>
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/268] Split IRQ-off and zone->lock while freeing pages from
PCP list #2
Split the IRQ-off section while accessing the PCP list from zone->lock

View File

@ -1,7 +1,7 @@
From 21da9341b8a6c5d9308bf0c2fa3fe4647749f125 Mon Sep 17 00:00:00 2001
From e38ec11acd94c6fe346d33ce75e30349b1734e40 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
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/268] mm/SLxB: change list_lock to 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
@ -18,7 +18,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
3 files changed, 73 insertions(+), 73 deletions(-)
diff --git a/mm/slab.c b/mm/slab.c
index b8e0ec74330f..21fe15fb9624 100644
index 018d32496e8d..8ccc092fcd39 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -233,7 +233,7 @@ static void kmem_cache_node_init(struct kmem_cache_node *parent)
@ -368,7 +368,7 @@ index b8e0ec74330f..21fe15fb9624 100644
}
num_objs = total_slabs * cachep->num;
active_slabs = total_slabs - free_slabs;
@@ -4333,13 +4333,13 @@ static int leaks_show(struct seq_file *m, void *p)
@@ -4334,13 +4334,13 @@ static int leaks_show(struct seq_file *m, void *p)
for_each_kmem_cache_node(cachep, node, n) {
check_irq_on();

View File

@ -1,7 +1,7 @@
From 7950585d96adfc3a0b99a639041dbaed50e2a496 Mon Sep 17 00:00:00 2001
From e5dbe8c3a2188b0eed47fc087904da4df4f2711a Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
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/268] mm/SLUB: delay giving back empty slubs to IRQ enabled
regions
__free_slab() is invoked with disabled interrupts which increases the

View File

@ -1,7 +1,7 @@
From 31695882006c45fad86890ceff90dd7d65ea5dd3 Mon Sep 17 00:00:00 2001
From 1dc89f1379f4b2b2d2c1f1928faa9781232a804c Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:37 -0500
Subject: [PATCH 076/269] mm: page_alloc: rt-friendly per-cpu pages
Subject: [PATCH 076/268] mm: page_alloc: rt-friendly per-cpu pages
rt-friendly per-cpu pages: convert the irqs-off per-cpu locking
method into a preemptible, explicit-per-cpu-locks method.

View File

@ -1,7 +1,7 @@
From 25ce0ae0ad1ef1ed724757c0137241db28a8208d Mon Sep 17 00:00:00 2001
From 3f837e858bd7d4ee248e9b075cce128beaf94252 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:51 -0500
Subject: [PATCH 077/269] mm/swap: Convert to percpu locked
Subject: [PATCH 077/268] mm/swap: Convert to percpu locked
Replace global locks (get_cpu + local_irq_save) with "local_locks()".
Currently there is one of for "rotate" and one for "swap".

View File

@ -1,7 +1,7 @@
From c6e0c51ac7fe1d0892449e41e6792babe4d7c3fa Mon Sep 17 00:00:00 2001
From e06defe13153f9c3195a350898b54b88fe38867b Mon Sep 17 00:00:00 2001
From: Luiz Capitulino <lcapitulino@redhat.com>
Date: Fri, 27 May 2016 15:03:28 +0200
Subject: [PATCH 078/269] mm: perform lru_add_drain_all() remotely
Subject: [PATCH 078/268] mm: perform lru_add_drain_all() remotely
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

View File

@ -1,7 +1,7 @@
From b0971a2847fd9cd9f59eb19e6761f6800a33150d Mon Sep 17 00:00:00 2001
From c111e38989bb30e13df9f5480f5f549b31351d28 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:30:13 -0500
Subject: [PATCH 079/269] mm/vmstat: Protect per cpu variables with preempt
Subject: [PATCH 079/268] mm/vmstat: Protect per cpu variables with preempt
disable on RT
Disable preemption on -RT for the vmstat code. On vanila the code runs in

View File

@ -1,7 +1,7 @@
From 1062ea19aa6e1c3dacb44d07747c89b4f66dadc2 Mon Sep 17 00:00:00 2001
From 6d873013d0191323247ffcc8345c08178c272988 Mon Sep 17 00:00:00 2001
From: Frank Rowand <frank.rowand@am.sony.com>
Date: Sat, 1 Oct 2011 18:58:13 -0700
Subject: [PATCH 080/269] ARM: Initialize split page table locks for vector
Subject: [PATCH 080/268] ARM: Initialize split page table locks for vector
page
Without this patch, ARM can not use SPLIT_PTLOCK_CPUS if

View File

@ -1,7 +1,7 @@
From 7bd789a93c5b97d553b15fd8e446228d23456aff Mon Sep 17 00:00:00 2001
From 50c1ce833125e10e59496d55aadac08ac0dfec71 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 25 Oct 2012 10:32:35 +0100
Subject: [PATCH 081/269] mm: Enable SLUB for RT
Subject: [PATCH 081/268] mm: Enable SLUB for RT
Avoid the memory allocation in IRQ section

View File

@ -1,7 +1,7 @@
From 11224977de88f7f3ddc92b29390c44fdf9a85820 Mon Sep 17 00:00:00 2001
From 64d21bbe1300711eaf9a6c7d1977308201d8220b Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 9 Jan 2013 12:08:15 +0100
Subject: [PATCH 082/269] slub: Enable irqs for __GFP_WAIT
Subject: [PATCH 082/268] slub: Enable irqs for __GFP_WAIT
SYSTEM_RUNNING might be too late for enabling interrupts. Allocations
with GFP_WAIT can happen before that. So use this as an indicator.

View File

@ -1,7 +1,7 @@
From b8b912f1bb257eb44228b3bdb7652c4d6dcda56b Mon Sep 17 00:00:00 2001
From b652776b565212235e147d11064da4bf8f63c5df Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 15 Apr 2015 19:00:47 +0200
Subject: [PATCH 083/269] slub: Disable SLUB_CPU_PARTIAL
Subject: [PATCH 083/268] slub: Disable SLUB_CPU_PARTIAL
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915
|in_atomic(): 1, irqs_disabled(): 0, pid: 87, name: rcuop/7
@ -36,10 +36,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/init/Kconfig b/init/Kconfig
index 707ca4d49944..68b4e39e421b 100644
index 61e8b531649b..b4e88fb19c26 100644
--- a/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
default y

View File

@ -1,7 +1,7 @@
From 107eee1a14857d0aecad3c1f56f8b4cabbadcf89 Mon Sep 17 00:00:00 2001
From 74f8110e2380913103e09eb16ed6f41996d29278 Mon Sep 17 00:00:00 2001
From: Yang Shi <yang.shi@windriver.com>
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/268] mm/memcontrol: Don't call schedule_work_on in
preemption disabled context
The following trace is triggered when running ltp oom test cases:

View File

@ -1,7 +1,7 @@
From b1fa5897c72583b68655f7eeca2e598dbfa8a0b5 Mon Sep 17 00:00:00 2001
From 9fe5cd2edadfa8760b3ebc58af32d2d0f3ee8af4 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 28 Jan 2015 17:14:16 +0100
Subject: [PATCH 085/269] mm/memcontrol: Replace local_irq_disable with local
Subject: [PATCH 085/268] mm/memcontrol: Replace local_irq_disable with local
locks
There are a few local_irq_disable() which then take sleeping locks. This

View File

@ -1,7 +1,7 @@
From 83e42c20f52f70e65d03b214fd9c8579b0128f47 Mon Sep 17 00:00:00 2001
From eafb2205942eee5257b3fd40aa6b513b07a21661 Mon Sep 17 00:00:00 2001
From: Mike Galbraith <umgwanakikbuti@gmail.com>
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/268] mm/zsmalloc: copy with get_cpu_var() and locking
get_cpu_var() disables preemption and triggers a might_sleep() splat later.
This is replaced with get_locked_var().

View File

@ -1,7 +1,7 @@
From 2543c80b6aadc59c70c6b6e912ed1e6a9965b3c0 Mon Sep 17 00:00:00 2001
From 789271b9a5c962ee26a3ec8d65c7c58db403d9e4 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 11 Dec 2018 21:53:43 +0100
Subject: [PATCH 087/269] x86/mm/pat: disable preemption __split_large_page()
Subject: [PATCH 087/268] x86/mm/pat: disable preemption __split_large_page()
after spin_lock()
Commit "x86/mm/pat: Disable preemption around __flush_tlb_all()" added a

View File

@ -1,7 +1,7 @@
From 11c1fef6d646f26007271dd7486fe14176d6e6f6 Mon Sep 17 00:00:00 2001
From c279de8e446c1b1c790aef81b598e7b259ebd6e6 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 25 Jan 2017 16:34:27 +0100
Subject: [PATCH 088/269] radix-tree: use local locks
Subject: [PATCH 088/268] radix-tree: use local locks
The preload functionality uses per-CPU variables and preempt-disable to
ensure that it does not switch CPUs during its usage. This patch adds

View File

@ -1,7 +1,7 @@
From 558451a44923dab908e500200b3f6f02fd6e4fae Mon Sep 17 00:00:00 2001
From 76691edf9b2f9e9bce47a7fad48aed97af769508 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:34 -0500
Subject: [PATCH 089/269] timers: Prepare for full preemption
Subject: [PATCH 089/268] timers: Prepare for full preemption
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
@ -29,7 +29,7 @@ index 7b066fd38248..54627d046b3a 100644
#else
# define del_timer_sync(t) del_timer(t)
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
+++ b/kernel/sched/core.c
@@ -498,11 +498,14 @@ void resched_cpu(int cpu)

View File

@ -1,7 +1,7 @@
From ea0ad5586875098798cbf5d53bb21f2a5b82e537 Mon Sep 17 00:00:00 2001
From 78ee89fc14623b109a4b5383aac8ea85bb7cde47 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 6 Nov 2011 12:26:18 +0100
Subject: [PATCH 090/269] x86: kvm Require const tsc for RT
Subject: [PATCH 090/268] x86: kvm Require const tsc for RT
Non constant TSC is a nightmare on bare metal already, but with
virtualization it becomes a complete disaster because the workarounds
@ -14,10 +14,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 7 insertions(+)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 4a61e1609c97..0b4fd313b626 100644
index 7fed1d6dd1a1..b2b11374c663 100644
--- a/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;
}

View File

@ -1,7 +1,7 @@
From 8d76a7f3ba4284defc688a9131aa96e66eb1310a Mon Sep 17 00:00:00 2001
From 7e0d19b7cfe86f42ae378cdb488c207ad2ff152e Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
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/268] pci/switchtec: Don't use completion's wait queue
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

View File

@ -1,7 +1,7 @@
From f8a4f74be5bbce9f9664ebf005bb35f26875858f Mon Sep 17 00:00:00 2001
From f38b5d4083660218919ae8aaf04084ec81984b3f Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 28 Oct 2013 12:19:57 +0100
Subject: [PATCH 092/269] wait.h: include atomic.h
Subject: [PATCH 092/268] wait.h: include atomic.h
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

View File

@ -1,7 +1,7 @@
From 7cf55f71248f4f3c603383a84c73c5e44bfb9229 Mon Sep 17 00:00:00 2001
From 1f3734247d6d14bcd0adce848f10ed802dbbcacc Mon Sep 17 00:00:00 2001
From: Daniel Wagner <daniel.wagner@bmw-carit.de>
Date: Fri, 11 Jul 2014 15:26:11 +0200
Subject: [PATCH 093/269] work-simple: Simple work queue implemenation
Subject: [PATCH 093/268] work-simple: Simple work queue implemenation
Provides a framework for enqueuing callbacks from irq context
PREEMPT_RT_FULL safe. The callbacks are executed in kthread context.

View File

@ -1,7 +1,7 @@
From ba25a567c5891e2b1acd586212b0fd92ce755e71 Mon Sep 17 00:00:00 2001
From 6e00748d2128e6af60b7e37506da39208dc8e0ca Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 10 Sep 2018 18:00:31 +0200
Subject: [PATCH 094/269] work-simple: drop a shit statement in
Subject: [PATCH 094/268] work-simple: drop a shit statement in
SWORK_EVENT_PENDING
Dan Carpenter reported

View File

@ -1,7 +1,7 @@
From d24dfe04ec75d5329d870c0d20f56f2cba4563ec Mon Sep 17 00:00:00 2001
From 1ae4e1e50bf83abfe832fb78fab3b4ca6797ee18 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 11 Jan 2013 11:23:51 +0100
Subject: [PATCH 095/269] completion: Use simple wait queues
Subject: [PATCH 095/268] completion: Use simple wait queues
Completions have no long lasting callbacks and therefor do not need
the complex waitqueue variant. Use simple waitqueues which reduces the
@ -160,10 +160,10 @@ index 73e06e9986d4..f426a0661aa0 100644
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
index abef759de7c8..69e418787f21 100644
index f5ce9f7ec132..0f00ba01376f 100644
--- a/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;
}
@ -174,7 +174,7 @@ index abef759de7c8..69e418787f21 100644
/**
* 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;
}
@ -183,7 +183,7 @@ index abef759de7c8..69e418787f21 100644
lock_system_sleep();
/* The snapshot device should not be opened while we're running */
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);
Unlock:
unlock_system_sleep();
@ -319,10 +319,10 @@ index a1ad5b7d5521..755a58084978 100644
}
EXPORT_SYMBOL(completion_done);
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
+++ b/kernel/sched/core.c
@@ -7109,7 +7109,10 @@ void migrate_disable(void)
@@ -7116,7 +7116,10 @@ void migrate_disable(void)
return;
}
#ifdef CONFIG_SCHED_DEBUG
@ -334,7 +334,7 @@ index ddf6282d9780..8272d920b749 100644
#endif
if (p->migrate_disable) {
@@ -7139,7 +7142,10 @@ void migrate_enable(void)
@@ -7146,7 +7149,10 @@ void migrate_enable(void)
}
#ifdef CONFIG_SCHED_DEBUG

View File

@ -1,7 +1,7 @@
From 39010d30f3244de6b51646a0325b6292d8c84282 Mon Sep 17 00:00:00 2001
From 488ed4279b12fb35f1d3e865c60e7c2841807834 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 16 Feb 2015 18:49:10 +0100
Subject: [PATCH 096/269] fs/aio: simple simple work
Subject: [PATCH 096/268] fs/aio: simple simple work
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:768
|in_atomic(): 1, irqs_disabled(): 0, pid: 26, name: rcuos/2
@ -29,7 +29,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/fs/aio.c b/fs/aio.c
index 45d5ef8dd0a8..7db10b87c9bc 100644
index 911e23087dfb..16dcf8521c2c 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -42,6 +42,7 @@
@ -48,7 +48,7 @@ index 45d5ef8dd0a8..7db10b87c9bc 100644
/*
* 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,
.kill_sb = kill_anon_super,
};
@ -56,7 +56,7 @@ index 45d5ef8dd0a8..7db10b87c9bc 100644
aio_mnt = kern_mount(&aio_fs);
if (IS_ERR(aio_mnt))
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 -
* now it's safe to cancel any that need to be.
*/
@ -68,7 +68,7 @@ index 45d5ef8dd0a8..7db10b87c9bc 100644
struct aio_kiocb *req;
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);
}

View File

@ -1,7 +1,7 @@
From 2010005b28eea662f9390937d92563ea1c466e24 Mon Sep 17 00:00:00 2001
From 46fbd681dc222e3c76385b0421c6663371aa1738 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
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/268] genirq: Do not invoke the affinity callback via a
workqueue on RT
Joe Korty reported, that __irq_set_affinity_locked() schedules a
@ -11,9 +11,9 @@ This patch uses swork_queue() instead.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
include/linux/interrupt.h | 6 ++++++
kernel/irq/manage.c | 43 ++++++++++++++++++++++++++++++++++++---
2 files changed, 46 insertions(+), 3 deletions(-)
include/linux/interrupt.h | 6 +++++
kernel/irq/manage.c | 46 ++++++++++++++++++++++++++++++++++++---
2 files changed, 49 insertions(+), 3 deletions(-)
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index 315f852b4981..a943c07b54ba 100644
@ -48,7 +48,7 @@ index 315f852b4981..a943c07b54ba 100644
void (*release)(struct kref *ref);
};
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
+++ b/kernel/irq/manage.c
@@ -259,7 +259,12 @@ int irq_set_affinity_locked(struct irq_data *data, const struct cpumask *mask,
@ -125,6 +125,17 @@ index 94a18cf54293..d2270f61d335 100644
}
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

View File

@ -1,7 +1,7 @@
From 49622b7282a6c10c5a70f3987df4ccfe3a32c92b Mon Sep 17 00:00:00 2001
From c9994c24a20393e9dc9af05bf1859a0a81aeebba Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 15 Nov 2017 17:29:51 +0100
Subject: [PATCH 098/269] time/hrtimer: avoid schedule_work() with interrupts
Subject: [PATCH 098/268] time/hrtimer: avoid schedule_work() with interrupts
disabled
The NOHZ code tries to schedule a workqueue with interrupts disabled.

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