Merge branch 'carnil/4.19-stable-updates' into 'buster'

4.19 stable updates for buster

See merge request kernel-team/linux!196
This commit is contained in:
Ben Hutchings 2020-01-19 17:29:57 +00:00
commit 72ff5abae4
328 changed files with 3574 additions and 428515 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1255
debian/changelog vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
[abi]
abiname: 7
abiname: 8
ignore-changes:
__cpuhp_*
bpf_analyzer

View File

@ -1,7 +1,8 @@
From b08620f77bc1fbffba40e033f492a241bc2c62d6 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/290] ARM: at91: add TCB registers definitions
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3b15d99032dfca622e695f10a9934c16fa8b05a0
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Add registers and bits definitions for the timer counter blocks found on
Atmel ARM SoCs.
@ -204,3 +205,6 @@ index 000000000000..657e234b1483
+};
+
+#endif /* __SOC_ATMEL_TCB_H */
--
2.24.1

View File

@ -1,8 +1,9 @@
From bc9f46c6ecb0be8a5a14b31b032740f3a1d74761 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/290] clocksource/drivers: Add a new driver for the Atmel
ARM TC blocks
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1cc14d070ff9808e86cd76edc497abd71537b237
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Add a driver for the Atmel Timer Counter Blocks. This driver provides a
clocksource and two clockevent devices.
@ -479,3 +480,6 @@ index 000000000000..21fbe430f91b
+ bits);
+}
+TIMER_OF_DECLARE(atmel_tcb_clksrc, "atmel,tcb-timer", tcb_clksrc_init);
--
2.24.1

View File

@ -1,8 +1,9 @@
From bfee0cb2aad9baa607add364cd5a6c05d6782641 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/290] clocksource/drivers: timer-atmel-tcb: add clockevent
device on separate channel
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=10269a72d7656134bd29f2ef8a4cbd4d166ac825
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Add an other clockevent device that uses a separate TCB channel when
available.
@ -265,3 +266,6 @@ index 21fbe430f91b..63ce3b69338a 100644
}
}
--
2.24.1

View File

@ -1,7 +1,8 @@
From 00029cfcfece0c114d6428fcb7e52545a88cf2c1 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/290] clocksource/drivers: atmel-pit: make option silent
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7573710162f30e8c45e60a62ffd20cf4027360bf
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
To conform with the other option, make the ATMEL_PIT option silent so it
can be selected from the platform
@ -30,3 +31,6 @@ index 0ab22e7037f4..34b07047b91f 100644
config ATMEL_ST
bool "Atmel ST timer support" if COMPILE_TEST
--
2.24.1

View File

@ -1,7 +1,8 @@
From d6f57849d568f7bad4a562fc3466f773384c5af7 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/290] ARM: at91: Implement clocksource selection
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1c682aaa18596b92057ac104266f0d0fefa05ef0
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Allow selecting and unselecting the PIT clocksource driver so it doesn't
have to be compile when unused.
@ -49,3 +50,6 @@ index 903f23c309df..fa493a86e2bb 100644
config HAVE_AT91_UTMI
bool
--
2.24.1

View File

@ -1,7 +1,8 @@
From 218e2c7678889a89128237d82a61bf1f23d9cc77 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/290] ARM: configs: at91: use new TCB timer driver
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2100311e3ae9a532f88135fe46237e09ac77c7a3
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Unselecting ATMEL_TCLIB switches the TCB timer driver from tcb_clksrc to
timer-atmel-tcb.
@ -37,3 +38,6 @@ index 2080025556b5..f2bbc6339ca6 100644
CONFIG_ATMEL_SSC=y
CONFIG_EEPROM_AT24=y
CONFIG_SCSI=y
--
2.24.1

View File

@ -1,7 +1,8 @@
From 4773aa4fa5a18ca0b25a456fc06be41464775211 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/290] ARM: configs: at91: unselect PIT
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=09237389b9cefeb3f5e277ad4e35c5ca3b62db42
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
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.
@ -38,3 +39,6 @@ index f2bbc6339ca6..be92871ab155 100644
CONFIG_AEABI=y
CONFIG_UACCESS_WITH_MEMCPY=y
CONFIG_ZBOOT_ROM_TEXT=0x0
--
2.24.1

View File

@ -1,8 +1,9 @@
From 5322b48ab45dcd7e238e7a92c17746b904092021 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/290] irqchip/gic-v3-its: Move pending table allocation to
init time
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a0a08ef23f2e37ccaa18fb80939e9b43871e0667
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
@ -12,7 +13,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2 files changed, 53 insertions(+), 28 deletions(-)
diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
index e7549a2b1482..b68650b55b9f 100644
index 050d6e040128..fc4c319ee1d7 100644
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
@@ -179,6 +179,7 @@ static DEFINE_RAW_SPINLOCK(vmovp_lock);
@ -23,7 +24,7 @@ index e7549a2b1482..b68650b55b9f 100644
#define gic_data_rdist_rd_base() (gic_data_rdist()->rd_base)
#define gic_data_rdist_vlpi_base() (gic_data_rdist_rd_base() + SZ_128K)
@@ -1644,7 +1645,7 @@ static void its_free_prop_table(struct page *prop_page)
@@ -1659,7 +1660,7 @@ static void its_free_prop_table(struct page *prop_page)
get_order(LPI_PROPBASE_SZ));
}
@ -32,7 +33,7 @@ index e7549a2b1482..b68650b55b9f 100644
{
phys_addr_t paddr;
@@ -1992,30 +1993,47 @@ static u64 its_clear_vpend_valid(void __iomem *vlpi_base)
@@ -2007,30 +2008,47 @@ static u64 its_clear_vpend_valid(void __iomem *vlpi_base)
return val;
}
@ -95,7 +96,7 @@ index e7549a2b1482..b68650b55b9f 100644
/* set PROPBASE */
val = (page_to_phys(gic_rdists->prop_page) |
GICR_PROPBASER_InnerShareable |
@@ -2091,6 +2109,10 @@ static void its_cpu_init_lpis(void)
@@ -2106,6 +2124,10 @@ static void its_cpu_init_lpis(void)
/* Make sure the GIC has seen the above */
dsb(sy);
@ -106,7 +107,7 @@ index e7549a2b1482..b68650b55b9f 100644
}
static void its_cpu_init_collection(struct its_node *its)
@@ -3570,16 +3592,6 @@ static int redist_disable_lpis(void)
@@ -3585,16 +3607,6 @@ static int redist_disable_lpis(void)
u64 timeout = USEC_PER_SEC;
u64 val;
@ -123,7 +124,7 @@ index e7549a2b1482..b68650b55b9f 100644
if (!gic_rdists_supports_plpis()) {
pr_info("CPU%d: LPIs not supported\n", smp_processor_id());
return -ENXIO;
@@ -3589,7 +3601,18 @@ static int redist_disable_lpis(void)
@@ -3604,7 +3616,18 @@ static int redist_disable_lpis(void)
if (!(val & GICR_CTLR_ENABLE_LPIS))
return 0;
@ -143,7 +144,7 @@ index e7549a2b1482..b68650b55b9f 100644
smp_processor_id());
add_taint(TAINT_CRAP, LOCKDEP_STILL_OK);
@@ -3845,7 +3868,8 @@ int __init its_init(struct fwnode_handle *handle, struct rdists *rdists,
@@ -3860,7 +3883,8 @@ int __init its_init(struct fwnode_handle *handle, struct rdists *rdists,
}
gic_rdists = rdists;
@ -165,3 +166,6 @@ index 3188c0bef3e7..5b57501fd2e7 100644
} __percpu *rdist;
struct page *prop_page;
u64 flags;
--
2.24.1

View File

@ -1,7 +1,8 @@
From e2fc3df409c6764dc2c394061aae000a86437a7c 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/290] kthread: convert worker lock to raw spinlock
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=781154b56e9d694b817b093e6c4a22cbb0ad20d8
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
In order to enable the queuing of kthread work items from hardirq
context even when PREEMPT_RT_FULL is enabled, convert the worker
@ -197,3 +198,6 @@ index 087d18d771b5..5641b55783a6 100644
out:
return ret;
}
--
2.24.1

View File

