Merge branch 'buster-4.19.81' into 'buster'
Buster 4.19.81 See merge request kernel-team/linux!183
This commit is contained in:
commit
beb8c412e8
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
|
@ -79,6 +79,7 @@ def main(source, version=None):
|
|||
'git/rt/linux-stable-rt.git/commit?id=%s' %
|
||||
match.group(1))
|
||||
add_patch(name, source_patch, origin)
|
||||
series_fh.write(line)
|
||||
|
||||
else:
|
||||
# Get version and upstream version
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,5 +1,5 @@
|
|||
[abi]
|
||||
abiname: 6
|
||||
abiname: 7
|
||||
ignore-changes:
|
||||
__cpuhp_*
|
||||
bpf_analyzer
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 200fca9a9f123bcca859fadc996b1e40c0384269 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/283] ARM: at91: add TCB registers definitions
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Add registers and bits definitions for the timer counter blocks found on
|
||||
Atmel ARM SoCs.
|
||||
|
@ -205,6 +204,3 @@ index 000000000000..657e234b1483
|
|||
+};
|
||||
+
|
||||
+#endif /* __SOC_ATMEL_TCB_H */
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
From 13e8b97c81d4029a2c41ce13ffc84507af252845 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/283] clocksource/drivers: Add a new driver for the Atmel
|
||||
Subject: [PATCH 002/290] clocksource/drivers: Add a new driver for the Atmel
|
||||
ARM TC blocks
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1cc14d070ff9808e86cd76edc497abd71537b237
|
||||
|
||||
Add a driver for the Atmel Timer Counter Blocks. This driver provides a
|
||||
clocksource and two clockevent devices.
|
||||
|
@ -480,6 +479,3 @@ index 000000000000..21fbe430f91b
|
|||
+ bits);
|
||||
+}
|
||||
+TIMER_OF_DECLARE(atmel_tcb_clksrc, "atmel,tcb-timer", tcb_clksrc_init);
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
From 108301f18eaae6fde1bf8b864d52052bdc2a7043 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/283] clocksource/drivers: timer-atmel-tcb: add clockevent
|
||||
Subject: [PATCH 003/290] clocksource/drivers: timer-atmel-tcb: add clockevent
|
||||
device on separate channel
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=10269a72d7656134bd29f2ef8a4cbd4d166ac825
|
||||
|
||||
Add an other clockevent device that uses a separate TCB channel when
|
||||
available.
|
||||
|
@ -266,6 +265,3 @@ index 21fbe430f91b..63ce3b69338a 100644
|
|||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From e60c9d976e3462237d2f3644c18091ac1e7746c6 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/283] clocksource/drivers: atmel-pit: make option silent
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
To conform with the other option, make the ATMEL_PIT option silent so it
|
||||
can be selected from the platform
|
||||
|
@ -31,6 +30,3 @@ index 0ab22e7037f4..34b07047b91f 100644
|
|||
|
||||
config ATMEL_ST
|
||||
bool "Atmel ST timer support" if COMPILE_TEST
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 8cd066d01a3bc84384ba64a7521fdc80598a3418 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/283] ARM: at91: Implement clocksource selection
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Allow selecting and unselecting the PIT clocksource driver so it doesn't
|
||||
have to be compile when unused.
|
||||
|
@ -50,6 +49,3 @@ index 903f23c309df..fa493a86e2bb 100644
|
|||
config HAVE_AT91_UTMI
|
||||
bool
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From db6f702c9d0558505d757c28c61f4f6a567a898a 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/283] ARM: configs: at91: use new TCB timer driver
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Unselecting ATMEL_TCLIB switches the TCB timer driver from tcb_clksrc to
|
||||
timer-atmel-tcb.
|
||||
|
@ -38,6 +37,3 @@ index 2080025556b5..f2bbc6339ca6 100644
|
|||
CONFIG_ATMEL_SSC=y
|
||||
CONFIG_EEPROM_AT24=y
|
||||
CONFIG_SCSI=y
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 95cda24e3882fa19a569c029275d14089e8418e9 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/283] ARM: configs: at91: unselect PIT
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
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.
|
||||
|
@ -39,6 +38,3 @@ index f2bbc6339ca6..be92871ab155 100644
|
|||
CONFIG_AEABI=y
|
||||
CONFIG_UACCESS_WITH_MEMCPY=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
From 44f074c1b1621cbfa2d9f8f44aa69231154399d9 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/283] irqchip/gic-v3-its: Move pending table allocation to
|
||||
Subject: [PATCH 008/290] irqchip/gic-v3-its: Move pending table allocation to
|
||||
init time
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a0a08ef23f2e37ccaa18fb80939e9b43871e0667
|
||||
|
||||
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
@ -13,7 +12,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 65ab2c80529c..21681f0f85f4 100644
|
||||
index e7549a2b1482..b68650b55b9f 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);
|
||||
|
@ -24,7 +23,7 @@ index 65ab2c80529c..21681f0f85f4 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)
|
||||
|
||||
@@ -1631,7 +1632,7 @@ static void its_free_prop_table(struct page *prop_page)
|
||||
@@ -1644,7 +1645,7 @@ static void its_free_prop_table(struct page *prop_page)
|
||||
get_order(LPI_PROPBASE_SZ));
|
||||
}
|
||||
|
||||
|
@ -33,7 +32,7 @@ index 65ab2c80529c..21681f0f85f4 100644
|
|||
{
|
||||
phys_addr_t paddr;
|
||||
|
||||
@@ -1979,30 +1980,47 @@ static u64 its_clear_vpend_valid(void __iomem *vlpi_base)
|
||||
@@ -1992,30 +1993,47 @@ static u64 its_clear_vpend_valid(void __iomem *vlpi_base)
|
||||
return val;
|
||||
}
|
||||
|
||||
|
@ -96,7 +95,7 @@ index 65ab2c80529c..21681f0f85f4 100644
|
|||
/* set PROPBASE */
|
||||
val = (page_to_phys(gic_rdists->prop_page) |
|
||||
GICR_PROPBASER_InnerShareable |
|
||||
@@ -2078,6 +2096,10 @@ static void its_cpu_init_lpis(void)
|
||||
@@ -2091,6 +2109,10 @@ static void its_cpu_init_lpis(void)
|
||||
|
||||
/* Make sure the GIC has seen the above */
|
||||
dsb(sy);
|
||||
|
@ -107,7 +106,7 @@ index 65ab2c80529c..21681f0f85f4 100644
|
|||
}
|
||||
|
||||
static void its_cpu_init_collection(struct its_node *its)
|
||||
@@ -3558,16 +3580,6 @@ static int redist_disable_lpis(void)
|
||||
@@ -3570,16 +3592,6 @@ static int redist_disable_lpis(void)
|
||||
u64 timeout = USEC_PER_SEC;
|
||||
u64 val;
|
||||
|
||||
|
@ -124,7 +123,7 @@ index 65ab2c80529c..21681f0f85f4 100644
|
|||
if (!gic_rdists_supports_plpis()) {
|
||||
pr_info("CPU%d: LPIs not supported\n", smp_processor_id());
|
||||
return -ENXIO;
|
||||
@@ -3577,7 +3589,18 @@ static int redist_disable_lpis(void)
|
||||
@@ -3589,7 +3601,18 @@ static int redist_disable_lpis(void)
|
||||
if (!(val & GICR_CTLR_ENABLE_LPIS))
|
||||
return 0;
|
||||
|
||||
|
@ -144,7 +143,7 @@ index 65ab2c80529c..21681f0f85f4 100644
|
|||
smp_processor_id());
|
||||
add_taint(TAINT_CRAP, LOCKDEP_STILL_OK);
|
||||
|
||||
@@ -3833,7 +3856,8 @@ int __init its_init(struct fwnode_handle *handle, struct rdists *rdists,
|
||||
@@ -3845,7 +3868,8 @@ int __init its_init(struct fwnode_handle *handle, struct rdists *rdists,
|
||||
}
|
||||
|
||||
gic_rdists = rdists;
|
||||
|
@ -166,6 +165,3 @@ index 3188c0bef3e7..5b57501fd2e7 100644
|
|||
} __percpu *rdist;
|
||||
struct page *prop_page;
|
||||
u64 flags;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From cd9320a1954642117f572891a8b45b177e6b0ebf 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/283] kthread: convert worker lock to raw spinlock
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
In order to enable the queuing of kthread work items from hardirq
|
||||
context even when PREEMPT_RT_FULL is enabled, convert the worker
|
||||
|
@ -198,6 +197,3 @@ index 087d18d771b5..5641b55783a6 100644
|
|||
out:
|
||||
return ret;
|
||||
}
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
From d4cc8969937e548b95b4d6f40804a4b706c9b441 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/283] crypto: caam/qi - simplify CGR allocation, freeing
|
||||
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://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1d10c08ca4b5279cfa1f77d05dded9377191ed3f
|
||||
|
||||
[Upstream commit 29e83c757006fd751966bdc53392bb22d74179c6]
|
||||
|
||||
|
@ -135,6 +134,3 @@ index 357b69f57072..b6c8acc30853 100644
|
|||
|
||||
/**
|
||||
* qi_cache_alloc - Allocate buffers from CAAM-QI cache
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 256f2e459fd2eea3e04b6b9934f06c46e19185bb 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/283] sched/fair: Robustify CFS-bandwidth timer locking
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Traditionally hrtimer callbacks were run with IRQs disabled, but with
|
||||
the introduction of HRTIMER_MODE_SOFT it is possible they run from
|
||||
|
@ -30,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 4a433608ba74..289c966f907a 100644
|
||||
index 32d2dac680a7..b40d8c71e335 100644
|
||||
--- a/kernel/sched/fair.c
|
||||
+++ b/kernel/sched/fair.c
|
||||
@@ -4557,7 +4557,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b,
|
||||
@@ -4613,7 +4613,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b,
|
||||
struct rq *rq = rq_of(cfs_rq);
|
||||
struct rq_flags rf;
|
||||
|
||||
|
@ -42,7 +41,7 @@ index 4a433608ba74..289c966f907a 100644
|
|||
if (!cfs_rq_throttled(cfs_rq))
|
||||
goto next;
|
||||
|
||||
@@ -4574,7 +4574,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b,
|
||||
@@ -4633,7 +4633,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b,
|
||||
unthrottle_cfs_rq(cfs_rq);
|
||||
|
||||
next:
|
||||
|
@ -51,7 +50,7 @@ index 4a433608ba74..289c966f907a 100644
|
|||
|
||||
if (!remaining)
|
||||
break;
|
||||
@@ -4590,7 +4590,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b,
|
||||
@@ -4649,7 +4649,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.
|
||||
*/
|
||||
|
@ -60,7 +59,7 @@ index 4a433608ba74..289c966f907a 100644
|
|||
{
|
||||
u64 runtime, runtime_expires;
|
||||
int throttled;
|
||||
@@ -4632,11 +4632,11 @@ static int do_sched_cfs_period_timer(struct cfs_bandwidth *cfs_b, int overrun)
|
||||
@@ -4691,11 +4691,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;
|
||||
|
@ -74,7 +73,7 @@ index 4a433608ba74..289c966f907a 100644
|
|||
|
||||
cfs_b->distribute_running = 0;
|
||||
throttled = !list_empty(&cfs_b->throttled_cfs_rq);
|
||||
@@ -4745,17 +4745,18 @@ static __always_inline void return_cfs_rq_runtime(struct cfs_rq *cfs_rq)
|
||||
@@ -4804,17 +4804,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();
|
||||
|
@ -96,7 +95,7 @@ index 4a433608ba74..289c966f907a 100644
|
|||
return;
|
||||
}
|
||||
|
||||
@@ -4766,18 +4767,18 @@ static void do_sched_cfs_slack_timer(struct cfs_bandwidth *cfs_b)
|
||||
@@ -4825,18 +4826,18 @@ static void do_sched_cfs_slack_timer(struct cfs_bandwidth *cfs_b)
|
||||
if (runtime)
|
||||
cfs_b->distribute_running = 1;
|
||||
|
||||
|
@ -118,7 +117,7 @@ index 4a433608ba74..289c966f907a 100644
|
|||
}
|
||||
|
||||
/*
|
||||
@@ -4857,11 +4858,12 @@ static enum hrtimer_restart sched_cfs_period_timer(struct hrtimer *timer)
|
||||
@@ -4916,11 +4917,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);
|
||||
|
@ -132,7 +131,7 @@ index 4a433608ba74..289c966f907a 100644
|
|||
for (;;) {
|
||||
overrun = hrtimer_forward_now(timer, cfs_b->period);
|
||||
if (!overrun)
|
||||
@@ -4889,11 +4891,11 @@ static enum hrtimer_restart sched_cfs_period_timer(struct hrtimer *timer)
|
||||
@@ -4948,11 +4950,11 @@ static enum hrtimer_restart sched_cfs_period_timer(struct hrtimer *timer)
|
||||
count = 0;
|
||||
}
|
||||
|
||||
|
@ -146,6 +145,3 @@ index 4a433608ba74..289c966f907a 100644
|
|||
|
||||
return idle ? HRTIMER_NORESTART : HRTIMER_RESTART;
|
||||
}
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 3c866fa6b40a3acfe50a091680cd9f51a54cd45b 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/283] arm: Convert arm boot_lock to raw
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
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.
|
||||
|
@ -427,6 +426,3 @@ index c2366510187a..6b60f582b738 100644
|
|||
|
||||
return pen_release != -1 ? -ENOSYS : 0;
|
||||
}
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
From abbec8803a7e474a1e1a1b1ee105de8ffd0c8cbc 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/283] x86/ioapic: Don't let setaffinity unmask threaded EOI
|
||||
Subject: [PATCH 013/290] x86/ioapic: Don't let setaffinity unmask threaded EOI
|
||||
interrupt too early
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=269b937b10ea6588bf79b4d789c40cc5214711cf
|
||||
|
||||
There is an issue with threaded interrupts which are marked ONESHOT
|
||||
and using the fasteoi handler.
|
||||
|
@ -35,7 +34,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
1 file changed, 13 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
|
||||
index ff0d14cd9e82..c2bd6e0433f8 100644
|
||||
index ab22eded61d2..91db2ec0c10a 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)
|
||||
|
@ -107,6 +106,3 @@ index ff0d14cd9e82..c2bd6e0433f8 100644
|
|||
}
|
||||
|
||||
static void ioapic_ir_ack_level(struct irq_data *irq_data)
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 39150ca165ea6d7d6b5ffe76efb6170893ffdb06 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/283] cgroup: use irqsave in cgroup_rstat_flush_locked()
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
All callers of cgroup_rstat_flush_locked() acquire cgroup_rstat_lock
|
||||
either with spin_lock_irq() or spin_lock_irqsave().
|
||||
|
@ -45,6 +44,3 @@ index bb95a35e8c2d..3266a9781b4e 100644
|
|||
|
||||
/* if @may_sleep, play nice and yield if necessary */
|
||||
if (may_sleep && (need_resched() ||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 6c83cc3183d8efc6378788160d78a3a917a5ae96 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/283] fscache: initialize cookie hash table raw spinlocks
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
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
|
||||
|
@ -59,6 +58,3 @@ index 84b90a79d75a..87a9330eafa2 100644
|
|||
|
||||
/**
|
||||
* fscache_register_netfs - Register a filesystem as desiring caching services
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
From fdfc7c94f7e160bd80c27ac31c6823fbb20330f7 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/283] Drivers: hv: vmbus: include header for get_irq_regs()
|
||||
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://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=32d049f2969bf30456b5afbcf2c709e7667ee6f7
|
||||
|
||||
On !RT the header file get_irq_regs() gets pulled in via other header files. On
|
||||
RT it does not and the build fails:
|
||||
|
@ -35,6 +34,3 @@ index 87d3d7da78f8..1d2d8a4b837d 100644
|
|||
|
||||
#include "hv_trace.h"
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 31f7158d8389cec550de5964422b1123fc94079b 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/283] percpu: include irqflags.h for raw_local_irq_save()
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
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
|
||||
|
@ -28,6 +27,3 @@ index 1817a8415a5e..942d64c0476e 100644
|
|||
|
||||
#ifdef CONFIG_SMP
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From fcb3ebea1da6aede14a10c28a06902043072f250 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/283] efi: Allow efi=runtime
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
In case the option "efi=noruntime" is default at built-time, the user
|
||||
could overwrite its sate by `efi=runtime' and allow it again.
|
||||
|
@ -14,7 +13,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
|
||||
index 2a29dd9c986d..ab668e17fd05 100644
|
||||
index d54fca902e64..5db20908aa9c 100644
|
||||
--- a/drivers/firmware/efi/efi.c
|
||||
+++ b/drivers/firmware/efi/efi.c
|
||||
@@ -113,6 +113,9 @@ static int __init parse_efi_cmdline(char *str)
|
||||
|
@ -27,6 +26,3 @@ index 2a29dd9c986d..ab668e17fd05 100644
|
|||
return 0;
|
||||
}
|
||||
early_param("efi", parse_efi_cmdline);
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 9dda6e746277e68f244d5660b5a3f3f85b0d9be0 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/283] x86/efi: drop task_lock() from efi_switch_mm()
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
efi_switch_mm() is a wrapper around switch_mm() which saves current's
|
||||
->active_mm, sets the requests mm as ->active_mm and invokes
|
||||
|
@ -50,6 +49,3 @@ index ee5d08f25ce4..e8da7f492970 100644
|
|||
}
|
||||
|
||||
#ifdef CONFIG_EFI_MIXED
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
From b66a9f85a9e8ee817d0e2de1637bf95b7710127f 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/283] arm64: KVM: compute_layout before altenates are
|
||||
Subject: [PATCH 020/290] arm64: KVM: compute_layout before altenates are
|
||||
applied
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7cf32c5e928501c234cefb60c14a7d2516bfdd27
|
||||
|
||||
compute_layout() is invoked as part of an alternative fixup under
|
||||
stop_machine() and needs a sleeping lock as part of get_random_long().
|
||||
|
@ -78,6 +77,3 @@ index c712a7376bc1..792da0e125de 100644
|
|||
/*
|
||||
* Compute HYP VA by using the same computation as kern_hyp_va()
|
||||
*/
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
From 6d0f5b28de481062ee69b0d62ae5ef2fc5101f9c 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/283] of: allocate / free phandle cache outside of the
|
||||
Subject: [PATCH 021/290] of: allocate / free phandle cache outside of the
|
||||
devtree_lock
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=62698ea1b5cfaf8b88d0df4b9b1acbf8ff591dac
|
||||
|
||||
The phandle cache code allocates memory while holding devtree_lock which
|
||||
is a raw_spinlock_t. Memory allocation (and free()) is not possible on
|
||||
|
@ -98,6 +97,3 @@ index 3f21ea6a90dc..2c7cf83b200c 100644
|
|||
}
|
||||
|
||||
void __init of_core_init(void)
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 3ec52d2ee13b6e83429a4f7a048a0005305b8033 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/283] mm/kasan: make quarantine_lock a raw_spinlock_t
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
The static lock quarantine_lock is used in quarantine.c to protect the
|
||||
quarantine queue datastructures. It is taken inside quarantine queue
|
||||
|
@ -93,6 +92,3 @@ index 3a8ddf8baf7d..b209dbaefde8 100644
|
|||
|
||||
qlist_free_all(&to_free, cache);
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
From 22ddccee8b48a817b261c98dda99967345475755 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/283] EXP rcu: Revert expedited GP parallelization
|
||||
Subject: [PATCH 023/290] EXP rcu: Revert expedited GP parallelization
|
||||
cleverness
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3a435c0a8c0607a971d75a41cf00b45699e690cc
|
||||
|
||||
(Commit 258ba8e089db23f760139266c232f01bad73f85c from linux-rcu)
|
||||
|
||||
|
@ -46,6 +45,3 @@ index 0b2c2ad69629..a0486414edb4 100644
|
|||
rnp->exp_need_flush = true;
|
||||
}
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
From ced9290a5d8460c8a46615a475cd094bc3b0c344 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/283] kmemleak: Turn kmemleak_lock to raw spinlock on RT
|
||||
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://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d823b15c5b9f5edcf6111f3b480674e4c2e42847
|
||||
|
||||
kmemleak_lock, as a rwlock on RT, can possibly be held in atomic context and
|
||||
causes the follow BUG.
|
||||
|
@ -79,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 72e3fb3bb037..0ed549045074 100644
|
||||
index 5eeabece0c17..92ce99b15f2b 100644
|
||||
--- a/mm/kmemleak.c
|
||||
+++ b/mm/kmemleak.c
|
||||
@@ -26,7 +26,7 @@
|
||||
|
@ -164,6 +163,3 @@ index 72e3fb3bb037..0ed549045074 100644
|
|||
}
|
||||
|
||||
/*
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From e1b321401ca437984b8973749826aea3a245e15b 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/283] NFSv4: replace seqcount_t with a seqlock_t
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
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
|
||||
|
@ -27,7 +26,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
4 files changed, 21 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c
|
||||
index 75fe92eaa681..e8d05393443f 100644
|
||||
index 825a8c52165a..c14f02b41f0d 100644
|
||||
--- a/fs/nfs/delegation.c
|
||||
+++ b/fs/nfs/delegation.c
|
||||
@@ -152,11 +152,11 @@ static int nfs_delegation_claim_opens(struct inode *inode,
|
||||
|
@ -36,7 +35,7 @@ index 75fe92eaa681..e8d05393443f 100644
|
|||
mutex_lock(&sp->so_delegreturn_mutex);
|
||||
- seq = raw_seqcount_begin(&sp->so_reclaim_seqcount);
|
||||
+ seq = read_seqbegin(&sp->so_reclaim_seqlock);
|
||||
err = nfs4_open_delegation_recall(ctx, state, stateid, type);
|
||||
err = nfs4_open_delegation_recall(ctx, state, stateid);
|
||||
if (!err)
|
||||
err = nfs_delegation_claim_locks(ctx, state, stateid);
|
||||
- if (!err && read_seqcount_retry(&sp->so_reclaim_seqcount, seq))
|
||||
|
@ -45,7 +44,7 @@ index 75fe92eaa681..e8d05393443f 100644
|
|||
mutex_unlock(&sp->so_delegreturn_mutex);
|
||||
put_nfs_open_context(ctx);
|
||||
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
|
||||
index 63287d911c08..2ae55eaa4a1e 100644
|
||||
index 5b61520dce88..2771aafaca19 100644
|
||||
--- a/fs/nfs/nfs4_fs.h
|
||||
+++ b/fs/nfs/nfs4_fs.h
|
||||
@@ -114,7 +114,7 @@ struct nfs4_state_owner {
|
||||
|
@ -58,10 +57,10 @@ index 63287d911c08..2ae55eaa4a1e 100644
|
|||
};
|
||||
|
||||
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
|
||||
index 1de855e0ae61..78c3f4359e76 100644
|
||||
index 75faef7af22d..72abcccb8177 100644
|
||||
--- a/fs/nfs/nfs4proc.c
|
||||
+++ b/fs/nfs/nfs4proc.c
|
||||
@@ -2865,7 +2865,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata,
|
||||
@@ -2873,7 +2873,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata,
|
||||
unsigned int seq;
|
||||
int ret;
|
||||
|
||||
|
@ -70,7 +69,7 @@ index 1de855e0ae61..78c3f4359e76 100644
|
|||
|
||||
ret = _nfs4_proc_open(opendata, ctx);
|
||||
if (ret != 0)
|
||||
@@ -2906,7 +2906,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata,
|
||||
@@ -2914,7 +2914,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata,
|
||||
|
||||
if (d_inode(dentry) == state->inode) {
|
||||
nfs_inode_attach_open_context(ctx);
|
||||
|
@ -80,7 +79,7 @@ index 1de855e0ae61..78c3f4359e76 100644
|
|||
}
|
||||
|
||||
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
|
||||
index 3ba2087469ac..f10952680bd9 100644
|
||||
index b3086e99420c..c9bf1eb7e1b2 100644
|
||||
--- a/fs/nfs/nfs4state.c
|
||||
+++ b/fs/nfs/nfs4state.c
|
||||
@@ -515,7 +515,7 @@ nfs4_alloc_state_owner(struct nfs_server *server,
|
||||
|
@ -92,7 +91,7 @@ index 3ba2087469ac..f10952680bd9 100644
|
|||
mutex_init(&sp->so_delegreturn_mutex);
|
||||
return sp;
|
||||
}
|
||||
@@ -1568,8 +1568,12 @@ static int nfs4_reclaim_open_state(struct nfs4_state_owner *sp, const struct nfs
|
||||
@@ -1583,8 +1583,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.
|
||||
*/
|
||||
|
@ -106,7 +105,7 @@ index 3ba2087469ac..f10952680bd9 100644
|
|||
restart:
|
||||
list_for_each_entry(state, &sp->so_states, open_states) {
|
||||
if (!test_and_clear_bit(ops->state_flag_bit, &state->flags))
|
||||
@@ -1656,14 +1660,20 @@ static int nfs4_reclaim_open_state(struct nfs4_state_owner *sp, const struct nfs
|
||||
@@ -1671,14 +1675,20 @@ static int nfs4_reclaim_open_state(struct nfs4_state_owner *sp, const struct nfs
|
||||
spin_lock(&sp->so_lock);
|
||||
goto restart;
|
||||
}
|
||||
|
@ -131,6 +130,3 @@ index 3ba2087469ac..f10952680bd9 100644
|
|||
return status;
|
||||
}
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
From 02954bb06eedf19db3637fea6699d0dc1761b270 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/283] kernel: sched: Provide a pointer to the valid CPU
|
||||
Subject: [PATCH 026/290] kernel: sched: Provide a pointer to the valid CPU
|
||||
mask
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6e2bd8c3352b171ecbd5aaae16f7abd30a82342c
|
||||
|
||||
In commit 4b53a3412d66 ("sched/core: Remove the tsk_nr_cpus_allowed()
|
||||
wrapper") the tsk_nr_cpus_allowed() wrapper was removed. There was not
|
||||
|
@ -210,10 +209,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 88e326d6cc49..b0d01ace6611 100644
|
||||
index 64ab92f8a4a2..57ec8bb829f2 100644
|
||||
--- a/drivers/infiniband/hw/hfi1/sdma.c
|
||||
+++ b/drivers/infiniband/hw/hfi1/sdma.c
|
||||
@@ -855,14 +855,13 @@ struct sdma_engine *sdma_select_user_engine(struct hfi1_devdata *dd,
|
||||
@@ -852,14 +852,13 @@ struct sdma_engine *sdma_select_user_engine(struct hfi1_devdata *dd,
|
||||
{
|
||||
struct sdma_rht_node *rht_node;
|
||||
struct sdma_engine *sde = NULL;
|
||||
|
@ -271,7 +270,7 @@ index 9eb99a43f849..e4d0cfebaac5 100644
|
|||
|
||||
static inline void task_core_dumping(struct seq_file *m, struct mm_struct *mm)
|
||||
diff --git a/include/linux/sched.h b/include/linux/sched.h
|
||||
index 5dc024e28397..fdb8ba398ea8 100644
|
||||
index 20f5ba262cc0..68e673278301 100644
|
||||
--- a/include/linux/sched.h
|
||||
+++ b/include/linux/sched.h
|
||||
@@ -660,7 +660,8 @@ struct task_struct {
|
||||
|
@ -284,7 +283,7 @@ index 5dc024e28397..fdb8ba398ea8 100644
|
|||
|
||||
#ifdef CONFIG_PREEMPT_RCU
|
||||
int rcu_read_lock_nesting;
|
||||
@@ -1390,7 +1391,7 @@ extern struct pid *cad_pid;
|
||||
@@ -1398,7 +1399,7 @@ extern struct pid *cad_pid;
|
||||
#define PF_KTHREAD 0x00200000 /* I am a kernel thread */
|
||||
#define PF_RANDOMIZE 0x00400000 /* Randomize virtual address space */
|
||||
#define PF_SWAPWRITE 0x00800000 /* Allowed to write to swap */
|
||||
|
@ -321,7 +320,7 @@ index ff956ccbb6df..7bb129c5b412 100644
|
|||
}
|
||||
|
||||
diff --git a/kernel/fork.c b/kernel/fork.c
|
||||
index 69874db3fba8..98c971cb1d36 100644
|
||||
index aef1430bdce0..173e010cba45 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)
|
||||
|
@ -334,7 +333,7 @@ index 69874db3fba8..98c971cb1d36 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 6859ea1d5c04..d6f690064cce 100644
|
||||
index 78ecdfae25b6..39bb4b3eb1bf 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)
|
||||
|
@ -372,7 +371,7 @@ index 6859ea1d5c04..d6f690064cce 100644
|
|||
+ if (cpumask_equal(p->cpus_ptr, new_mask))
|
||||
goto out;
|
||||
|
||||
if (!cpumask_intersects(new_mask, cpu_valid_mask)) {
|
||||
dest_cpu = cpumask_any_and(cpu_valid_mask, new_mask);
|
||||
@@ -1237,10 +1237,10 @@ static int migrate_swap_stop(void *data)
|
||||
if (task_cpu(arg->src_task) != arg->src_cpu)
|
||||
goto unlock;
|
||||
|
@ -457,7 +456,7 @@ index 6859ea1d5c04..d6f690064cce 100644
|
|||
* - any previously selected CPU might disappear through hotplug
|
||||
*
|
||||
* Use __set_task_cpu() to avoid calling sched_class::migrate_task_rq,
|
||||
@@ -4275,7 +4275,7 @@ static int __sched_setscheduler(struct task_struct *p,
|
||||
@@ -4316,7 +4316,7 @@ static int __sched_setscheduler(struct task_struct *p,
|
||||
* the entire root_domain to become SCHED_DEADLINE. We
|
||||
* will also fail if there's no bandwidth available.
|
||||
*/
|
||||
|
@ -466,7 +465,7 @@ index 6859ea1d5c04..d6f690064cce 100644
|
|||
rq->rd->dl_bw.bw == 0) {
|
||||
task_rq_unlock(rq, p, &rf);
|
||||
return -EPERM;
|
||||
@@ -4874,7 +4874,7 @@ long sched_getaffinity(pid_t pid, struct cpumask *mask)
|
||||
@@ -4915,7 +4915,7 @@ long sched_getaffinity(pid_t pid, struct cpumask *mask)
|
||||
goto out_unlock;
|
||||
|
||||
raw_spin_lock_irqsave(&p->pi_lock, flags);
|
||||
|
@ -475,7 +474,7 @@ index 6859ea1d5c04..d6f690064cce 100644
|
|||
raw_spin_unlock_irqrestore(&p->pi_lock, flags);
|
||||
|
||||
out_unlock:
|
||||
@@ -5454,7 +5454,7 @@ int task_can_attach(struct task_struct *p,
|
||||
@@ -5495,7 +5495,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
|
||||
|
@ -484,7 +483,7 @@ index 6859ea1d5c04..d6f690064cce 100644
|
|||
*/
|
||||
if (p->flags & PF_NO_SETAFFINITY) {
|
||||
ret = -EINVAL;
|
||||
@@ -5481,7 +5481,7 @@ int migrate_task_to(struct task_struct *p, int target_cpu)
|
||||
@@ -5522,7 +5522,7 @@ int migrate_task_to(struct task_struct *p, int target_cpu)
|
||||
if (curr_cpu == target_cpu)
|
||||
return 0;
|
||||
|
||||
|
@ -493,7 +492,7 @@ index 6859ea1d5c04..d6f690064cce 100644
|
|||
return -EINVAL;
|
||||
|
||||
/* TODO: This is not properly updating schedstats */
|
||||
@@ -5619,7 +5619,7 @@ static void migrate_tasks(struct rq *dead_rq, struct rq_flags *rf)
|
||||
@@ -5660,7 +5660,7 @@ static void migrate_tasks(struct rq *dead_rq, struct rq_flags *rf)
|
||||
put_prev_task(rq, next);
|
||||
|
||||
/*
|
||||
|
@ -542,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 72c07059ef37..fb6e64417470 100644
|
||||
index ebec37cb3be9..4b13df38c069 100644
|
||||
--- a/kernel/sched/deadline.c
|
||||
+++ b/kernel/sched/deadline.c
|
||||
@@ -538,7 +538,7 @@ static struct rq *dl_task_offline_migration(struct rq *rq, struct task_struct *p
|
||||
@@ -539,7 +539,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:
|
||||
*/
|
||||
|
@ -554,7 +553,7 @@ index 72c07059ef37..fb6e64417470 100644
|
|||
if (cpu >= nr_cpu_ids) {
|
||||
/*
|
||||
* Failed to find any suitable CPU.
|
||||
@@ -1823,7 +1823,7 @@ static void set_curr_task_dl(struct rq *rq)
|
||||
@@ -1856,7 +1856,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) &&
|
||||
|
@ -563,7 +562,7 @@ index 72c07059ef37..fb6e64417470 100644
|
|||
return 1;
|
||||
return 0;
|
||||
}
|
||||
@@ -1973,7 +1973,7 @@ static struct rq *find_lock_later_rq(struct task_struct *task, struct rq *rq)
|
||||
@@ -2006,7 +2006,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 ||
|
||||
|
@ -573,10 +572,10 @@ index 72c07059ef37..fb6e64417470 100644
|
|||
!dl_task(task) ||
|
||||
!task_on_rq_queued(task))) {
|
||||
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
|
||||
index 289c966f907a..0048a32a3b4d 100644
|
||||
index b40d8c71e335..da5d60d25c27 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,
|
||||
@@ -1662,7 +1662,7 @@ static void task_numa_compare(struct task_numa_env *env,
|
||||
* be incurred if the tasks were swapped.
|
||||
*/
|
||||
/* Skip this swap candidate if cannot move to the source cpu */
|
||||
|
@ -585,7 +584,7 @@ index 289c966f907a..0048a32a3b4d 100644
|
|||
goto unlock;
|
||||
|
||||
/*
|
||||
@@ -1727,7 +1727,7 @@ static void task_numa_find_cpu(struct task_numa_env *env,
|
||||
@@ -1760,7 +1760,7 @@ static void task_numa_find_cpu(struct task_numa_env *env,
|
||||
|
||||
for_each_cpu(cpu, cpumask_of_node(env->dst_nid)) {
|
||||
/* Skip this CPU if the source task cannot migrate */
|
||||
|
@ -594,7 +593,7 @@ index 289c966f907a..0048a32a3b4d 100644
|
|||
continue;
|
||||
|
||||
env->dst_cpu = cpu;
|
||||
@@ -5741,7 +5741,7 @@ find_idlest_group(struct sched_domain *sd, struct task_struct *p,
|
||||
@@ -5800,7 +5800,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),
|
||||
|
@ -603,7 +602,7 @@ index 289c966f907a..0048a32a3b4d 100644
|
|||
continue;
|
||||
|
||||
local_group = cpumask_test_cpu(this_cpu,
|
||||
@@ -5873,7 +5873,7 @@ find_idlest_group_cpu(struct sched_group *group, struct task_struct *p, int this
|
||||
@@ -5932,7 +5932,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 */
|
||||
|
@ -612,7 +611,7 @@ index 289c966f907a..0048a32a3b4d 100644
|
|||
if (available_idle_cpu(i)) {
|
||||
struct rq *rq = cpu_rq(i);
|
||||
struct cpuidle_state *idle = idle_get_state(rq);
|
||||
@@ -5913,7 +5913,7 @@ static inline int find_idlest_cpu(struct sched_domain *sd, struct task_struct *p
|
||||
@@ -5972,7 +5972,7 @@ static inline int find_idlest_cpu(struct sched_domain *sd, struct task_struct *p
|
||||
{
|
||||
int new_cpu = cpu;
|
||||
|
||||
|
@ -621,7 +620,7 @@ index 289c966f907a..0048a32a3b4d 100644
|
|||
return prev_cpu;
|
||||
|
||||
/*
|
||||
@@ -6030,7 +6030,7 @@ static int select_idle_core(struct task_struct *p, struct sched_domain *sd, int
|
||||
@@ -6089,7 +6089,7 @@ static int select_idle_core(struct task_struct *p, struct sched_domain *sd, int
|
||||
if (!test_idle_cores(target, false))
|
||||
return -1;
|
||||
|
||||
|
@ -630,7 +629,7 @@ index 289c966f907a..0048a32a3b4d 100644
|
|||
|
||||
for_each_cpu_wrap(core, cpus, target) {
|
||||
bool idle = true;
|
||||
@@ -6064,7 +6064,7 @@ static int select_idle_smt(struct task_struct *p, struct sched_domain *sd, int t
|
||||
@@ -6123,7 +6123,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)) {
|
||||
|
@ -639,7 +638,7 @@ index 289c966f907a..0048a32a3b4d 100644
|
|||
continue;
|
||||
if (available_idle_cpu(cpu))
|
||||
return cpu;
|
||||
@@ -6127,7 +6127,7 @@ static int select_idle_cpu(struct task_struct *p, struct sched_domain *sd, int t
|
||||
@@ -6186,7 +6186,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;
|
||||
|
@ -648,7 +647,7 @@ index 289c966f907a..0048a32a3b4d 100644
|
|||
continue;
|
||||
if (available_idle_cpu(cpu))
|
||||
break;
|
||||
@@ -6164,7 +6164,7 @@ static int select_idle_sibling(struct task_struct *p, int prev, int target)
|
||||
@@ -6223,7 +6223,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) &&
|
||||
|
@ -657,7 +656,7 @@ index 289c966f907a..0048a32a3b4d 100644
|
|||
/*
|
||||
* Replace recent_used_cpu with prev as it is a potential
|
||||
* candidate for the next wake:
|
||||
@@ -6382,7 +6382,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int sd_flag, int wake_f
|
||||
@@ -6441,7 +6441,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)
|
||||
|
@ -666,7 +665,7 @@ index 289c966f907a..0048a32a3b4d 100644
|
|||
}
|
||||
|
||||
rcu_read_lock();
|
||||
@@ -7121,14 +7121,14 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env)
|
||||
@@ -7180,14 +7180,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
|
||||
|
@ -683,7 +682,7 @@ index 289c966f907a..0048a32a3b4d 100644
|
|||
int cpu;
|
||||
|
||||
schedstat_inc(p->se.statistics.nr_failed_migrations_affine);
|
||||
@@ -7148,7 +7148,7 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env)
|
||||
@@ -7207,7 +7207,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) {
|
||||
|
@ -692,7 +691,7 @@ index 289c966f907a..0048a32a3b4d 100644
|
|||
env->flags |= LBF_DST_PINNED;
|
||||
env->new_dst_cpu = cpu;
|
||||
break;
|
||||
@@ -7745,7 +7745,7 @@ check_cpu_capacity(struct rq *rq, struct sched_domain *sd)
|
||||
@@ -7804,7 +7804,7 @@ check_cpu_capacity(struct rq *rq, struct sched_domain *sd)
|
||||
|
||||
/*
|
||||
* Group imbalance indicates (and tries to solve) the problem where balancing
|
||||
|
@ -701,7 +700,7 @@ index 289c966f907a..0048a32a3b4d 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.
|
||||
@@ -8360,7 +8360,7 @@ static struct sched_group *find_busiest_group(struct lb_env *env)
|
||||
@@ -8419,7 +8419,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
|
||||
|
@ -710,7 +709,7 @@ index 289c966f907a..0048a32a3b4d 100644
|
|||
*/
|
||||
if (busiest->group_type == group_imbalanced)
|
||||
goto force_balance;
|
||||
@@ -8756,7 +8756,7 @@ static int load_balance(int this_cpu, struct rq *this_rq,
|
||||
@@ -8815,7 +8815,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:
|
||||
*/
|
||||
|
@ -742,10 +741,10 @@ index b980cc96604f..b6ca4a630050 100644
|
|||
!rt_task(task) ||
|
||||
!task_on_rq_queued(task))) {
|
||||
diff --git a/kernel/trace/trace_hwlat.c b/kernel/trace/trace_hwlat.c
|
||||
index 1e6db9cbe4dc..fa95139445b2 100644
|
||||
index 8030e24dbf14..862f4b0139fc 100644
|
||||
--- a/kernel/trace/trace_hwlat.c
|
||||
+++ b/kernel/trace/trace_hwlat.c
|
||||
@@ -277,7 +277,7 @@ static void move_to_next_cpu(void)
|
||||
@@ -279,7 +279,7 @@ static void move_to_next_cpu(void)
|
||||
* of this thread, than stop migrating for the duration
|
||||
* of the current test.
|
||||
*/
|
||||
|
@ -780,6 +779,3 @@ index 5522692100ba..8b4be8e1802a 100644
|
|||
|
||||
trace_foo_with_template_simple("HELLO", cnt);
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From bda814671dc9f9f74cabd99a65cad3101b68ee83 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/283] kernel/sched/core: add migrate_disable()
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
---
|
||||
include/linux/preempt.h | 23 +++++++
|
||||
|
@ -54,7 +53,7 @@ index c01813c3fbe9..3196d0e76719 100644
|
|||
|
||||
#ifdef MODULE
|
||||
diff --git a/include/linux/sched.h b/include/linux/sched.h
|
||||
index fdb8ba398ea8..df39ad5916e7 100644
|
||||
index 68e673278301..038d0faaa1d5 100644
|
||||
--- a/include/linux/sched.h
|
||||
+++ b/include/linux/sched.h
|
||||
@@ -662,6 +662,13 @@ struct task_struct {
|
||||
|
@ -86,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 d6f690064cce..b658f0147c3b 100644
|
||||
index 39bb4b3eb1bf..1a1ffb873d22 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
|
||||
|
@ -127,7 +126,7 @@ index d6f690064cce..b658f0147c3b 100644
|
|||
/*
|
||||
* Change a given task's CPU affinity. Migrate the thread to a
|
||||
* proper CPU and schedule it away if the CPU it's executing on
|
||||
@@ -1095,9 +1117,16 @@ static int __set_cpus_allowed_ptr(struct task_struct *p,
|
||||
@@ -1096,9 +1118,16 @@ static int __set_cpus_allowed_ptr(struct task_struct *p,
|
||||
}
|
||||
|
||||
/* Can the task run on the task's current CPU? If so, we're done */
|
||||
|
@ -142,10 +141,10 @@ index d6f690064cce..b658f0147c3b 100644
|
|||
+ }
|
||||
+#endif
|
||||
+
|
||||
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 };
|
||||
@@ -7067,3 +7096,100 @@ const u32 sched_prio_to_wmult[40] = {
|
||||
/* Need help from migration thread: drop lock and wait. */
|
||||
@@ -7104,3 +7133,100 @@ const u32 sched_prio_to_wmult[40] = {
|
||||
};
|
||||
|
||||
#undef CREATE_TRACE_POINTS
|
||||
|
@ -261,6 +260,3 @@ index 78fadf0438ea..5027158d3908 100644
|
|||
#undef PN_SCHEDSTAT
|
||||
#undef PN
|
||||
#undef __PN
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
From 6fb56185df42e49e0e2d8fe12d315356a57f4bce 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/283] sched/migrate_disable: Add export_symbol_gpl for
|
||||
Subject: [PATCH 028/290] sched/migrate_disable: Add export_symbol_gpl for
|
||||
__migrate_disabled
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ef09fdabc9d1ade69d87d4d674857172b6d172ee
|
||||
|
||||
Jonathan reported that lttng/modules can't use __migrate_disabled().
|
||||
This function is only used by sched/core itself and the tracing
|
||||
|
@ -22,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 b658f0147c3b..7a39d56f6a6b 100644
|
||||
index 1a1ffb873d22..a33c2c18628d 100644
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -1013,6 +1013,7 @@ int __migrate_disabled(struct task_struct *p)
|
||||
|
@ -33,6 +32,3 @@ index b658f0147c3b..7a39d56f6a6b 100644
|
|||
#endif
|
||||
|
||||
static void __do_set_cpus_allowed_tail(struct task_struct *p,
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 35e0294d43f7c53bdb7ecba19df0710037d888ec 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/283] arm: at91: do not disable/enable clocks in a row
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Currently the driver will disable the clock and enable it one line later
|
||||
if it is switching from periodic mode into one shot.
|
||||
|
@ -93,6 +92,3 @@ index 43f4d5c4d6fa..de6baf564dfe 100644
|
|||
.set_state_periodic = tc_set_periodic,
|
||||
.set_state_oneshot = tc_set_oneshot,
|
||||
},
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
From 4d4322de76f7b52df1529acfc6e5fc46e25761f1 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/283] clocksource: TCLIB: Allow higher clock rates for
|
||||
Subject: [PATCH 030/290] clocksource: TCLIB: Allow higher clock rates for
|
||||
clock events
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8abf3e475b2921798e61e686140e077146360f1a
|
||||
|
||||
As default the TCLIB uses the 32KiHz base clock rate for clock events.
|
||||
Add a compile time selection to allow higher clock resulution.
|
||||
|
@ -165,6 +164,3 @@ index 3726eacdf65d..0900dec7ec04 100644
|
|||
config DUMMY_IRQ
|
||||
tristate "Dummy IRQ handler"
|
||||
default n
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 64f770d93319861d308ce265a4389e4ca0a6ed5f 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/283] timekeeping: Split jiffies seqlock
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Replace jiffies_lock seqlock with a simple seqcounter and a rawlock so
|
||||
it can be taken in atomic context on RT.
|
||||
|
@ -136,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 443edcddac8a..0517bc42c6b6 100644
|
||||
index c2708e1f0c69..13477f8ee80e 100644
|
||||
--- a/kernel/time/timekeeping.c
|
||||
+++ b/kernel/time/timekeeping.c
|
||||
@@ -2418,8 +2418,10 @@ EXPORT_SYMBOL(hardpps);
|
||||
|
@ -166,6 +165,3 @@ index 141ab3ab0354..099737f6f10c 100644
|
|||
|
||||
#define CS_NAME_LEN 32
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 8cf90f7e58f51438a7ec0e4e704918afaa450ff1 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/283] signal: Revert ptrace preempt magic
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Upstream commit '53da1d9456fe7f8 fix ptrace slowness' is nothing more
|
||||
than a bandaid around the ptrace design trainwreck. It's not a
|
||||
|
@ -33,6 +32,3 @@ index 0e6bc3049427..d5a9646b3538 100644
|
|||
freezable_schedule();
|
||||
} else {
|
||||
/*
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 882c4f88db8d6179773dc733e794fa504aef75e3 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/283] net: sched: Use msleep() instead of yield()
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
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
|
||||
|
@ -47,10 +46,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 77b289da7763..31b9c2b415b4 100644
|
||||
index 30e32df5f84a..0b9c494f64b0 100644
|
||||
--- a/net/sched/sch_generic.c
|
||||
+++ b/net/sched/sch_generic.c
|
||||
@@ -1183,7 +1183,7 @@ void dev_deactivate_many(struct list_head *head)
|
||||
@@ -1192,7 +1192,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))
|
||||
|
@ -59,6 +58,3 @@ index 77b289da7763..31b9c2b415b4 100644
|
|||
/* The new qdisc is assigned at this point so we can safely
|
||||
* unwind stale skb lists and qdisc statistics
|
||||
*/
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From ea6d238547b58b5fe9ce953cd818ef8bf6cb8915 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/283] dm rq: remove BUG_ON(!irqs_disabled) check
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
In commit 052189a2ec95 ("dm: remove superfluous irq disablement in
|
||||
dm_request_fn") the spin_lock_irq() was replaced with spin_lock() + a
|
||||
|
@ -21,10 +20,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/md/dm-rq.c b/drivers/md/dm-rq.c
|
||||
index 6e547b8dd298..29736c7e5f1f 100644
|
||||
index 4d36373e1c0f..12ed08245130 100644
|
||||
--- a/drivers/md/dm-rq.c
|
||||
+++ b/drivers/md/dm-rq.c
|
||||
@@ -688,7 +688,6 @@ static void dm_old_request_fn(struct request_queue *q)
|
||||
@@ -692,7 +692,6 @@ static void dm_old_request_fn(struct request_queue *q)
|
||||
/* Establish tio->ti before queuing work (map_tio_request) */
|
||||
tio->ti = ti;
|
||||
kthread_queue_work(&md->kworker, &tio->work);
|
||||
|
@ -32,6 +31,3 @@ index 6e547b8dd298..29736c7e5f1f 100644
|
|||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From b91ae27f3efa2e15087397591db35dd1d11f5120 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/283] usb: do no disable interrupts in giveback
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Since commit 94dfd7ed ("USB: HCD: support giveback of URB in tasklet
|
||||
context") the USB code disables interrupts before invoking the complete
|
||||
|
@ -41,6 +40,3 @@ index b82a7d787add..2f3015356124 100644
|
|||
|
||||
usb_anchor_resume_wakeups(anchor);
|
||||
atomic_dec(&urb->use_count);
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 79f8ad95ffc5f1cd2ac721ab3d01291d4ad055df 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/283] rt: Provide PREEMPT_RT_BASE config switch
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Introduce PREEMPT_RT_BASE which enables parts of
|
||||
PREEMPT_RT_FULL. Forces interrupt threading and enables some of the RT
|
||||
|
@ -59,6 +58,3 @@ index cd1655122ec0..027db5976c2f 100644
|
|||
- bool
|
||||
\ No newline at end of file
|
||||
+ bool
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 75df679c581581978487f6f6de91bf86a9f72e7c 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/283] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
There are "valid" GFP_ATOMIC allocations such as
|
||||
|
||||
|
@ -71,6 +70,3 @@ 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.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From b5d77d6b4b4bcead77cd720e8a93f4ae78420034 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/283] jump-label: disable if stop_machine() is used
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Some architectures are using stop_machine() while switching the opcode which
|
||||
leads to latency spikes.
|
||||
|
@ -25,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 51794c7fa6d5..7d11242a37d2 100644
|
||||
index 185e552f1461..84f36e47e3ab 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -51,7 +51,7 @@ config ARM
|
||||
|
@ -37,6 +36,3 @@ index 51794c7fa6d5..7d11242a37d2 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.20.1
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
From 94fd428643474b867a8cac432d7d911a5250c367 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/283] kconfig: Disable config options which are not RT
|
||||
Subject: [PATCH 039/290] kconfig: Disable config options which are not RT
|
||||
compatible
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=164a36eb11cebfda8c6eb1f79beb2a31e4dd9ce2
|
||||
|
||||
Disable stuff which is known to have issues on RT
|
||||
|
||||
|
@ -38,6 +37,3 @@ index b457e94ae618..0dddbb2a3282 100644
|
|||
select COMPACTION
|
||||
select RADIX_TREE_MULTIORDER
|
||||
help
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
From 1a9e9b418236c18717a91955eeafe5bd72a00598 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/283] lockdep: disable self-test
|
||||
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://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bff275d06e885f7b51dbac8b2e93867616852378
|
||||
|
||||
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
|
||||
|
@ -18,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 3dea52f7be9c..1504e6aa8418 100644
|
||||
index 46a910acce3f..38cf7f81daa7 100644
|
||||
--- a/lib/Kconfig.debug
|
||||
+++ b/lib/Kconfig.debug
|
||||
@@ -1207,7 +1207,7 @@ config DEBUG_ATOMIC_SLEEP
|
||||
|
@ -30,6 +29,3 @@ index 3dea52f7be9c..1504e6aa8418 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.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 75102ff5e253e5ababc30c7512e0c07f2b7dc297 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/283] mm: Allow only slub on RT
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Disable SLAB and SLOB on -RT. Only SLUB is adopted to -RT needs.
|
||||
|
||||
|
@ -32,6 +31,3 @@ index 47035b5a46f6..ae9a0113a699 100644
|
|||
help
|
||||
SLOB replaces the stock allocator with a drastically simpler
|
||||
allocator. SLOB is generally more space efficient but
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
From 32697a0be9afdc5c631cc3d232a298b5880ed65c 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/283] locking: Disable spin on owner for RT
|
||||
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://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fb7c18e5a29066807df152c5b7d6cd2cf66e0301
|
||||
|
||||
Drop spin on owner for mutex / rwsem. We are most likely not using it
|
||||
but…
|
||||
|
@ -33,6 +32,3 @@ index 84d882f3e299..af27c4000812 100644
|
|||
|
||||
config LOCK_SPIN_ON_OWNER
|
||||
def_bool y
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 708879e986c1b552ee69d6444b808a196bba0f5f 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/283] rcu: Disable RCU_FAST_NO_HZ on RT
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
This uses a timer_list timer from the irq disabled guts of the idle
|
||||
code. Disable it for now to prevent wreckage.
|
||||
|
@ -25,6 +24,3 @@ index 9210379c0353..644264be90f0 100644
|
|||
default n
|
||||
help
|
||||
This option permits CPUs to enter dynticks-idle state even if
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From a14822b6d5fcc441064faf3edc2f91b5d461e703 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/283] rcu: make RCU_BOOST default on RT
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
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
|
||||
|
@ -29,6 +28,3 @@ 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.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 36c33c65b461082612dffa7be01862b7bd55270e 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/283] sched: Disable CONFIG_RT_GROUP_SCHED on RT
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Carsten reported problems when running:
|
||||
|
||||
|
@ -30,6 +29,3 @@ index ae9a0113a699..61e8b531649b 100644
|
|||
default n
|
||||
help
|
||||
This feature lets you explicitly allocate real CPU bandwidth
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
From f2b7e396c43d3607ee0a0090c7470da50f833e93 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/283] net/core: disable NET_RX_BUSY_POLL
|
||||
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://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=86b04e83f0deb1dce266ca11efb35281d2d76566
|
||||
|
||||
sk_busy_loop() does preempt_disable() followed by a few operations which can
|
||||
take sleeping locks and may get long.
|
||||
|
@ -33,6 +32,3 @@ index 228dfa382eec..bc8d01996f22 100644
|
|||
|
||||
config BQL
|
||||
bool
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 477660c22f2036e69299438b1292307ee1dba46b 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/283] arm*: disable NEON in kernel mode
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
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
|
||||
|
@ -21,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 7d11242a37d2..e122dd212ab3 100644
|
||||
index 84f36e47e3ab..c1cc28f0841f 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -2162,7 +2162,7 @@ config NEON
|
||||
@@ -2163,7 +2163,7 @@ config NEON
|
||||
|
||||
config KERNEL_MODE_NEON
|
||||
bool "Support for NEON in kernel mode"
|
||||
|
@ -161,6 +160,3 @@ index 34b4e3d46aab..ae055cdad8cf 100644
|
|||
crc32_pmull_algs[0].update = crc32_pmull_update;
|
||||
crc32_pmull_algs[1].update = crc32c_pmull_update;
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 297ef639cbc4bc3aac2e5a8835090136753796fc 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/283] powerpc: Use generic rwsem on RT
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Use generic code which uses rtmutex
|
||||
|
||||
|
@ -28,6 +27,3 @@ index a80669209155..9952764db9c5 100644
|
|||
|
||||
config GENERIC_LOCKBREAK
|
||||
bool
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
From 3bead4e3fc7560659c1982ace99de374aa9df79c 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/283] powerpc/kvm: Disable in-kernel MPIC emulation for
|
||||
Subject: [PATCH 049/290] powerpc/kvm: Disable in-kernel MPIC emulation for
|
||||
PREEMPT_RT_FULL
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=98667cc1926223ba114f4e52611633d0d8f0af87
|
||||
|
||||
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
|
||||
|
@ -40,6 +39,3 @@ index 68a0e9d5b440..6f4d5d7615af 100644
|
|||
select HAVE_KVM_IRQCHIP
|
||||
select HAVE_KVM_IRQFD
|
||||
select HAVE_KVM_IRQ_ROUTING
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From ae9000e3c66794249fbca61b8a71bcdf690910e0 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/283] powerpc: Disable highmem on RT
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
The current highmem handling on -RT is not compatible and needs fixups.
|
||||
|
||||
|
@ -24,6 +23,3 @@ index 9952764db9c5..1563820a37e8 100644
|
|||
|
||||
source kernel/Kconfig.hz
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 454e636edd0bb26495afb3850a37aa5e5214a4ed 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/283] mips: Disable highmem on RT
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
The current highmem handling on -RT is not compatible and needs fixups.
|
||||
|
||||
|
@ -24,6 +23,3 @@ index 201caf226b47..bd268302efa4 100644
|
|||
|
||||
config CPU_SUPPORTS_HIGHMEM
|
||||
bool
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 5c86aec91ae10f140d18bd33cd62783cdde0922d 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/283] x86: Use generic rwsem_spinlocks on -rt
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Simplifies the separation of anon_rw_semaphores and rw_semaphores for
|
||||
-rt.
|
||||
|
@ -29,6 +28,3 @@ index 04a45d6d0167..1b05ae86bdde 100644
|
|||
|
||||
config GENERIC_CALIBRATE_DELAY
|
||||
def_bool y
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 9cd1a715d85ace3e9b1d3ae703eb16744dd3ebb6 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/283] leds: trigger: disable CPU trigger on -RT
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
as it triggers:
|
||||
|CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.8-rt10 #141
|
||||
|
@ -36,6 +35,3 @@ 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.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From f19ffb87fe48ba1e8904df670b13d52f8b9c08f1 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/283] cpufreq: drop K8's driver from beeing selected
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Ralf posted a picture of a backtrace from
|
||||
|
||||
|
@ -34,6 +33,3 @@ 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.20.1
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
From 3b1c3bc41b87cd7a714ebfa5e88651d4f3326f2e 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/283] md: disable bcache
|
||||
Subject: [PATCH 055/290] md: disable bcache
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=57bf213cf62320f7d35e01f133973d9f37d06f82
|
||||
|
||||
It uses anon semaphores
|
||||
|drivers/md/bcache/request.c: In function ‘cached_dev_write_complete’:
|
||||
|
@ -36,6 +35,3 @@ index f6e0a8b3a61e..18c03d79a442 100644
|
|||
select CRC64
|
||||
help
|
||||
Allows a block device to be used as cache for other devices; uses
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From f0e7a6e0f76d2ab27a0c5ef0f7872d971ec1dd23 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/283] efi: Disable runtime services on RT
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Based on meassurements the EFI functions get_variable /
|
||||
get_next_variable take up to 2us which looks okay.
|
||||
|
@ -29,7 +28,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
|
||||
index ab668e17fd05..f58ab9ed4ade 100644
|
||||
index 5db20908aa9c..1708505fdf5d 100644
|
||||
--- a/drivers/firmware/efi/efi.c
|
||||
+++ b/drivers/firmware/efi/efi.c
|
||||
@@ -87,7 +87,7 @@ struct mm_struct efi_mm = {
|
||||
|
@ -41,6 +40,3 @@ index ab668e17fd05..f58ab9ed4ade 100644
|
|||
static int __init setup_noefi(char *arg)
|
||||
{
|
||||
disable_runtime = true;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From d1e9e20fe16f16a1665eabaa44a0f1c2a4cebfec 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/283] printk: Add a printk kill switch
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Add a prinkt-kill-switch. This is used from (NMI) watchdog to ensure that
|
||||
it does not dead-lock with the early printk code.
|
||||
|
@ -31,7 +30,7 @@ index cf3eccfe1543..30ebf5f82a7c 100644
|
|||
|
||||
#ifdef CONFIG_PRINTK_NMI
|
||||
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
|
||||
index 06045abd1887..413160a93814 100644
|
||||
index d0d03223b45b..289605ff56e8 100644
|
||||
--- a/kernel/printk/printk.c
|
||||
+++ b/kernel/printk/printk.c
|
||||
@@ -405,6 +405,58 @@ DEFINE_RAW_SPINLOCK(logbuf_lock);
|
||||
|
@ -169,6 +168,3 @@ index 71381168dede..685443375dc0 100644
|
|||
if (hardlockup_panic)
|
||||
nmi_panic(regs, "Hard LOCKUP");
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
From 3d881bc012788bea38e0bf55b03d9996eb40b1b9 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/283] printk: Add "force_early_printk" boot param to help
|
||||
Subject: [PATCH 058/290] printk: Add "force_early_printk" boot param to help
|
||||
with debugging
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e71d5b7d64fa1dd11f7ef2a2bd482f704d6de200
|
||||
|
||||
Gives me an option to screw printk and actually see what the machine
|
||||
says.
|
||||
|
@ -17,7 +16,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 413160a93814..6553508ff388 100644
|
||||
index 289605ff56e8..210cdac1458d 100644
|
||||
--- a/kernel/printk/printk.c
|
||||
+++ b/kernel/printk/printk.c
|
||||
@@ -435,6 +435,13 @@ asmlinkage void early_printk(const char *fmt, ...)
|
||||
|
@ -34,6 +33,3 @@ index 413160a93814..6553508ff388 100644
|
|||
void printk_kill(void)
|
||||
{
|
||||
printk_killswitch = true;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 6a3ec551d9ea7e49f20d8f9d3d45fb8d9ca1b720 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/283] preempt: Provide preempt_*_(no)rt variants
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
RT needs a few preempt_disable/enable points which are not necessary
|
||||
otherwise. Implement variants to avoid #ifdeffery.
|
||||
|
@ -48,6 +47,3 @@ index 3196d0e76719..f7a17fcc3fec 100644
|
|||
#ifdef CONFIG_PREEMPT_NOTIFIERS
|
||||
|
||||
struct preempt_notifier;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
From 02487d0393920e03426a2378e40bc7547193c3aa 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/283] futex: workaround migrate_disable/enable in different
|
||||
Subject: [PATCH 060/290] futex: workaround migrate_disable/enable in different
|
||||
context
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5182d12b0ac95cf21c3206e06142566001edacc6
|
||||
|
||||
migrate_disable()/migrate_enable() takes a different path in atomic() vs
|
||||
!atomic() context. These little hacks ensure that we don't underflow / overflow
|
||||
|
@ -65,6 +64,3 @@ index afdc5eadce6e..304f07d08c95 100644
|
|||
put_pi_state(pi_state);
|
||||
|
||||
/*
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 1e4195bafdb198d778c98aece678c7b16cd035c8 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/283] rt: Add local irq locks
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Introduce locallock. For !RT this maps to preempt_disable()/
|
||||
local_irq_disable() so there is not much that changes. For RT this will
|
||||
|
@ -336,6 +335,3 @@ index 70b7123f38c7..24421bf8c4b3 100644
|
|||
/* minimum unit size, also is the maximum supported allocation size */
|
||||
#define PCPU_MIN_UNIT_SIZE PFN_ALIGN(32 << 10)
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 58ee9341c0c3521cdb41239c83807a98cef97bd0 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/283] locallock: provide {get,put}_locked_ptr() variants
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Provide a set of locallocked accessors for pointers to per-CPU data;
|
||||
this is useful for dynamically-allocated per-CPU regions, for example.
|
||||
|
@ -44,6 +43,3 @@ index d658c2552601..921eab83cd34 100644
|
|||
|
||||
#define local_lock_cpu(lvar) get_cpu()
|
||||
#define local_unlock_cpu(lvar) put_cpu()
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From a6c38f0b349a8921a1bfe4dcef5972cf1e2224a0 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/283] mm/scatterlist: Do not disable irqs on RT
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
For -RT it is enough to keep pagefault disabled (which is currently handled by
|
||||
kmap_atomic()).
|
||||
|
@ -13,10 +12,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/scatterlist.c b/lib/scatterlist.c
|
||||
index 7c6096a71704..5c2c68962709 100644
|
||||
index 8c3036c37ba0..336162c2813f 100644
|
||||
--- a/lib/scatterlist.c
|
||||
+++ b/lib/scatterlist.c
|
||||
@@ -776,7 +776,7 @@ void sg_miter_stop(struct sg_mapping_iter *miter)
|
||||
@@ -777,7 +777,7 @@ void sg_miter_stop(struct sg_mapping_iter *miter)
|
||||
flush_kernel_dcache_page(miter->page);
|
||||
|
||||
if (miter->__flags & SG_MITER_ATOMIC) {
|
||||
|
@ -25,6 +24,3 @@ index 7c6096a71704..5c2c68962709 100644
|
|||
kunmap_atomic(miter->addr);
|
||||
} else
|
||||
kunmap(miter->page);
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From f994c5279fb1173131e67419c540713cd25a59e3 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/283] signal/x86: Delay calling signals in atomic
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
On x86_64 we must disable preemption before we enable interrupts
|
||||
for stack faults, int3 and debugging, because the current task is using
|
||||
|
@ -80,7 +79,7 @@ index 33d3c88a7225..fb0438d06ca7 100644
|
|||
typedef sigset_t compat_sigset_t;
|
||||
#endif
|
||||
diff --git a/include/linux/sched.h b/include/linux/sched.h
|
||||
index df39ad5916e7..535e57775208 100644
|
||||
index 038d0faaa1d5..c87c11bfd9d9 100644
|
||||
--- a/include/linux/sched.h
|
||||
+++ b/include/linux/sched.h
|
||||
@@ -881,6 +881,10 @@ struct task_struct {
|
||||
|
@ -149,6 +148,3 @@ index d5a9646b3538..56edb0580a3a 100644
|
|||
/*
|
||||
* Nuke all other threads in the group.
|
||||
*/
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 77f58646e4722365c6b6b91802d5feddd57dff34 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/283] x86/signal: delay calling signals on 32bit
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
When running some ptrace single step tests on x86-32 machine, the below problem
|
||||
is triggered:
|
||||
|
@ -44,6 +43,3 @@ index fb0438d06ca7..c00e27af2205 100644
|
|||
#define ARCH_RT_DELAYS_SIGNAL_SEND
|
||||
#endif
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 86a1cbd4eddbe083ad0331f0eeec002f6fa7b322 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/283] buffer_head: Replace bh_uptodate_lock for -rt
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Wrap the bit_spin_lock calls into a separate inline and add the RT
|
||||
replacements with a real spinlock.
|
||||
|
@ -192,6 +191,3 @@ index 96225a77c112..8a1bcfb145d7 100644
|
|||
/*
|
||||
* macro tricks to expand the set_buffer_foo(), clear_buffer_foo()
|
||||
* and buffer_foo() functions.
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
From a0ac5bf9b179bff5745bd4c15d14cb2ec5c81c16 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/283] fs: jbd/jbd2: Make state lock and journal head lock
|
||||
Subject: [PATCH 067/290] fs: jbd/jbd2: Make state lock and journal head lock
|
||||
rt safe
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b440221d5e434ba95db2a0b09d00162e95b55d93
|
||||
|
||||
bit_spin_locks break under RT.
|
||||
|
||||
|
@ -45,7 +44,7 @@ index 8a1bcfb145d7..5869330d1f38 100644
|
|||
}
|
||||
|
||||
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h
|
||||
index 583b82b5a1e9..57f4ad8d45a5 100644
|
||||
index 1cf1b9b8e975..2e3266736094 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)
|
||||
|
@ -105,6 +104,3 @@ index 583b82b5a1e9..57f4ad8d45a5 100644
|
|||
}
|
||||
|
||||
#define J_ASSERT(assert) BUG_ON(!(assert))
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 575440eb3e514693de4892b3589bd02b584834ef 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/283] list_bl: Make list head locking RT safe
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
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
|
||||
|
@ -116,6 +115,3 @@ index 3fc2cc57ba1b..69b659259bac 100644
|
|||
}
|
||||
|
||||
static inline bool hlist_bl_is_locked(struct hlist_bl_head *b)
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 386260fdddeed151902355b8c816f9b166c1c2b8 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/283] list_bl: fixup bogus lockdep warning
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
At first glance, the use of 'static inline' seems appropriate for
|
||||
INIT_HLIST_BL_HEAD().
|
||||
|
@ -99,6 +98,3 @@ index 69b659259bac..0b5de7d9ffcf 100644
|
|||
|
||||
static inline void INIT_HLIST_BL_NODE(struct hlist_bl_node *h)
|
||||
{
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From d884d2bff2d643468c5e37727aa29e8f5c88b3be 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/283] genirq: Disable irqpoll on -rt
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Creates long latencies for no value
|
||||
|
||||
|
@ -38,6 +37,3 @@ index d867d6ddafdd..cd12ee86c01e 100644
|
|||
irqfixup = 2;
|
||||
printk(KERN_WARNING "Misrouted IRQ fixup and polling support "
|
||||
"enabled\n");
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
From 91f768aed73cc93826112811b4e622dce0c1915f 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/283] genirq: Force interrupt thread on RT
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
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
|
||||
|
||||
Force threaded_irqs and optimize the code (force_irqthreads) in regard
|
||||
to this.
|
||||
|
@ -13,9 +12,11 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|||
kernel/irq/manage.c | 2 ++
|
||||
2 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
|
||||
index eeceac3376fc..315f852b4981 100644
|
||||
--- a/include/linux/interrupt.h
|
||||
+++ b/include/linux/interrupt.h
|
||||
@@ -427,7 +427,11 @@ extern int irq_set_irqchip_state(unsigne
|
||||
@@ -427,7 +427,11 @@ extern int irq_set_irqchip_state(unsigned int irq, enum irqchip_irq_state which,
|
||||
bool state);
|
||||
|
||||
#ifdef CONFIG_IRQ_FORCED_THREADING
|
||||
|
@ -27,6 +28,8 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|||
#else
|
||||
#define force_irqthreads (0)
|
||||
#endif
|
||||
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
|
||||
index 23bcfa71077f..3c26d0708709 100644
|
||||
--- a/kernel/irq/manage.c
|
||||
+++ b/kernel/irq/manage.c
|
||||
@@ -24,6 +24,7 @@
|
||||
|
@ -37,7 +40,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|||
__read_mostly bool force_irqthreads;
|
||||
EXPORT_SYMBOL_GPL(force_irqthreads);
|
||||
|
||||
@@ -33,6 +34,7 @@ static int __init setup_forced_irqthread
|
||||
@@ -33,6 +34,7 @@ static int __init setup_forced_irqthreads(char *arg)
|
||||
return 0;
|
||||
}
|
||||
early_param("threadirqs", setup_forced_irqthreads);
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
From 6ec0e8d1526370de73bd18c096f7f96827594308 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/283] Split IRQ-off and zone->lock while freeing pages from
|
||||
Subject: [PATCH 072/290] Split IRQ-off and zone->lock while freeing pages from
|
||||
PCP list #1
|
||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.59-rt24.tar.xz
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6fdb74e76cbdf28ba0fc148ff245ebe35ffcb059
|
||||
|
||||
Split the IRQ-off section while accessing the PCP list from zone->lock
|
||||
while freeing pages.
|
||||
|
@ -168,6 +167,3 @@ index 2d04bd2e1ced..332b48f38d1e 100644
|
|||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue