mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-20 17:49:10 +00:00
Merge pull request #3380 from TiejunChina/master-dev
update -rt to 4.19.50-rt22
This commit is contained in:
commit
1fd88b1dcc
@ -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
|
||||
|
@ -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)))
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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().
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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 @@
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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,
|
||||
|
@ -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)
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)"
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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()).
|
||||
|
@ -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,
|
||||
|
@ -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:
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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().
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 @@
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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();
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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".
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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().
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user