@ -1,10 +1,11 @@
From ba865f26206ec12d7d6a140c2a9f6871c7be3d5f 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/290] crypto: caam/qi - simplify CGR allocation, freeing
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1d10c08ca4b5279cfa1f77d05dded9377191ed3f
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
[Upstream commit 29e83c757006fd751966bdc53392bb22d74179c6]
@ -134,3 +135,6 @@ index 357b69f57072..b6c8acc30853 100644
/**
* qi_cache_alloc - Allocate buffers from CAAM-QI cache
--
2.24.1

View File

@ -1,7 +1,8 @@
From 147b5bb1f8cd2975bdfa1368ba792f28df1ab8a6 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/290] sched/fair: Robustify CFS-bandwidth timer locking
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1a1e9d89852d01e24232b177091911f075b64f65
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Traditionally hrtimer callbacks were run with IRQs disabled, but with
the introduction of HRTIMER_MODE_SOFT it is possible they run from
@ -24,16 +25,15 @@ Tested-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20190107125231.GE14122@hirez.programming.kicks-ass.net
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
[Salvatore Bonaccorso: Backport to 4.19.84 due to context changes caused by
502bd151448c ("sched/fair: Fix low cpu usage with high throttling by removing
expiration of cpu-local slices")]
---
kernel/sched/fair.c | 30 ++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index f0abb8fe0ae9..b5e03fc56d65 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -4560,7 +4560,7 @@
@@ -4560,7 +4560,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b, u64 remaining)
struct rq *rq = rq_of(cfs_rq);
struct rq_flags rf;
@ -42,7 +42,7 @@ expiration of cpu-local slices")]
if (!cfs_rq_throttled(cfs_rq))
goto next;
@@ -4579,7 +4579,7 @@
@@ -4579,7 +4579,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b, u64 remaining)
unthrottle_cfs_rq(cfs_rq);
next:
@ -51,7 +51,7 @@ expiration of cpu-local slices")]
if (!remaining)
break;
@@ -4595,7 +4595,7 @@
@@ -4595,7 +4595,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b, u64 remaining)
* period the timer is deactivated until scheduling resumes; cfs_b->idle is
* used to track this state.
*/
@ -60,7 +60,7 @@ expiration of cpu-local slices")]
{
u64 runtime;
int throttled;
@@ -4635,10 +4635,10 @@
@@ -4635,10 +4635,10 @@ 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 @@ expiration of cpu-local slices")]
cfs_b->distribute_running = 0;
throttled = !list_empty(&cfs_b->throttled_cfs_rq);
@@ -4746,16 +4746,17 @@
@@ -4746,16 +4746,17 @@ 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();
@ -94,7 +94,7 @@ expiration of cpu-local slices")]
return;
}
@@ -4765,17 +4766,17 @@
@@ -4765,17 +4766,17 @@ static void do_sched_cfs_slack_timer(struct cfs_bandwidth *cfs_b)
if (runtime)
cfs_b->distribute_running = 1;
@ -115,7 +115,7 @@ expiration of cpu-local slices")]
}
/*
@@ -4855,11 +4856,12 @@
@@ -4855,11 +4856,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);
@ -129,7 +129,7 @@ expiration of cpu-local slices")]
for (;;) {
overrun = hrtimer_forward_now(timer, cfs_b->period);
if (!overrun)
@@ -4887,11 +4889,11 @@
@@ -4895,11 +4897,11 @@ static enum hrtimer_restart sched_cfs_period_timer(struct hrtimer *timer)
count = 0;
}
@ -143,3 +143,6 @@ expiration of cpu-local slices")]
return idle ? HRTIMER_NORESTART : HRTIMER_RESTART;
}
--
2.24.1

View File

@ -1,7 +1,8 @@
From fd46cb23c2b2f9fe3514d2e773f289e0e2f46d73 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/290] arm: Convert arm boot_lock to raw
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9ebc1e4c87e1febc77c492b70626744e2249c23f
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
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.
@ -426,3 +427,6 @@ index c2366510187a..6b60f582b738 100644
return pen_release != -1 ? -ENOSYS : 0;
}
--
2.24.1

View File

@ -1,8 +1,9 @@
From 2ab61b3cb2b66bd2515c8531da37be20f5cc14a9 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/290] x86/ioapic: Don't let setaffinity unmask threaded EOI
interrupt too early
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=269b937b10ea6588bf79b4d789c40cc5214711cf
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
There is an issue with threaded interrupts which are marked ONESHOT
and using the fasteoi handler.
@ -30,27 +31,23 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
ifdef paths (spotted by Andy Shevchenko)]
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
arch/x86/kernel/apic/io_apic.c | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
arch/x86/kernel/apic/io_apic.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index ab22eded61d2..91db2ec0c10a 100644
index fa3b85b222e3..1bdad61a3ef7 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -1722,19 +1722,20 @@ static bool io_apic_level_ack_pending(struct mp_chip_data *data)
@@ -1722,7 +1722,7 @@ static bool io_apic_level_ack_pending(struct mp_chip_data *data)
return false;
}
-static inline bool ioapic_irqd_mask(struct irq_data *data)
+static inline bool ioapic_prepare_move(struct irq_data *data)
{
/* If we are moving the irq we need to mask it */
/* If we are moving the IRQ we need to mask it */
if (unlikely(irqd_is_setaffinity_pending(data))) {
- mask_ioapic_irq(data);
+ if (!irqd_irq_masked(data))
+ mask_ioapic_irq(data);
return true;
}
@@ -1733,9 +1733,9 @@ static inline bool ioapic_irqd_mask(struct irq_data *data)
return false;
}
@ -62,14 +59,7 @@ index ab22eded61d2..91db2ec0c10a 100644
/* Only migrate the irq if the ack has been received.
*
* On rare occasions the broadcast level triggered ack gets
@@ -1763,15 +1764,17 @@ static inline void ioapic_irqd_unmask(struct irq_data *data, bool masked)
*/
if (!io_apic_level_ack_pending(data->chip_data))
irq_move_masked_irq(data);
- unmask_ioapic_irq(data);
+ /* If the irq is masked in the core, leave it */
+ if (!irqd_irq_masked(data))
+ unmask_ioapic_irq(data);
@@ -1770,11 +1770,11 @@ static inline void ioapic_irqd_unmask(struct irq_data *data, bool masked)
}
}
#else
@ -83,7 +73,7 @@ index ab22eded61d2..91db2ec0c10a 100644
{
}
#endif
@@ -1780,11 +1783,11 @@ static void ioapic_ack_level(struct irq_data *irq_data)
@@ -1783,11 +1783,11 @@ static void ioapic_ack_level(struct irq_data *irq_data)
{
struct irq_cfg *cfg = irqd_cfg(irq_data);
unsigned long v;
@ -97,7 +87,7 @@ index ab22eded61d2..91db2ec0c10a 100644
/*
* It appears there is an erratum which affects at least version 0x11
@@ -1839,7 +1842,7 @@ static void ioapic_ack_level(struct irq_data *irq_data)
@@ -1842,7 +1842,7 @@ static void ioapic_ack_level(struct irq_data *irq_data)
eoi_ioapic_pin(cfg->vector, irq_data->chip_data);
}
@ -106,3 +96,6 @@ index ab22eded61d2..91db2ec0c10a 100644
}
static void ioapic_ir_ack_level(struct irq_data *irq_data)
--
2.24.1

View File

@ -1,7 +1,8 @@
From 56933f479ee6e504e58236259c2fdacd09bcdeb1 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/290] cgroup: use irqsave in cgroup_rstat_flush_locked()
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a46bfc03c899ec820ba9e964b1bac8ee7ffc5f2f
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
All callers of cgroup_rstat_flush_locked() acquire cgroup_rstat_lock
either with spin_lock_irq() or spin_lock_irqsave().
@ -44,3 +45,6 @@ index bb95a35e8c2d..3266a9781b4e 100644
/* if @may_sleep, play nice and yield if necessary */
if (may_sleep && (need_resched() ||
--
2.24.1

View File

@ -1,7 +1,8 @@
From 11a5fe1b2f98fc37eac8919e99282c1b91f5bb05 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/290] fscache: initialize cookie hash table raw spinlocks
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=534df1b6875bc0ff92dc2bd5c5fcbe82f606443f
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
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
@ -58,3 +59,6 @@ index 84b90a79d75a..87a9330eafa2 100644
/**
* fscache_register_netfs - Register a filesystem as desiring caching services
--
2.24.1

View File

@ -1,10 +1,11 @@
From 42e5ab6924b31025c97846b749ebe188ee4b5fdd 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/290] Drivers: hv: vmbus: include header for get_irq_regs()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=32d049f2969bf30456b5afbcf2c709e7667ee6f7
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
On !RT the header file get_irq_regs() gets pulled in via other header files. On
RT it does not and the build fails:
@ -34,3 +35,6 @@ index 87d3d7da78f8..1d2d8a4b837d 100644
#include "hv_trace.h"
--
2.24.1

View File

@ -1,7 +1,8 @@
From bc0b4a3ef268cec82163752ddaa730d8ec193d7c 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/290] percpu: include irqflags.h for raw_local_irq_save()
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f917aafbaad3be951578ed66aa337f869b407357
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
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
@ -27,3 +28,6 @@ index 1817a8415a5e..942d64c0476e 100644
#ifdef CONFIG_SMP
--
2.24.1

View File

@ -1,7 +1,8 @@
From da834999f8c566ac722fd157de36dd3f9335c2ad 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/290] efi: Allow efi=runtime
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0e3cdde741d28e9a96be78eff57024bfa1807a9d
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
In case the option "efi=noruntime" is default at built-time, the user
could overwrite its sate by `efi=runtime' and allow it again.
@ -26,3 +27,6 @@ index d54fca902e64..5db20908aa9c 100644
return 0;
}
early_param("efi", parse_efi_cmdline);
--
2.24.1

View File

@ -1,7 +1,8 @@
From d24d03df7b0c0b6a0975a373a815487a220ee93b 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/290] x86/efi: drop task_lock() from efi_switch_mm()
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=50a52c8407c717fe21f31d5ae907a1fd3ec7fd32
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
efi_switch_mm() is a wrapper around switch_mm() which saves current's
->active_mm, sets the requests mm as ->active_mm and invokes
@ -49,3 +50,6 @@ index ee5d08f25ce4..e8da7f492970 100644
}
#ifdef CONFIG_EFI_MIXED
--
2.24.1

View File

@ -1,8 +1,9 @@
From 057073be1e10190ea715360a6fde5478df36b563 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/290] arm64: KVM: compute_layout before altenates are
applied
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7cf32c5e928501c234cefb60c14a7d2516bfdd27
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
compute_layout() is invoked as part of an alternative fixup under
stop_machine() and needs a sleeping lock as part of get_random_long().
@ -77,3 +78,6 @@ index c712a7376bc1..792da0e125de 100644
/*
* Compute HYP VA by using the same computation as kern_hyp_va()
*/
--
2.24.1

View File

@ -1,8 +1,9 @@
From af2b5f6fa1369ed12974a97865df6125bbede492 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/290] of: allocate / free phandle cache outside of the
devtree_lock
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=62698ea1b5cfaf8b88d0df4b9b1acbf8ff591dac
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
The phandle cache code allocates memory while holding devtree_lock which
is a raw_spinlock_t. Memory allocation (and free()) is not possible on
@ -18,7 +19,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/drivers/of/base.c b/drivers/of/base.c
index 3f21ea6a90dc..2c7cf83b200c 100644
index f0dbb7ad88cf..c59b30bab0e0 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -130,31 +130,34 @@ static u32 phandle_cache_mask;
@ -97,3 +98,6 @@ index 3f21ea6a90dc..2c7cf83b200c 100644
}
void __init of_core_init(void)
--
2.24.1

View File

@ -1,7 +1,8 @@
From 90ac218590a6d692a0dafeeef4bfafea30811be3 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/290] mm/kasan: make quarantine_lock a raw_spinlock_t
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=dea0e8e741a34a81211d1fc0eb65e8d48ed39059
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
The static lock quarantine_lock is used in quarantine.c to protect the
quarantine queue datastructures. It is taken inside quarantine queue
@ -92,3 +93,6 @@ index 3a8ddf8baf7d..b209dbaefde8 100644
qlist_free_all(&to_free, cache);
--
2.24.1

View File

@ -1,8 +1,9 @@
From 37d23bb703b59574c9eeebba86f8c8b9cf382d15 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/290] EXP rcu: Revert expedited GP parallelization
cleverness
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3a435c0a8c0607a971d75a41cf00b45699e690cc
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
(Commit 258ba8e089db23f760139266c232f01bad73f85c from linux-rcu)
@ -45,3 +46,6 @@ index 0b2c2ad69629..a0486414edb4 100644
rnp->exp_need_flush = true;
}
--
2.24.1

View File

@ -1,10 +1,11 @@
From 5a62bb92ae6df828a0b6cf14c0e1d55558f0002e 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/290] kmemleak: Turn kmemleak_lock to raw spinlock on RT
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d823b15c5b9f5edcf6111f3b480674e4c2e42847
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
kmemleak_lock, as a rwlock on RT, can possibly be held in atomic context and
causes the follow BUG.
@ -163,3 +164,6 @@ index 5eeabece0c17..92ce99b15f2b 100644
}
/*
--
2.24.1

View File

@ -1,7 +1,8 @@
From 78cfba1f8655c35ecd538b02a09000d4d7d18af9 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/290] NFSv4: replace seqcount_t with a seqlock_t
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=23180e2794932f9ce1ba1e0ef1ebb6a04c9ff676
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
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
@ -18,8 +19,6 @@ block readers).
Reported-by: kernel test robot <xiaolong.ye@intel.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
[Aurelien Jarno: Backport to 4.19.86 due to context changes caused by
aa84e0458d853 ("NFSv4.x: fix lock recovery during delegation recall")]
---
fs/nfs/delegation.c | 4 ++--
fs/nfs/nfs4_fs.h | 2 +-
@ -28,10 +27,10 @@ aa84e0458d853 ("NFSv4.x: fix lock recovery during delegation recall")]
4 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c
index 825a8c52165a..c14f02b41f0d 100644
index 74ff459b75ef..6b422d1b5ae1 100644
--- a/fs/nfs/delegation.c
+++ b/fs/nfs/delegation.c
@@ -152,11 +152,11 @@ static int nfs_delegation_claim_opens(struct inode *inode,
@@ -162,11 +162,11 @@ static int nfs_delegation_claim_opens(struct inode *inode,
sp = state->owner;
/* Block nfs4_proc_unlck */
mutex_lock(&sp->so_delegreturn_mutex);
@ -59,10 +58,10 @@ index 5b61520dce88..2771aafaca19 100644
};
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 75faef7af22d..72abcccb8177 100644
index 792f8821b5d6..041d235cf5ef 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -2873,7 +2873,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata,
@@ -2870,7 +2870,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata,
unsigned int seq;
int ret;
@ -71,7 +70,7 @@ index 75faef7af22d..72abcccb8177 100644
ret = _nfs4_proc_open(opendata, ctx);
if (ret != 0)
@@ -2914,7 +2914,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata,
@@ -2911,7 +2911,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata,
if (d_inode(dentry) == state->inode) {
nfs_inode_attach_open_context(ctx);
@ -132,3 +131,6 @@ index b3086e99420c..c9bf1eb7e1b2 100644
return status;
}
--
2.24.1

View File

@ -1,3 +1,4 @@
From f8da0dd0f5a6dd0097a13f5f59567b9d7a91d0f4 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/290] kernel: sched: Provide a pointer to the valid CPU
@ -5,7 +6,7 @@ Subject: [PATCH 026/290] kernel: sched: Provide a pointer to the valid CPU
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6e2bd8c3352b171ecbd5aaae16f7abd30a82342c
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
In commit 4b53a3412d66 ("sched/core: Remove the tsk_nr_cpus_allowed()
wrapper") the tsk_nr_cpus_allowed() wrapper was removed. There was not
@ -165,10 +166,10 @@ 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 912d53939f4f..6b8dc68b5ccc 100644
index a999a58ca331..d6410d0740ea 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)
@@ -1445,7 +1445,7 @@ static int pseudo_lock_dev_mmap(struct file *filp, struct vm_area_struct *vma)
* may be scheduled elsewhere and invalidate entries in the
* pseudo-locked region.
*/
@ -209,10 +210,10 @@ index bedd5fba33b0..3f4259f11a35 100644
current->pid, current->comm,
cpumask_pr_args(proc_mask));
diff --git a/drivers/infiniband/hw/hfi1/sdma.c b/drivers/infiniband/hw/hfi1/sdma.c
index 64ab92f8a4a2..57ec8bb829f2 100644
index 291c12f588b5..05e7b28a03c1 100644
--- a/drivers/infiniband/hw/hfi1/sdma.c
+++ b/drivers/infiniband/hw/hfi1/sdma.c
@@ -852,14 +852,13 @@ struct sdma_engine *sdma_select_user_engine(struct hfi1_devdata *dd,
@@ -853,14 +853,13 @@ struct sdma_engine *sdma_select_user_engine(struct hfi1_devdata *dd,
{
struct sdma_rht_node *rht_node;
struct sdma_engine *sde = NULL;
@ -320,10 +321,10 @@ index ff956ccbb6df..7bb129c5b412 100644
}
diff --git a/kernel/fork.c b/kernel/fork.c
index aef1430bdce0..173e010cba45 100644
index 8cb5cd7c97e1..8c285876eb52 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)
@@ -840,6 +840,8 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node)
#ifdef CONFIG_STACKPROTECTOR
tsk->stack_canary = get_random_canary();
#endif
@ -333,7 +334,7 @@ index aef1430bdce0..173e010cba45 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 78ecdfae25b6..39bb4b3eb1bf 100644
index 2befd2c4ce9e..07dc66137a26 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)
@ -474,7 +475,7 @@ index 78ecdfae25b6..39bb4b3eb1bf 100644
raw_spin_unlock_irqrestore(&p->pi_lock, flags);
out_unlock:
@@ -5495,7 +5495,7 @@ int task_can_attach(struct task_struct *p,
@@ -5496,7 +5496,7 @@ int task_can_attach(struct task_struct *p,
* allowed nodes is unnecessary. Thus, cpusets are not
* applicable for such threads. This prevents checking for
* success of set_cpus_allowed_ptr() on all attached tasks
@ -483,7 +484,7 @@ index 78ecdfae25b6..39bb4b3eb1bf 100644
*/
if (p->flags & PF_NO_SETAFFINITY) {
ret = -EINVAL;
@@ -5522,7 +5522,7 @@ int migrate_task_to(struct task_struct *p, int target_cpu)
@@ -5523,7 +5523,7 @@ int migrate_task_to(struct task_struct *p, int target_cpu)
if (curr_cpu == target_cpu)
return 0;
@ -492,7 +493,7 @@ index 78ecdfae25b6..39bb4b3eb1bf 100644
return -EINVAL;
/* TODO: This is not properly updating schedstats */
@@ -5660,7 +5660,7 @@ static void migrate_tasks(struct rq *dead_rq, struct rq_flags *rf)
@@ -5661,7 +5661,7 @@ static void migrate_tasks(struct rq *dead_rq, struct rq_flags *rf)
put_prev_task(rq, next);
/*
@ -572,7 +573,7 @@ index ebec37cb3be9..4b13df38c069 100644
!dl_task(task) ||
!task_on_rq_queued(task))) {
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index b40d8c71e335..da5d60d25c27 100644
index b5e03fc56d65..6e6d9e999814 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -1662,7 +1662,7 @@ static void task_numa_compare(struct task_numa_env *env,
@ -593,7 +594,7 @@ index b40d8c71e335..da5d60d25c27 100644
continue;
env->dst_cpu = cpu;
@@ -5800,7 +5800,7 @@ find_idlest_group(struct sched_domain *sd, struct task_struct *p,
@@ -5743,7 +5743,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 +603,7 @@ index b40d8c71e335..da5d60d25c27 100644
continue;
local_group = cpumask_test_cpu(this_cpu,
@@ -5932,7 +5932,7 @@ find_idlest_group_cpu(struct sched_group *group, struct task_struct *p, int this
@@ -5875,7 +5875,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 +612,7 @@ index b40d8c71e335..da5d60d25c27 100644
if (available_idle_cpu(i)) {
struct rq *rq = cpu_rq(i);
struct cpuidle_state *idle = idle_get_state(rq);
@@ -5972,7 +5972,7 @@ static inline int find_idlest_cpu(struct sched_domain *sd, struct task_struct *p
@@ -5915,7 +5915,7 @@ static inline int find_idlest_cpu(struct sched_domain *sd, struct task_struct *p
{
int new_cpu = cpu;
@ -620,7 +621,7 @@ index b40d8c71e335..da5d60d25c27 100644
return prev_cpu;
/*
@@ -6089,7 +6089,7 @@ static int select_idle_core(struct task_struct *p, struct sched_domain *sd, int
@@ -6032,7 +6032,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 +630,7 @@ index b40d8c71e335..da5d60d25c27 100644
for_each_cpu_wrap(core, cpus, target) {
bool idle = true;
@@ -6123,7 +6123,7 @@ static int select_idle_smt(struct task_struct *p, struct sched_domain *sd, int t
@@ -6066,7 +6066,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 +639,7 @@ index b40d8c71e335..da5d60d25c27 100644
continue;
if (available_idle_cpu(cpu))
return cpu;
@@ -6186,7 +6186,7 @@ static int select_idle_cpu(struct task_struct *p, struct sched_domain *sd, int t
@@ -6129,7 +6129,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 +648,7 @@ index b40d8c71e335..da5d60d25c27 100644
continue;
if (available_idle_cpu(cpu))
break;
@@ -6223,7 +6223,7 @@ static int select_idle_sibling(struct task_struct *p, int prev, int target)
@@ -6166,7 +6166,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 +657,7 @@ index b40d8c71e335..da5d60d25c27 100644
/*
* Replace recent_used_cpu with prev as it is a potential
* candidate for the next wake:
@@ -6441,7 +6441,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int sd_flag, int wake_f
@@ -6384,7 +6384,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 +666,7 @@ index b40d8c71e335..da5d60d25c27 100644
}
rcu_read_lock();
@@ -7180,14 +7180,14 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env)
@@ -7123,14 +7123,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 +683,7 @@ index b40d8c71e335..da5d60d25c27 100644
int cpu;
schedstat_inc(p->se.statistics.nr_failed_migrations_affine);
@@ -7207,7 +7207,7 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env)
@@ -7150,7 +7150,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 +692,7 @@ index b40d8c71e335..da5d60d25c27 100644
env->flags |= LBF_DST_PINNED;
env->new_dst_cpu = cpu;
break;
@@ -7804,7 +7804,7 @@ check_cpu_capacity(struct rq *rq, struct sched_domain *sd)
@@ -7747,7 +7747,7 @@ check_cpu_capacity(struct rq *rq, struct sched_domain *sd)
/*
* Group imbalance indicates (and tries to solve) the problem where balancing
@ -700,7 +701,7 @@ index b40d8c71e335..da5d60d25c27 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.
@@ -8419,7 +8419,7 @@ static struct sched_group *find_busiest_group(struct lb_env *env)
@@ -8362,7 +8362,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 +710,7 @@ index b40d8c71e335..da5d60d25c27 100644
*/
if (busiest->group_type == group_imbalanced)
goto force_balance;
@@ -8815,7 +8815,7 @@ static int load_balance(int this_cpu, struct rq *this_rq,
@@ -8758,7 +8758,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:
*/
@ -779,3 +780,6 @@ index 5522692100ba..8b4be8e1802a 100644
trace_foo_with_template_simple("HELLO", cnt);
--
2.24.1

View File

@ -1,7 +1,8 @@
From a73bbe4b98f56b8c69e3932df7e083d1d94f5109 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/290] kernel/sched/core: add migrate_disable()
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=70a9ac89b97eb9275f3eb6d7adbba77ddd059fee
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
---
include/linux/preempt.h | 23 +++++++
@ -85,7 +86,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 39bb4b3eb1bf..1a1ffb873d22 100644
index 07dc66137a26..d0450f06612c 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 +145,7 @@ index 39bb4b3eb1bf..1a1ffb873d22 100644
if (task_running(rq, p) || p->state == TASK_WAKING) {
struct migration_arg arg = { p, dest_cpu };
/* Need help from migration thread: drop lock and wait. */
@@ -7104,3 +7133,100 @@ const u32 sched_prio_to_wmult[40] = {
@@ -7105,3 +7134,100 @@ const u32 sched_prio_to_wmult[40] = {
};
#undef CREATE_TRACE_POINTS
@ -260,3 +261,6 @@ index 78fadf0438ea..5027158d3908 100644
#undef PN_SCHEDSTAT
#undef PN
#undef __PN
--
2.24.1

View File

@ -1,8 +1,9 @@
From ac059eda6d9782325d4d8432b5bee7638eafd90a 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/290] sched/migrate_disable: Add export_symbol_gpl for
__migrate_disabled
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ef09fdabc9d1ade69d87d4d674857172b6d172ee
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Jonathan reported that lttng/modules can't use __migrate_disabled().
This function is only used by sched/core itself and the tracing
@ -21,7 +22,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 1a1ffb873d22..a33c2c18628d 100644
index d0450f06612c..e6022cc2605b 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -1013,6 +1013,7 @@ int __migrate_disabled(struct task_struct *p)
@ -32,3 +33,6 @@ index 1a1ffb873d22..a33c2c18628d 100644
#endif
static void __do_set_cpus_allowed_tail(struct task_struct *p,
--
2.24.1

View File

@ -1,7 +1,8 @@
From b4f795e23aa449ae7116c445646a5ee51f90c022 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/290] arm: at91: do not disable/enable clocks in a row
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=619e4305a3a3a2296ec9a1fc32f84fb09a12f555
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Currently the driver will disable the clock and enable it one line later
if it is switching from periodic mode into one shot.
@ -92,3 +93,6 @@ index 43f4d5c4d6fa..de6baf564dfe 100644
.set_state_periodic = tc_set_periodic,
.set_state_oneshot = tc_set_oneshot,
},
--
2.24.1

View File

@ -1,3 +1,4 @@
From 45b7375a7348d45d17515da0b294d479805fd855 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/290] clocksource: TCLIB: Allow higher clock rates for
@ -5,7 +6,7 @@ Subject: [PATCH 030/290] clocksource: TCLIB: Allow higher clock rates for
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8abf3e475b2921798e61e686140e077146360f1a
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
As default the TCLIB uses the 32KiHz base clock rate for clock events.
Add a compile time selection to allow higher clock resulution.
@ -164,3 +165,6 @@ index 3726eacdf65d..0900dec7ec04 100644
config DUMMY_IRQ
tristate "Dummy IRQ handler"
default n
--
2.24.1

View File

@ -1,7 +1,8 @@
From fe98a4f2036225a3ccb28c230f5245fa0eddec4c 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/290] timekeeping: Split jiffies seqlock
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=37dae8435d79cbcc247b536cb16f55db30295418
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Replace jiffies_lock seqlock with a simple seqcounter and a rawlock so
it can be taken in atomic context on RT.
@ -135,10 +136,10 @@ index 5b33e2f5c0ed..54fd344ef973 100644
ts->timer_expires_base = basemono;
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index c2708e1f0c69..13477f8ee80e 100644
index 81ee5b83c920..512db778f442 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -2418,8 +2418,10 @@ EXPORT_SYMBOL(hardpps);
@@ -2394,8 +2394,10 @@ EXPORT_SYMBOL(hardpps);
*/
void xtime_update(unsigned long ticks)
{
@ -165,3 +166,6 @@ index 141ab3ab0354..099737f6f10c 100644
#define CS_NAME_LEN 32
--
2.24.1

View File

@ -1,7 +1,8 @@
From fc38cdec8c7fa26cc2b0520c1cd0eb9ff96c969a 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/290] signal: Revert ptrace preempt magic
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=34b289f78753746be46c707628324cd79730dac2
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Upstream commit '53da1d9456fe7f8 fix ptrace slowness' is nothing more
than a bandaid around the ptrace design trainwreck. It's not a
@ -13,10 +14,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 8 deletions(-)
diff --git a/kernel/signal.c b/kernel/signal.c
index 0e6bc3049427..d5a9646b3538 100644
index 7278302e3485..6b9d4bbfa9df 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)
@@ -2098,15 +2098,7 @@ static void ptrace_stop(int exit_code, int why, int clear_code, siginfo_t *info)
if (gstop_done && ptrace_reparented(current))
do_notify_parent_cldstop(current, false, why);
@ -32,3 +33,6 @@ index 0e6bc3049427..d5a9646b3538 100644
freezable_schedule();
} else {
/*
--
2.24.1

View File

@ -1,7 +1,8 @@
From 280627bfccdc36087f174418d56e57d027552a14 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/290] net: sched: Use msleep() instead of yield()
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e83295f1ca6355381c6d506047d641e9e607c96f
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
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
@ -46,10 +47,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 30e32df5f84a..0b9c494f64b0 100644
index 8a4d01e427a2..4ab20f1138fd 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -1192,7 +1192,7 @@ void dev_deactivate_many(struct list_head *head)
@@ -1204,7 +1204,7 @@ void dev_deactivate_many(struct list_head *head)
/* Wait for outstanding qdisc_run calls. */
list_for_each_entry(dev, head, close_list) {
while (some_qdisc_is_busy(dev))
@ -58,3 +59,6 @@ index 30e32df5f84a..0b9c494f64b0 100644
/* The new qdisc is assigned at this point so we can safely
* unwind stale skb lists and qdisc statistics
*/
--
2.24.1

View File

@ -1,7 +1,8 @@
From ec6350958b69d6c98248ee0871b3a7c00c5949c5 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/290] dm rq: remove BUG_ON(!irqs_disabled) check
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b4b547ae7869e0ca0380a53cde929e51ecbdc173
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
In commit 052189a2ec95 ("dm: remove superfluous irq disablement in
dm_request_fn") the spin_lock_irq() was replaced with spin_lock() + a
@ -31,3 +32,6 @@ index 4d36373e1c0f..12ed08245130 100644
}
}
--
2.24.1

View File

@ -1,7 +1,8 @@
From c5248048f310926cc88f9d625126ebb980024a51 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/290] usb: do no disable interrupts in giveback
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=086a63b5d6cc385539d96fb77b65eeb281dbd552
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Since commit 94dfd7ed ("USB: HCD: support giveback of URB in tasklet
context") the USB code disables interrupts before invoking the complete
@ -40,3 +41,6 @@ index b82a7d787add..2f3015356124 100644
usb_anchor_resume_wakeups(anchor);
atomic_dec(&urb->use_count);
--
2.24.1

View File

@ -1,7 +1,8 @@
From 4bfca780bcff671d348be592531816808005330c 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/290] rt: Provide PREEMPT_RT_BASE config switch
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3b6f0b1d09976635e464aa63be521f1f6f63e35d
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Introduce PREEMPT_RT_BASE which enables parts of
PREEMPT_RT_FULL. Forces interrupt threading and enables some of the RT
@ -58,3 +59,6 @@ index cd1655122ec0..027db5976c2f 100644
- bool
\ No newline at end of file
+ bool
--
2.24.1

View File

@ -1,7 +1,8 @@
From 6ea70c3ef4fff78246212f51f67a6e48b159bc50 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/290] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2efd4a4df8085c42c4a8bb8d74f1a6a566adc67a
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
There are "valid" GFP_ATOMIC allocations such as
@ -46,7 +47,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index e76d16ac2776..04a45d6d0167 100644
index af35f5caadbe..e40ba59efe7f 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -934,7 +934,7 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT
@ -70,3 +71,6 @@ index a3928d4438b5..a50b2158f7cd 100644
help
Use dynamic allocation for cpumask_var_t, instead of putting
them on the stack. This is a bit more expensive, but avoids
--
2.24.1

View File

@ -1,7 +1,8 @@
From cded0d9563b5948a2aa3bddb86f632ea0ec38f0e 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/290] jump-label: disable if stop_machine() is used
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=77b2c3f7bbf3d862529e075933f0e7a6f8613c53
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Some architectures are using stop_machine() while switching the opcode which
leads to latency spikes.
@ -36,3 +37,6 @@ index 185e552f1461..84f36e47e3ab 100644
select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32 && MMU
select HAVE_ARCH_MMAP_RND_BITS if MMU
select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
--
2.24.1

View File

@ -1,8 +1,9 @@
From dce06dcc7c4046de51f2d0b0aa53995461a65b82 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/290] kconfig: Disable config options which are not RT
compatible
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=164a36eb11cebfda8c6eb1f79beb2a31e4dd9ce2
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Disable stuff which is known to have issues on RT
@ -37,3 +38,6 @@ index b457e94ae618..0dddbb2a3282 100644
select COMPACTION
select RADIX_TREE_MULTIORDER
help
--
2.24.1

View File

@ -1,10 +1,11 @@
From 895584437f1a9e0847ff7ca40873fb3b8bd4be0c 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/290] lockdep: disable self-test
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bff275d06e885f7b51dbac8b2e93867616852378
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
The self-test wasn't always 100% accurate for RT. We disabled a few
tests which failed because they had a different semantic for RT. Some
@ -29,3 +30,6 @@ index 46a910acce3f..38cf7f81daa7 100644
help
Say Y here if you want the kernel to run a short self-test during
bootup. The self-test checks whether common types of locking bugs
--
2.24.1

View File

@ -1,7 +1,8 @@
From dcf8f258f572870f67b12f9d9082eebd0561d085 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/290] mm: Allow only slub on RT
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f04e50899757b5f50979fa506c88bd78d17c49b6
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Disable SLAB and SLOB on -RT. Only SLUB is adopted to -RT needs.
@ -31,3 +32,6 @@ index 47035b5a46f6..ae9a0113a699 100644
help
SLOB replaces the stock allocator with a drastically simpler
allocator. SLOB is generally more space efficient but
--
2.24.1

View File

@ -1,10 +1,11 @@
From 4aaf38cf9c2cd085bbee6aec83c66b52b33c9a32 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/290] locking: Disable spin on owner for RT
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fb7c18e5a29066807df152c5b7d6cd2cf66e0301
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Drop spin on owner for mutex / rwsem. We are most likely not using it
but…
@ -32,3 +33,6 @@ index 84d882f3e299..af27c4000812 100644
config LOCK_SPIN_ON_OWNER
def_bool y
--
2.24.1

View File

@ -1,7 +1,8 @@
From 5f1bd47909aca86dfc97df6f5ceecd67c755b2e8 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/290] rcu: Disable RCU_FAST_NO_HZ on RT
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c69674f542d0ccc839ba5282f2b24945882abb93
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
This uses a timer_list timer from the irq disabled guts of the idle
code. Disable it for now to prevent wreckage.
@ -24,3 +25,6 @@ index 9210379c0353..644264be90f0 100644
default n
help
This option permits CPUs to enter dynticks-idle state even if
--
2.24.1

View File

@ -1,7 +1,8 @@
From 980f69b6bec3356146f6c2d4e28405b3c4de4a87 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/290] rcu: make RCU_BOOST default on RT
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ce85f19c79e9234d764888e74dc2e4e49b3a3da6
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
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
@ -28,3 +29,6 @@ index 644264be90f0..a243a78ff38c 100644
help
This option boosts the priority of preempted RCU readers that
block the current preemptible RCU grace period for too long.
--
2.24.1

View File

@ -1,7 +1,8 @@
From 6c16852b3700b4b98d7ea4b6dffbfbb5e1118c01 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/290] sched: Disable CONFIG_RT_GROUP_SCHED on RT
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=08989e0969de7b6c4727eb2a32f7c1aaa194708f
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Carsten reported problems when running:
@ -29,3 +30,6 @@ index ae9a0113a699..61e8b531649b 100644
default n
help
This feature lets you explicitly allocate real CPU bandwidth
--
2.24.1

View File

@ -1,10 +1,11 @@
From 9822fde0d385af32e0b8550600e3961cc9bb96aa 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/290] net/core: disable NET_RX_BUSY_POLL
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=86b04e83f0deb1dce266ca11efb35281d2d76566
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
sk_busy_loop() does preempt_disable() followed by a few operations which can
take sleeping locks and may get long.
@ -32,3 +33,6 @@ index 228dfa382eec..bc8d01996f22 100644
config BQL
bool
--
2.24.1

View File

@ -1,7 +1,8 @@
From c628460359a533e7547887b5212d2291117eeacb 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/290] arm*: disable NEON in kernel mode
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a0a5f99c6726ff40c5f1173b951484e2b41d527a
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
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
@ -160,3 +161,6 @@ index 34b4e3d46aab..ae055cdad8cf 100644
crc32_pmull_algs[0].update = crc32_pmull_update;
crc32_pmull_algs[1].update = crc32c_pmull_update;
--
2.24.1

View File

@ -1,7 +1,8 @@
From 2b0792d20032fb077f028c433ce0575e0b2af952 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/290] powerpc: Use generic rwsem on RT
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=58d37daded0023f403aec29501462e8499eeb016
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Use generic code which uses rtmutex
@ -27,3 +28,6 @@ index a80669209155..9952764db9c5 100644
config GENERIC_LOCKBREAK
bool
--
2.24.1

View File

@ -1,8 +1,9 @@
From 59e8b4257278a94fecf207ad131920b7e1364aa7 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/290] powerpc/kvm: Disable in-kernel MPIC emulation for
PREEMPT_RT_FULL
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=98667cc1926223ba114f4e52611633d0d8f0af87
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
While converting the openpic emulation code to use a raw_spinlock_t enables
guests to run on RT, there's still a performance issue. For interrupts sent in
@ -39,3 +40,6 @@ index 68a0e9d5b440..6f4d5d7615af 100644
select HAVE_KVM_IRQCHIP
select HAVE_KVM_IRQFD
select HAVE_KVM_IRQ_ROUTING
--
2.24.1

View File

@ -1,7 +1,8 @@
From da3f221553e2c41925af06392f6ed660d68543a7 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/290] powerpc: Disable highmem on RT
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=648dcdb872f08b4c6a613140a10ee3eb6df95ed6
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
The current highmem handling on -RT is not compatible and needs fixups.
@ -23,3 +24,6 @@ index 9952764db9c5..1563820a37e8 100644
source kernel/Kconfig.hz
--
2.24.1

View File

@ -1,7 +1,8 @@
From 33a7e9d57de8e82532d8cdec33795907685b22e7 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/290] mips: Disable highmem on RT
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=10a1793ef40f4036a0b0c4c51e9fcdc1899e64ba
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
The current highmem handling on -RT is not compatible and needs fixups.
@ -11,10 +12,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 201caf226b47..bd268302efa4 100644
index a830a9701e50..3d5fae3891be 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -2517,7 +2517,7 @@ config MIPS_CRC_SUPPORT
@@ -2518,7 +2518,7 @@ config MIPS_CRC_SUPPORT
#
config HIGHMEM
bool "High Memory Support"
@ -23,3 +24,6 @@ index 201caf226b47..bd268302efa4 100644
config CPU_SUPPORTS_HIGHMEM
bool
--
2.24.1

View File

@ -1,7 +1,8 @@
From 2aeeb18ed2650e5c8d35e52ed37e51f4f112e87e 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/290] x86: Use generic rwsem_spinlocks on -rt
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4b707497d459b106def4745d5274422c62423fa7
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Simplifies the separation of anon_rw_semaphores and rw_semaphores for
-rt.
@ -12,7 +13,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 04a45d6d0167..1b05ae86bdde 100644
index e40ba59efe7f..f22e787329cf 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -264,8 +264,11 @@ config ARCH_MAY_HAVE_PC_FDC
@ -28,3 +29,6 @@ index 04a45d6d0167..1b05ae86bdde 100644
config GENERIC_CALIBRATE_DELAY
def_bool y
--
2.24.1

View File

@ -1,7 +1,8 @@
From d438ee6c55b0969d2490f97a6fc897f462f017b0 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/290] leds: trigger: disable CPU trigger on -RT
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=07924b23a92cab26f6271e8fb312ab8062dd29a6
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
as it triggers:
|CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.8-rt10 #141
@ -35,3 +36,6 @@ index 4018af769969..b4ce8c115949 100644
help
This allows LEDs to be controlled by active CPUs. This shows
the active CPUs across an array of LEDs so you can see which
--
2.24.1

View File

@ -1,7 +1,8 @@
From 24a05d9b26a5e6f52e0e35f401fd16a50bc3cc2d 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/290] cpufreq: drop K8's driver from beeing selected
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c05ad13cbd22842369324d73f538911d319b97b3
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Ralf posted a picture of a backtrace from
@ -33,3 +34,6 @@ index 35f71825b7f3..bb4a6160d0f7 100644
help
This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors.
Support for K10 and newer processors is now in acpi-cpufreq.
--
2.24.1

View File

@ -1,10 +1,11 @@
From 00fd6babe97f1ea784554baabb1bc74d7f11be16 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/290] md: disable bcache
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=57bf213cf62320f7d35e01f133973d9f37d06f82
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
It uses anon semaphores
|drivers/md/bcache/request.c: In function cached_dev_write_complete:
@ -35,3 +36,6 @@ index f6e0a8b3a61e..18c03d79a442 100644
select CRC64
help
Allows a block device to be used as cache for other devices; uses
--
2.24.1

View File

@ -1,7 +1,8 @@
From e2d68290b3efe18e50ef23302fda76bb471d7493 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/290] efi: Disable runtime services on RT
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b9d785862624bbbe2fd77ed8c7e1026b21c498f0
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Based on meassurements the EFI functions get_variable /
get_next_variable take up to 2us which looks okay.
@ -40,3 +41,6 @@ index 5db20908aa9c..1708505fdf5d 100644
static int __init setup_noefi(char *arg)
{
disable_runtime = true;
--
2.24.1

View File

@ -1,14 +1,13 @@
From 3d59550d2bce945d0885bb16ee747edc40521c95 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/290] printk: Add a printk kill switch
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d031b0863f46321ad8e8e7f1a8131c4703f9f006
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Add a prinkt-kill-switch. This is used from (NMI) watchdog to ensure that
it does not dead-lock with the early printk code.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
[Aurelien Jarno: Backport to 4.19.87 due to context changes caused by
00988218f8cb2 ("printk: lock/unlock console only for new logbuf entries")]
---
include/linux/printk.h | 2 ++
kernel/printk/printk.c | 79 +++++++++++++++++++++++++++++++-----------
@ -32,7 +31,7 @@ index cf3eccfe1543..30ebf5f82a7c 100644
#ifdef CONFIG_PRINTK_NMI
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index d0d03223b45b..289605ff56e8 100644
index 845efadaf7ec..0214d876c22d 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -405,6 +405,58 @@ DEFINE_RAW_SPINLOCK(logbuf_lock);
@ -170,3 +169,6 @@ index 71381168dede..685443375dc0 100644
if (hardlockup_panic)
nmi_panic(regs, "Hard LOCKUP");
--
2.24.1

View File

@ -1,8 +1,9 @@
From ec95016b0067d4801b743959345d1d2b4897b4c7 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/290] printk: Add "force_early_printk" boot param to help
with debugging
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e71d5b7d64fa1dd11f7ef2a2bd482f704d6de200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Gives me an option to screw printk and actually see what the machine
says.
@ -16,7 +17,7 @@ Link: http://lkml.kernel.org/n/tip-ykb97nsfmobq44xketrxs977@git.kernel.org
1 file changed, 7 insertions(+)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index 289605ff56e8..210cdac1458d 100644
index 0214d876c22d..9a7f259dbb20 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -435,6 +435,13 @@ asmlinkage void early_printk(const char *fmt, ...)
@ -33,3 +34,6 @@ index 289605ff56e8..210cdac1458d 100644
void printk_kill(void)
{
printk_killswitch = true;
--
2.24.1

View File

@ -1,7 +1,8 @@
From 8cdff06e21bab2bdf3a7f633a9e22b890bc43f39 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/290] preempt: Provide preempt_*_(no)rt variants
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=05ad3e257a527d9072919b02e0cff6078055eed0
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
RT needs a few preempt_disable/enable points which are not necessary
otherwise. Implement variants to avoid #ifdeffery.
@ -47,3 +48,6 @@ index 3196d0e76719..f7a17fcc3fec 100644
#ifdef CONFIG_PREEMPT_NOTIFIERS
struct preempt_notifier;
--
2.24.1

View File

@ -1,8 +1,9 @@
From 4c36c4326b5f829aaabd0e2bd105c12797f16449 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/290] futex: workaround migrate_disable/enable in different
context
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5182d12b0ac95cf21c3206e06142566001edacc6
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
migrate_disable()/migrate_enable() takes a different path in atomic() vs
!atomic() context. These little hacks ensure that we don't underflow / overflow
@ -16,10 +17,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 afdc5eadce6e..304f07d08c95 100644
index e75ad30aa7bc..5c8053098fc8 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -2876,6 +2876,14 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags,
@@ -2879,6 +2879,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 +35,7 @@ index afdc5eadce6e..304f07d08c95 100644
spin_unlock(q.lock_ptr);
/*
* __rt_mutex_start_proxy_lock() unconditionally enqueues the @rt_waiter
@@ -2884,6 +2892,7 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags,
@@ -2887,6 +2895,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 +43,7 @@ index afdc5eadce6e..304f07d08c95 100644
if (ret) {
if (ret == 1)
@@ -3032,11 +3041,21 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags)
@@ -3035,11 +3044,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);
@ -64,3 +65,6 @@ index afdc5eadce6e..304f07d08c95 100644
put_pi_state(pi_state);
/*
--
2.24.1

View File

@ -1,7 +1,8 @@
From 2bd99b106c35f77357bcaea4546eb89085cc5ac8 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/290] rt: Add local irq locks
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ed800ca05696e34346bf329c70ad735f9661075b
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Introduce locallock. For !RT this maps to preempt_disable()/
local_irq_disable() so there is not much that changes. For RT this will
@ -335,3 +336,6 @@ index 70b7123f38c7..24421bf8c4b3 100644
/* minimum unit size, also is the maximum supported allocation size */
#define PCPU_MIN_UNIT_SIZE PFN_ALIGN(32 << 10)
--
2.24.1

View File

@ -1,7 +1,8 @@
From 6b3038f8d30a5cef133ed3791a44e17377c0b052 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/290] locallock: provide {get,put}_locked_ptr() variants
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d7c12c0b218da8cddfca3155c6481e425552bd89
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Provide a set of locallocked accessors for pointers to per-CPU data;
this is useful for dynamically-allocated per-CPU regions, for example.
@ -43,3 +44,6 @@ index d658c2552601..921eab83cd34 100644
#define local_lock_cpu(lvar) get_cpu()
#define local_unlock_cpu(lvar) put_cpu()
--
2.24.1

View File

@ -1,7 +1,8 @@
From ed4646fb9f4dde9fa5e97aadbd15073babb2fdb5 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/290] mm/scatterlist: Do not disable irqs on RT
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=be6d4affd5215ceaca4642942e1914cb32b9f6e2
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
For -RT it is enough to keep pagefault disabled (which is currently handled by
kmap_atomic()).
@ -24,3 +25,6 @@ index 8c3036c37ba0..336162c2813f 100644
kunmap_atomic(miter->addr);
} else
kunmap(miter->page);
--
2.24.1

View File

@ -1,7 +1,8 @@
From 61d171cababe91bd799f750f2c88eca687b65d51 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/290] signal/x86: Delay calling signals in atomic
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=43a0a930bf46705aab6bab3928e1644575a02148
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
On x86_64 we must disable preemption before we enable interrupts
for stack faults, int3 and debugging, because the current task is using
@ -94,10 +95,10 @@ index 038d0faaa1d5..c87c11bfd9d9 100644
size_t sas_ss_size;
unsigned int sas_ss_flags;
diff --git a/kernel/signal.c b/kernel/signal.c
index d5a9646b3538..56edb0580a3a 100644
index 6b9d4bbfa9df..3565221b4fac 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,
@@ -1272,8 +1272,8 @@ int do_send_sig_info(int sig, struct siginfo *info, struct task_struct *p,
* We don't want to have recursive SIGSEGV's etc, for example,
* that is why we also clear SIGNAL_UNKILLABLE.
*/
@ -108,7 +109,7 @@ index d5a9646b3538..56edb0580a3a 100644
{
unsigned long int flags;
int ret, blocked, ignored;
@@ -1298,6 +1298,39 @@ force_sig_info(int sig, struct siginfo *info, struct task_struct *t)
@@ -1302,6 +1302,39 @@ force_sig_info(int sig, struct siginfo *info, struct task_struct *t)
return ret;
}
@ -148,3 +149,6 @@ index d5a9646b3538..56edb0580a3a 100644
/*
* Nuke all other threads in the group.
*/
--
2.24.1

View File

@ -1,7 +1,8 @@
From 159a99e63d62232f0de5a25fe8d92e4e31140c29 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/290] x86/signal: delay calling signals on 32bit
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=dd9ded5353246ce29f11b52eb93e640de36c8ef7
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
When running some ptrace single step tests on x86-32 machine, the below problem
is triggered:
@ -43,3 +44,6 @@ index fb0438d06ca7..c00e27af2205 100644
#define ARCH_RT_DELAYS_SIGNAL_SEND
#endif
--
2.24.1

View File

@ -1,7 +1,8 @@
From 5c50a0cef22d58bcda53aae4df00e10ce6e04903 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/290] buffer_head: Replace bh_uptodate_lock for -rt
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ce9849ace4af19ce619849a3e33f1569442832c3
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Wrap the bit_spin_lock calls into a separate inline and add the RT
replacements with a real spinlock.
@ -191,3 +192,6 @@ index 96225a77c112..8a1bcfb145d7 100644
/*
* macro tricks to expand the set_buffer_foo(), clear_buffer_foo()
* and buffer_foo() functions.
--
2.24.1

View File

@ -1,8 +1,9 @@
From f3f66f83edae0ab6ff7569d6395c5ee3833e8fba 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/290] fs: jbd/jbd2: Make state lock and journal head lock
rt safe
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b440221d5e434ba95db2a0b09d00162e95b55d93
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
bit_spin_locks break under RT.
@ -44,7 +45,7 @@ index 8a1bcfb145d7..5869330d1f38 100644
}
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h
index 1cf1b9b8e975..2e3266736094 100644
index 268f3000d1b3..8f5d6ecb802e 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)
@ -104,3 +105,6 @@ index 1cf1b9b8e975..2e3266736094 100644
}
#define J_ASSERT(assert) BUG_ON(!(assert))
--
2.24.1

View File

@ -1,7 +1,8 @@
From 3023eb220840f37bbc9d31e9959de567cb1aaaae 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/290] list_bl: Make list head locking RT safe
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7de4956b65f4b43f98eca7ecd5400c01df56ba53
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
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
@ -115,3 +116,6 @@ index 3fc2cc57ba1b..69b659259bac 100644
}
static inline bool hlist_bl_is_locked(struct hlist_bl_head *b)
--
2.24.1

View File

@ -1,7 +1,8 @@
From 819674251514107628d4f10edb7514ab08bb57a9 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/290] list_bl: fixup bogus lockdep warning
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8f7a92e93b3e1260267a4fbe03c549dbe23303fe
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
At first glance, the use of 'static inline' seems appropriate for
INIT_HLIST_BL_HEAD().
@ -98,3 +99,6 @@ index 69b659259bac..0b5de7d9ffcf 100644
static inline void INIT_HLIST_BL_NODE(struct hlist_bl_node *h)
{
--
2.24.1

View File

@ -1,7 +1,8 @@
From 672f4d8462083915084e695c9ed600d32fbfcd52 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/290] genirq: Disable irqpoll on -rt
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=470aeaaf1d6efae4d4a409a9d8143c408474f8b7
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Creates long latencies for no value
@ -37,3 +38,6 @@ index d867d6ddafdd..cd12ee86c01e 100644
irqfixup = 2;
printk(KERN_WARNING "Misrouted IRQ fixup and polling support "
"enabled\n");
--
2.24.1

View File

@ -1,7 +1,8 @@
From a2049c3364eae5d13eaaa22d9212c631faf58236 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/290] genirq: Force interrupt thread on RT
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e83f2ae9e4c5b28fb9364ca7ee72d3f721f7f4ef
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Force threaded_irqs and optimize the code (force_irqthreads) in regard
to this.
@ -48,3 +49,6 @@ index 23bcfa71077f..3c26d0708709 100644
#endif
static void __synchronize_hardirq(struct irq_desc *desc, bool sync_chip)
--
2.24.1

View File

@ -1,8 +1,9 @@
From e8c4b5df495a54c8c5fdf5c34fcbb07a2780e3bd 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/290] Split IRQ-off and zone->lock while freeing pages from
PCP list #1
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6fdb74e76cbdf28ba0fc148ff245ebe35ffcb059
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Split the IRQ-off section while accessing the PCP list from zone->lock
while freeing pages.
@ -17,7 +18,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 52 insertions(+), 30 deletions(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 2d04bd2e1ced..332b48f38d1e 100644
index 74fb5c338e8f..3b51ad4a6089 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1095,7 +1095,7 @@ static inline void prefetch_buddy(struct page *page)
@ -111,7 +112,7 @@ index 2d04bd2e1ced..332b48f38d1e 100644
}
static void free_one_page(struct zone *zone,
@@ -2536,13 +2543,18 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp)
@@ -2544,13 +2551,18 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp)
{
unsigned long flags;
int to_drain, batch;
@ -131,7 +132,7 @@ index 2d04bd2e1ced..332b48f38d1e 100644
}
#endif
@@ -2558,14 +2570,21 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone)
@@ -2566,14 +2578,21 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone)
unsigned long flags;
struct per_cpu_pageset *pset;
struct per_cpu_pages *pcp;
@ -155,7 +156,7 @@ index 2d04bd2e1ced..332b48f38d1e 100644
}
/*
@@ -2787,7 +2806,10 @@ static void free_unref_page_commit(struct page *page, unsigned long pfn)
@@ -2795,7 +2814,10 @@ static void free_unref_page_commit(struct page *page, unsigned long pfn)
pcp->count++;
if (pcp->count >= pcp->high) {
unsigned long batch = READ_ONCE(pcp->batch);
@ -167,3 +168,6 @@ index 2d04bd2e1ced..332b48f38d1e 100644
}
}
--
2.24.1

View File

@ -1,8 +1,9 @@
From acc79cbb82bc621f748cafcab53e6038456ee194 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/290] Split IRQ-off and zone->lock while freeing pages from
PCP list #2
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4804f6aa4033e6fc037ec95843c4f4a7768b9d27
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz
Split the IRQ-off section while accessing the PCP list from zone->lock
while freeing pages.
@ -17,7 +18,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 50 insertions(+), 10 deletions(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 332b48f38d1e..55cee9a17a36 100644
index 3b51ad4a6089..49f7bb170b4d 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1105,8 +1105,8 @@ static inline void prefetch_buddy(struct page *page)
@ -59,7 +60,7 @@ index 332b48f38d1e..55cee9a17a36 100644
__free_one_page(page, page_to_pfn(page), zone, 0, mt);
trace_mm_page_pcpu_drain(page, 0, mt);
}
@@ -2554,7 +2569,7 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp)
@@ -2562,7 +2577,7 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp)
local_irq_restore(flags);
if (to_drain > 0)
@ -68,7 +69,7 @@ index 332b48f38d1e..55cee9a17a36 100644
}
#endif
@@ -2584,7 +2599,7 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone)
@@ -2592,7 +2607,7 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone)
local_irq_restore(flags);
if (count)
@ -77,7 +78,7 @@ index 332b48f38d1e..55cee9a17a36 100644
}
/*
@@ -2777,7 +2792,8 @@ static bool free_unref_page_prepare(struct page *page, unsigned long pfn)
@@ -2785,7 +2800,8 @@ static bool free_unref_page_prepare(struct page *page, unsigned long pfn)
return true;
}
@ -87,7 +88,7 @@ index 332b48f38d1e..55cee9a17a36 100644
{
struct zone *zone = page_zone(page);
struct per_cpu_pages *pcp;
@@ -2806,10 +2822,8 @@ static void free_unref_page_commit(struct page *page, unsigned long pfn)
@@ -2814,10 +2830,8 @@ static void free_unref_page_commit(struct page *page, unsigned long pfn)
pcp->count++;
if (pcp->count >= pcp->high) {
unsigned long batch = READ_ONCE(pcp->batch);
@ -99,7 +100,7 @@ index 332b48f38d1e..55cee9a17a36 100644
}
}
@@ -2820,13 +2834,17 @@ void free_unref_page(struct page *page)
@@ -2828,13 +2842,17 @@ void free_unref_page(struct page *page)
{
unsigned long flags;
unsigned long pfn = page_to_pfn(page);
@ -118,7 +119,7 @@ index 332b48f38d1e..55cee9a17a36 100644
}
/*
@@ -2837,6 +2855,11 @@ void free_unref_page_list(struct list_head *list)
@@ -2845,6 +2863,11 @@ void free_unref_page_list(struct list_head *list)
struct page *page, *next;
unsigned long flags, pfn;
int batch_count = 0;
@ -130,7 +131,7 @@ index 332b48f38d1e..55cee9a17a36 100644
/* Prepare pages for freeing */
list_for_each_entry_safe(page, next, list, lru) {
@@ -2849,10 +2872,12 @@ void free_unref_page_list(struct list_head *list)
@@ -2857,10 +2880,12 @@ void free_unref_page_list(struct list_head *list)
local_irq_save(flags);
list_for_each_entry_safe(page, next, list, lru) {
unsigned long pfn = page_private(page);
@ -144,7 +145,7 @@ index 332b48f38d1e..55cee9a17a36 100644
/*
* Guard against excessive IRQ disabled times when we get
@@ -2865,6 +2890,21 @@ void free_unref_page_list(struct list_head *list)
@@ -2873,6 +2898,21 @@ void free_unref_page_list(struct list_head *list)
}
}
local_irq_restore(flags);
@ -166,3 +167,6 @@ index 332b48f38d1e..55cee9a17a36 100644
}
/*
--
2.24.1

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