Update to 4.19.5-rt4
This commit is contained in:
parent
37094dbb55
commit
36bf3a2656
|
@ -13,6 +13,7 @@ linux (4.19.6-1~exp1) UNRELEASED; urgency=medium
|
||||||
[ Romain Perier ]
|
[ Romain Perier ]
|
||||||
* [x86] Enable support for error detection and correction on the Intel
|
* [x86] Enable support for error detection and correction on the Intel
|
||||||
Pondicherry2 Integrated Memory Controller (Closes: #914946)
|
Pondicherry2 Integrated Memory Controller (Closes: #914946)
|
||||||
|
* Update to 4.19.5-rt4
|
||||||
|
|
||||||
[ Uwe Kleine-König ]
|
[ Uwe Kleine-König ]
|
||||||
* Enable usb support for ATH10K (Closes: #915083)
|
* Enable usb support for ATH10K (Closes: #915083)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||||
Date: Thu, 13 Sep 2018 13:30:18 +0200
|
Date: Thu, 13 Sep 2018 13:30:18 +0200
|
||||||
Subject: [PATCH 1/7] ARM: at91: add TCB registers definitions
|
Subject: [PATCH 1/7] ARM: at91: add TCB registers definitions
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Add registers and bits definitions for the timer counter blocks found on
|
Add registers and bits definitions for the timer counter blocks found on
|
||||||
Atmel ARM SoCs.
|
Atmel ARM SoCs.
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Peter Zijlstra <peterz@infradead.org>
|
||||||
Date: Mon, 28 May 2018 15:24:20 +0200
|
Date: Mon, 28 May 2018 15:24:20 +0200
|
||||||
Subject: [PATCH 1/4] Split IRQ-off and zone->lock while freeing pages from PCP
|
Subject: [PATCH 1/4] Split IRQ-off and zone->lock while freeing pages from PCP
|
||||||
list #1
|
list #1
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Split the IRQ-off section while accessing the PCP list from zone->lock
|
Split the IRQ-off section while accessing the PCP list from zone->lock
|
||||||
while freeing pages.
|
while freeing pages.
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Peter Zijlstra <peterz@infradead.org>
|
||||||
Date: Mon, 28 May 2018 15:24:21 +0200
|
Date: Mon, 28 May 2018 15:24:21 +0200
|
||||||
Subject: [PATCH 2/4] Split IRQ-off and zone->lock while freeing pages from PCP
|
Subject: [PATCH 2/4] Split IRQ-off and zone->lock while freeing pages from PCP
|
||||||
list #2
|
list #2
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Split the IRQ-off section while accessing the PCP list from zone->lock
|
Split the IRQ-off section while accessing the PCP list from zone->lock
|
||||||
while freeing pages.
|
while freeing pages.
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||||
Date: Thu, 13 Sep 2018 13:30:19 +0200
|
Date: Thu, 13 Sep 2018 13:30:19 +0200
|
||||||
Subject: [PATCH 2/7] clocksource/drivers: Add a new driver for the Atmel ARM
|
Subject: [PATCH 2/7] clocksource/drivers: Add a new driver for the Atmel ARM
|
||||||
TC blocks
|
TC blocks
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Add a driver for the Atmel Timer Counter Blocks. This driver provides a
|
Add a driver for the Atmel Timer Counter Blocks. This driver provides a
|
||||||
clocksource and two clockevent devices.
|
clocksource and two clockevent devices.
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||||
Date: Thu, 13 Sep 2018 13:30:20 +0200
|
Date: Thu, 13 Sep 2018 13:30:20 +0200
|
||||||
Subject: [PATCH 3/7] clocksource/drivers: timer-atmel-tcb: add clockevent
|
Subject: [PATCH 3/7] clocksource/drivers: timer-atmel-tcb: add clockevent
|
||||||
device on separate channel
|
device on separate channel
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Add an other clockevent device that uses a separate TCB channel when
|
Add an other clockevent device that uses a separate TCB channel when
|
||||||
available.
|
available.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Mon, 28 May 2018 15:24:22 +0200
|
Date: Mon, 28 May 2018 15:24:22 +0200
|
||||||
Subject: [PATCH 3/4] mm/SLxB: change list_lock to raw_spinlock_t
|
Subject: [PATCH 3/4] mm/SLxB: change list_lock to raw_spinlock_t
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
The list_lock is used with used with IRQs off on RT. Make it a raw_spinlock_t
|
The list_lock is used with used with IRQs off on RT. Make it a raw_spinlock_t
|
||||||
otherwise the interrupts won't be disabled on -RT. The locking rules remain
|
otherwise the interrupts won't be disabled on -RT. The locking rules remain
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||||
Date: Thu, 13 Sep 2018 13:30:21 +0200
|
Date: Thu, 13 Sep 2018 13:30:21 +0200
|
||||||
Subject: [PATCH 4/7] clocksource/drivers: atmel-pit: make option silent
|
Subject: [PATCH 4/7] clocksource/drivers: atmel-pit: make option silent
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
To conform with the other option, make the ATMEL_PIT option silent so it
|
To conform with the other option, make the ATMEL_PIT option silent so it
|
||||||
can be selected from the platform
|
can be selected from the platform
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Thu, 21 Jun 2018 17:29:19 +0200
|
Date: Thu, 21 Jun 2018 17:29:19 +0200
|
||||||
Subject: [PATCH 4/4] mm/SLUB: delay giving back empty slubs to IRQ enabled
|
Subject: [PATCH 4/4] mm/SLUB: delay giving back empty slubs to IRQ enabled
|
||||||
regions
|
regions
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
__free_slab() is invoked with disabled interrupts which increases the
|
__free_slab() is invoked with disabled interrupts which increases the
|
||||||
irq-off time while __free_pages() is doing the work.
|
irq-off time while __free_pages() is doing the work.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||||
Date: Thu, 13 Sep 2018 13:30:22 +0200
|
Date: Thu, 13 Sep 2018 13:30:22 +0200
|
||||||
Subject: [PATCH 5/7] ARM: at91: Implement clocksource selection
|
Subject: [PATCH 5/7] ARM: at91: Implement clocksource selection
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Allow selecting and unselecting the PIT clocksource driver so it doesn't
|
Allow selecting and unselecting the PIT clocksource driver so it doesn't
|
||||||
have to be compile when unused.
|
have to be compile when unused.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||||
Date: Thu, 13 Sep 2018 13:30:23 +0200
|
Date: Thu, 13 Sep 2018 13:30:23 +0200
|
||||||
Subject: [PATCH 6/7] ARM: configs: at91: use new TCB timer driver
|
Subject: [PATCH 6/7] ARM: configs: at91: use new TCB timer driver
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Unselecting ATMEL_TCLIB switches the TCB timer driver from tcb_clksrc to
|
Unselecting ATMEL_TCLIB switches the TCB timer driver from tcb_clksrc to
|
||||||
timer-atmel-tcb.
|
timer-atmel-tcb.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||||
Date: Thu, 13 Sep 2018 13:30:24 +0200
|
Date: Thu, 13 Sep 2018 13:30:24 +0200
|
||||||
Subject: [PATCH 7/7] ARM: configs: at91: unselect PIT
|
Subject: [PATCH 7/7] ARM: configs: at91: unselect PIT
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
The PIT is not required anymore to successfully boot and may actually harm
|
The PIT is not required anymore to successfully boot and may actually harm
|
||||||
in case preempt-rt is used because the PIT interrupt is shared.
|
in case preempt-rt is used because the PIT interrupt is shared.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: "Yadi.hu" <yadi.hu@windriver.com>
|
From: "Yadi.hu" <yadi.hu@windriver.com>
|
||||||
Date: Wed, 10 Dec 2014 10:32:09 +0800
|
Date: Wed, 10 Dec 2014 10:32:09 +0800
|
||||||
Subject: ARM: enable irq in translation/section permission fault handlers
|
Subject: ARM: enable irq in translation/section permission fault handlers
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Probably happens on all ARM, with
|
Probably happens on all ARM, with
|
||||||
CONFIG_PREEMPT_RT_FULL
|
CONFIG_PREEMPT_RT_FULL
|
||||||
|
|
|
@ -4,7 +4,7 @@ Subject: [PATCH] Drivers: hv: vmbus: include header for get_irq_regs()
|
||||||
MIME-Version: 1.0
|
MIME-Version: 1.0
|
||||||
Content-Type: text/plain; charset=UTF-8
|
Content-Type: text/plain; charset=UTF-8
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
On !RT the header file get_irq_regs() gets pulled in via other header files. On
|
On !RT the header file get_irq_regs() gets pulled in via other header files. On
|
||||||
RT it does not and the build fails:
|
RT it does not and the build fails:
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Paul E. McKenney <paulmck@linux.ibm.com>
|
From: Paul E. McKenney <paulmck@linux.ibm.com>
|
||||||
Date: Mon, 29 Oct 2018 11:53:01 +0100
|
Date: Mon, 29 Oct 2018 11:53:01 +0100
|
||||||
Subject: [PATCH] EXP rcu: Revert expedited GP parallelization cleverness
|
Subject: [PATCH] EXP rcu: Revert expedited GP parallelization cleverness
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
(Commit 258ba8e089db23f760139266c232f01bad73f85c from linux-rcu)
|
(Commit 258ba8e089db23f760139266c232f01bad73f85c from linux-rcu)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Thu, 21 Mar 2013 19:01:05 +0100
|
Date: Thu, 21 Mar 2013 19:01:05 +0100
|
||||||
Subject: printk: Drop the logbuf_lock more often
|
Subject: printk: Drop the logbuf_lock more often
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
The lock is hold with irgs off. The latency drops 500us+ on my arm bugs
|
The lock is hold with irgs off. The latency drops 500us+ on my arm bugs
|
||||||
with a "full" buffer after executing "dmesg" on the shell.
|
with a "full" buffer after executing "dmesg" on the shell.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Josh Cartwright <joshc@ni.com>
|
From: Josh Cartwright <joshc@ni.com>
|
||||||
Date: Thu, 11 Feb 2016 11:54:01 -0600
|
Date: Thu, 11 Feb 2016 11:54:01 -0600
|
||||||
Subject: KVM: arm/arm64: downgrade preempt_disable()d region to migrate_disable()
|
Subject: KVM: arm/arm64: downgrade preempt_disable()d region to migrate_disable()
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
kvm_arch_vcpu_ioctl_run() disables the use of preemption when updating
|
kvm_arch_vcpu_ioctl_run() disables the use of preemption when updating
|
||||||
the vgic and timer states to prevent the calling task from migrating to
|
the vgic and timer states to prevent the calling task from migrating to
|
||||||
|
|
|
@ -5,7 +5,7 @@ Cc: Anna Schumaker <anna.schumaker@netapp.com>,
|
||||||
linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org,
|
linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org,
|
||||||
tglx@linutronix.de
|
tglx@linutronix.de
|
||||||
Subject: NFSv4: replace seqcount_t with a seqlock_t
|
Subject: NFSv4: replace seqcount_t with a seqlock_t
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
The raw_write_seqcount_begin() in nfs4_reclaim_open_state() bugs me
|
The raw_write_seqcount_begin() in nfs4_reclaim_open_state() bugs me
|
||||||
because it maps to preempt_disable() in -RT which I can't have at this
|
because it maps to preempt_disable() in -RT which I can't have at this
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Sat, 27 May 2017 19:02:06 +0200
|
Date: Sat, 27 May 2017 19:02:06 +0200
|
||||||
Subject: kernel/sched/core: add migrate_disable()
|
Subject: kernel/sched/core: add migrate_disable()
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
---
|
---
|
||||||
include/linux/preempt.h | 23 ++++++++
|
include/linux/preempt.h | 23 ++++++++
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Wed, 11 Oct 2017 17:43:49 +0200
|
Date: Wed, 11 Oct 2017 17:43:49 +0200
|
||||||
Subject: apparmor: use a locallock instead preempt_disable()
|
Subject: apparmor: use a locallock instead preempt_disable()
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
get_buffers() disables preemption which acts as a lock for the per-CPU
|
get_buffers() disables preemption which acts as a lock for the per-CPU
|
||||||
variable. Since we can't disable preemption here on RT, a local_lock is
|
variable. Since we can't disable preemption here on RT, a local_lock is
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Anders Roxell <anders.roxell@linaro.org>
|
From: Anders Roxell <anders.roxell@linaro.org>
|
||||||
Date: Thu, 14 May 2015 17:52:17 +0200
|
Date: Thu, 14 May 2015 17:52:17 +0200
|
||||||
Subject: arch/arm64: Add lazy preempt support
|
Subject: arch/arm64: Add lazy preempt support
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
arm64 is missing support for PREEMPT_RT. The main feature which is
|
arm64 is missing support for PREEMPT_RT. The main feature which is
|
||||||
lacking is support for lazy preemption. The arch-specific entry code,
|
lacking is support for lazy preemption. The arch-specific entry code,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Frank Rowand <frank.rowand@am.sony.com>
|
From: Frank Rowand <frank.rowand@am.sony.com>
|
||||||
Date: Mon, 19 Sep 2011 14:51:14 -0700
|
Date: Mon, 19 Sep 2011 14:51:14 -0700
|
||||||
Subject: arm: Convert arm boot_lock to raw
|
Subject: arm: Convert arm boot_lock to raw
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
The arm boot_lock is used by the secondary processor startup code. The locking
|
The arm boot_lock is used by the secondary processor startup code. The locking
|
||||||
task is the idle thread, which has idle->sched_class == &idle_sched_class.
|
task is the idle thread, which has idle->sched_class == &idle_sched_class.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Fri, 1 Dec 2017 10:42:03 +0100
|
Date: Fri, 1 Dec 2017 10:42:03 +0100
|
||||||
Subject: [PATCH] arm*: disable NEON in kernel mode
|
Subject: [PATCH] arm*: disable NEON in kernel mode
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
NEON in kernel mode is used by the crypto algorithms and raid6 code.
|
NEON in kernel mode is used by the crypto algorithms and raid6 code.
|
||||||
While the raid6 code looks okay, the crypto algorithms do not: NEON
|
While the raid6 code looks okay, the crypto algorithms do not: NEON
|
||||||
|
@ -14,13 +14,11 @@ stay on due to possible EFI callbacks so here I disable each algorithm.
|
||||||
Cc: stable-rt@vger.kernel.org
|
Cc: stable-rt@vger.kernel.org
|
||||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
---
|
---
|
||||||
arch/arm/Kconfig | 2 +-
|
arch/arm/Kconfig | 2 +-
|
||||||
arch/arm64/crypto/Kconfig | 28 ++++++++++++++--------------
|
arch/arm64/crypto/Kconfig | 28 ++++++++++++++--------------
|
||||||
arch/arm64/crypto/crc32-ce-glue.c | 3 ++-
|
arch/arm64/crypto/crc32-ce-glue.c | 3 ++-
|
||||||
3 files changed, 17 insertions(+), 16 deletions(-)
|
3 files changed, 17 insertions(+), 16 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
|
||||||
index e8cd55a5b04c..956b68441ee4 100644
|
|
||||||
--- a/arch/arm/Kconfig
|
--- a/arch/arm/Kconfig
|
||||||
+++ b/arch/arm/Kconfig
|
+++ b/arch/arm/Kconfig
|
||||||
@@ -2160,7 +2160,7 @@ config NEON
|
@@ -2160,7 +2160,7 @@ config NEON
|
||||||
|
@ -32,8 +30,6 @@ index e8cd55a5b04c..956b68441ee4 100644
|
||||||
help
|
help
|
||||||
Say Y to include support for NEON in kernel mode.
|
Say Y to include support for NEON in kernel mode.
|
||||||
|
|
||||||
diff --git a/arch/arm64/crypto/Kconfig b/arch/arm64/crypto/Kconfig
|
|
||||||
index d51944ff9f91..0d4b3f0cfba6 100644
|
|
||||||
--- a/arch/arm64/crypto/Kconfig
|
--- a/arch/arm64/crypto/Kconfig
|
||||||
+++ b/arch/arm64/crypto/Kconfig
|
+++ b/arch/arm64/crypto/Kconfig
|
||||||
@@ -19,43 +19,43 @@ config CRYPTO_SHA512_ARM64
|
@@ -19,43 +19,43 @@ config CRYPTO_SHA512_ARM64
|
||||||
|
@ -146,11 +142,9 @@ index d51944ff9f91..0d4b3f0cfba6 100644
|
||||||
select CRYPTO_BLKCIPHER
|
select CRYPTO_BLKCIPHER
|
||||||
select CRYPTO_AES_ARM64_NEON_BLK
|
select CRYPTO_AES_ARM64_NEON_BLK
|
||||||
select CRYPTO_AES_ARM64
|
select CRYPTO_AES_ARM64
|
||||||
diff --git a/arch/arm64/crypto/crc32-ce-glue.c b/arch/arm64/crypto/crc32-ce-glue.c
|
|
||||||
index 34b4e3d46aab..ae055cdad8cf 100644
|
|
||||||
--- a/arch/arm64/crypto/crc32-ce-glue.c
|
--- a/arch/arm64/crypto/crc32-ce-glue.c
|
||||||
+++ b/arch/arm64/crypto/crc32-ce-glue.c
|
+++ b/arch/arm64/crypto/crc32-ce-glue.c
|
||||||
@@ -208,7 +208,8 @@ static struct shash_alg crc32_pmull_algs[] = { {
|
@@ -208,7 +208,8 @@ static struct shash_alg crc32_pmull_algs
|
||||||
|
|
||||||
static int __init crc32_pmull_mod_init(void)
|
static int __init crc32_pmull_mod_init(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: arm: Enable highmem for rt
|
Subject: arm: Enable highmem for rt
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Wed, 13 Feb 2013 11:03:11 +0100
|
Date: Wed, 13 Feb 2013 11:03:11 +0100
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
fixup highmem for ARM.
|
fixup highmem for ARM.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Mon, 11 Mar 2013 21:37:27 +0100
|
Date: Mon, 11 Mar 2013 21:37:27 +0100
|
||||||
Subject: arm/highmem: Flush tlb on unmap
|
Subject: arm/highmem: Flush tlb on unmap
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
The tlb should be flushed on unmap and thus make the mapping entry
|
The tlb should be flushed on unmap and thus make the mapping entry
|
||||||
invalid. This is only done in the non-debug case which does not look
|
invalid. This is only done in the non-debug case which does not look
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Thu, 22 Dec 2016 17:28:33 +0100
|
Date: Thu, 22 Dec 2016 17:28:33 +0100
|
||||||
Subject: [PATCH] arm: include definition for cpumask_t
|
Subject: [PATCH] arm: include definition for cpumask_t
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
This definition gets pulled in by other files. With the (later) split of
|
This definition gets pulled in by other files. With the (later) split of
|
||||||
RCU and spinlock.h it won't compile anymore.
|
RCU and spinlock.h it won't compile anymore.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Yang Shi <yang.shi@linaro.org>
|
From: Yang Shi <yang.shi@linaro.org>
|
||||||
Date: Thu, 10 Nov 2016 16:17:55 -0800
|
Date: Thu, 10 Nov 2016 16:17:55 -0800
|
||||||
Subject: [PATCH] arm: kprobe: replace patch_lock to raw lock
|
Subject: [PATCH] arm: kprobe: replace patch_lock to raw lock
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
When running kprobe on -rt kernel, the below bug is caught:
|
When running kprobe on -rt kernel, the below bug is caught:
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: arm: Add support for lazy preemption
|
Subject: arm: Add support for lazy preemption
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Wed, 31 Oct 2012 12:04:11 +0100
|
Date: Wed, 31 Oct 2012 12:04:11 +0100
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Implement the arm pieces for lazy preempt.
|
Implement the arm pieces for lazy preempt.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Fri, 20 Sep 2013 14:31:54 +0200
|
Date: Fri, 20 Sep 2013 14:31:54 +0200
|
||||||
Subject: arm/unwind: use a raw_spin_lock
|
Subject: arm/unwind: use a raw_spin_lock
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Mostly unwind is done with irqs enabled however SLUB may call it with
|
Mostly unwind is done with irqs enabled however SLUB may call it with
|
||||||
irqs disabled while creating a new SLUB cache.
|
irqs disabled while creating a new SLUB cache.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Thu, 26 Jul 2018 09:13:42 +0200
|
Date: Thu, 26 Jul 2018 09:13:42 +0200
|
||||||
Subject: [PATCH] arm64: KVM: compute_layout before altenates are applied
|
Subject: [PATCH] arm64: KVM: compute_layout before altenates are applied
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
compute_layout() is invoked as part of an alternative fixup under
|
compute_layout() is invoked as part of an alternative fixup under
|
||||||
stop_machine() and needs a sleeping lock as part of get_random_long().
|
stop_machine() and needs a sleeping lock as part of get_random_long().
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Wed, 25 Jul 2018 14:02:38 +0200
|
Date: Wed, 25 Jul 2018 14:02:38 +0200
|
||||||
Subject: [PATCH] arm64: fpsimd: use preemp_disable in addition to
|
Subject: [PATCH] arm64: fpsimd: use preemp_disable in addition to
|
||||||
local_bh_disable()
|
local_bh_disable()
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
In v4.16-RT I noticed a number of warnings from task_fpsimd_load(). The
|
In v4.16-RT I noticed a number of warnings from task_fpsimd_load(). The
|
||||||
code disables BH and expects that it is not preemptible. On -RT the
|
code disables BH and expects that it is not preemptible. On -RT the
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Wed, 09 Mar 2016 10:51:06 +0100
|
Date: Wed, 09 Mar 2016 10:51:06 +0100
|
||||||
Subject: arm: at91: do not disable/enable clocks in a row
|
Subject: 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.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Currently the driver will disable the clock and enable it one line later
|
Currently the driver will disable the clock and enable it one line later
|
||||||
if it is switching from periodic mode into one shot.
|
if it is switching from periodic mode into one shot.
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Tue, 13 Mar 2018 13:49:16 +0100
|
Date: Tue, 13 Mar 2018 13:49:16 +0100
|
||||||
Subject: [PATCH] block: blk-mq: move blk_queue_usage_counter_release()
|
Subject: [PATCH] block: blk-mq: move blk_queue_usage_counter_release()
|
||||||
into process context
|
into process context
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
| BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:914
|
| BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:914
|
||||||
| in_atomic(): 1, irqs_disabled(): 0, pid: 255, name: kworker/u257:6
|
| in_atomic(): 1, irqs_disabled(): 0, pid: 255, name: kworker/u257:6
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Thu, 29 Jan 2015 15:10:08 +0100
|
Date: Thu, 29 Jan 2015 15:10:08 +0100
|
||||||
Subject: block/mq: don't complete requests via IPI
|
Subject: block/mq: don't complete requests via IPI
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
The IPI runs in hardirq context and there are sleeping locks. This patch
|
The IPI runs in hardirq context and there are sleeping locks. This patch
|
||||||
moves the completion into a workqueue.
|
moves the completion into a workqueue.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Tue, 14 Jul 2015 14:26:34 +0200
|
Date: Tue, 14 Jul 2015 14:26:34 +0200
|
||||||
Subject: block/mq: do not invoke preempt_disable()
|
Subject: block/mq: do not invoke preempt_disable()
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
preempt_disable() and get_cpu() don't play well together with the sleeping
|
preempt_disable() and get_cpu() don't play well together with the sleeping
|
||||||
locks it tries to allocate later.
|
locks it tries to allocate later.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Wed, 9 Apr 2014 10:37:23 +0200
|
Date: Wed, 9 Apr 2014 10:37:23 +0200
|
||||||
Subject: block: mq: use cpu_light()
|
Subject: block: mq: use cpu_light()
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
there is a might sleep splat because get_cpu() disables preemption and
|
there is a might sleep splat because get_cpu() disables preemption and
|
||||||
later we grab a lock. As a workaround for this we use get_cpu_light().
|
later we grab a lock. As a workaround for this we use get_cpu_light().
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: block: Use cpu_chill() for retry loops
|
Subject: block: Use cpu_chill() for retry loops
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Thu, 20 Dec 2012 18:28:26 +0100
|
Date: Thu, 20 Dec 2012 18:28:26 +0100
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Retry loops on RT might loop forever when the modifying side was
|
Retry loops on RT might loop forever when the modifying side was
|
||||||
preempted. Steven also observed a live lock when there was a
|
preempted. Steven also observed a live lock when there was a
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Tue, 3 Jul 2018 18:19:48 +0200
|
Date: Tue, 3 Jul 2018 18:19:48 +0200
|
||||||
Subject: [PATCH] cgroup: use irqsave in cgroup_rstat_flush_locked()
|
Subject: [PATCH] cgroup: use irqsave in cgroup_rstat_flush_locked()
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
All callers of cgroup_rstat_flush_locked() acquire cgroup_rstat_lock
|
All callers of cgroup_rstat_flush_locked() acquire cgroup_rstat_lock
|
||||||
either with spin_lock_irq() or spin_lock_irqsave().
|
either with spin_lock_irq() or spin_lock_irqsave().
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Fri, 13 Feb 2015 15:52:24 +0100
|
Date: Fri, 13 Feb 2015 15:52:24 +0100
|
||||||
Subject: cgroups: use simple wait in css_release()
|
Subject: cgroups: use simple wait in css_release()
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
To avoid:
|
To avoid:
|
||||||
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:914
|
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:914
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Benedikt Spranger <b.spranger@linutronix.de>
|
From: Benedikt Spranger <b.spranger@linutronix.de>
|
||||||
Date: Mon, 8 Mar 2010 18:57:04 +0100
|
Date: Mon, 8 Mar 2010 18:57:04 +0100
|
||||||
Subject: clocksource: TCLIB: Allow higher clock rates for clock events
|
Subject: clocksource: TCLIB: Allow higher clock rates for clock events
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
As default the TCLIB uses the 32KiHz base clock rate for clock events.
|
As default the TCLIB uses the 32KiHz base clock rate for clock events.
|
||||||
Add a compile time selection to allow higher clock resulution.
|
Add a compile time selection to allow higher clock resulution.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: completion: Use simple wait queues
|
Subject: completion: Use simple wait queues
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Fri, 11 Jan 2013 11:23:51 +0100
|
Date: Fri, 11 Jan 2013 11:23:51 +0100
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Completions have no long lasting callbacks and therefor do not need
|
Completions have no long lasting callbacks and therefor do not need
|
||||||
the complex waitqueue variant. Use simple waitqueues which reduces the
|
the complex waitqueue variant. Use simple waitqueues which reduces the
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: sched: Use the proper LOCK_OFFSET for cond_resched()
|
Subject: sched: Use the proper LOCK_OFFSET for cond_resched()
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Sun, 17 Jul 2011 22:51:33 +0200
|
Date: Sun, 17 Jul 2011 22:51:33 +0200
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
RT does not increment preempt count when a 'sleeping' spinlock is
|
RT does not increment preempt count when a 'sleeping' spinlock is
|
||||||
locked. Update PREEMPT_LOCK_OFFSET for that case.
|
locked. Update PREEMPT_LOCK_OFFSET for that case.
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Mike Galbraith <umgwanakikbuti@gmail.com>
|
||||||
Date: Sun, 16 Oct 2016 05:11:54 +0200
|
Date: Sun, 16 Oct 2016 05:11:54 +0200
|
||||||
Subject: [PATCH] connector/cn_proc: Protect send_msg() with a local lock
|
Subject: [PATCH] connector/cn_proc: Protect send_msg() with a local lock
|
||||||
on RT
|
on RT
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:931
|
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:931
|
||||||
|in_atomic(): 1, irqs_disabled(): 0, pid: 31807, name: sleep
|
|in_atomic(): 1, irqs_disabled(): 0, pid: 31807, name: sleep
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: cpu/hotplug: Implement CPU pinning
|
Subject: cpu/hotplug: Implement CPU pinning
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Wed, 19 Jul 2017 17:31:20 +0200
|
Date: Wed, 19 Jul 2017 17:31:20 +0200
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||||
---
|
---
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Thu, 9 Apr 2015 15:23:01 +0200
|
Date: Thu, 9 Apr 2015 15:23:01 +0200
|
||||||
Subject: cpufreq: drop K8's driver from beeing selected
|
Subject: cpufreq: drop K8's driver from beeing selected
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Ralf posted a picture of a backtrace from
|
Ralf posted a picture of a backtrace from
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT
|
Subject: cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Wed, 14 Dec 2011 01:03:49 +0100
|
Date: Wed, 14 Dec 2011 01:03:49 +0100
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
There are "valid" GFP_ATOMIC allocations such as
|
There are "valid" GFP_ATOMIC allocations such as
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Mike Galbraith <efault@gmx.de>
|
From: Mike Galbraith <efault@gmx.de>
|
||||||
Date: Sun, 8 Jan 2017 09:32:25 +0100
|
Date: Sun, 8 Jan 2017 09:32:25 +0100
|
||||||
Subject: [PATCH] cpuset: Convert callback_lock to raw_spinlock_t
|
Subject: [PATCH] cpuset: Convert callback_lock to raw_spinlock_t
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
The two commits below add up to a cpuset might_sleep() splat for RT:
|
The two commits below add up to a cpuset might_sleep() splat for RT:
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Fri, 21 Feb 2014 17:24:04 +0100
|
Date: Fri, 21 Feb 2014 17:24:04 +0100
|
||||||
Subject: crypto: Reduce preempt disabled regions, more algos
|
Subject: crypto: Reduce preempt disabled regions, more algos
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Don Estabrook reported
|
Don Estabrook reported
|
||||||
| kernel: WARNING: CPU: 2 PID: 858 at kernel/sched/core.c:2428 migrate_disable+0xed/0x100()
|
| kernel: WARNING: CPU: 2 PID: 858 at kernel/sched/core.c:2428 migrate_disable+0xed/0x100()
|
||||||
|
|
|
@ -4,7 +4,7 @@ Subject: [PATCH] crypto: caam/qi - simplify CGR allocation, freeing
|
||||||
MIME-Version: 1.0
|
MIME-Version: 1.0
|
||||||
Content-Type: text/plain; charset=UTF-8
|
Content-Type: text/plain; charset=UTF-8
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
[Upstream commit 29e83c757006fd751966bdc53392bb22d74179c6]
|
[Upstream commit 29e83c757006fd751966bdc53392bb22d74179c6]
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Thu, 26 Jul 2018 18:52:00 +0200
|
Date: Thu, 26 Jul 2018 18:52:00 +0200
|
||||||
Subject: [PATCH] crypto: cryptd - add a lock instead
|
Subject: [PATCH] crypto: cryptd - add a lock instead
|
||||||
preempt_disable/local_bh_disable
|
preempt_disable/local_bh_disable
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
cryptd has a per-CPU lock which protected with local_bh_disable() and
|
cryptd has a per-CPU lock which protected with local_bh_disable() and
|
||||||
preempt_disable().
|
preempt_disable().
|
||||||
|
|
|
@ -4,7 +4,7 @@ Subject: [PATCH] crypto: limit more FPU-enabled sections
|
||||||
MIME-Version: 1.0
|
MIME-Version: 1.0
|
||||||
Content-Type: text/plain; charset=UTF-8
|
Content-Type: text/plain; charset=UTF-8
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Those crypto drivers use SSE/AVX/… for their crypto work and in order to
|
Those crypto drivers use SSE/AVX/… for their crypto work and in order to
|
||||||
do so in kernel they need to enable the "FPU" in kernel mode which
|
do so in kernel they need to enable the "FPU" in kernel mode which
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Mike Galbraith <efault@gmx.de>
|
||||||
Date: Wed, 11 Jul 2018 17:14:47 +0200
|
Date: Wed, 11 Jul 2018 17:14:47 +0200
|
||||||
Subject: [PATCH] crypto: scompress - serialize RT percpu scratch buffer
|
Subject: [PATCH] crypto: scompress - serialize RT percpu scratch buffer
|
||||||
access with a local lock
|
access with a local lock
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
| BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:974
|
| BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:974
|
||||||
| in_atomic(): 1, irqs_disabled(): 0, pid: 1401, name: cryptomgr_test
|
| in_atomic(): 1, irqs_disabled(): 0, pid: 1401, name: cryptomgr_test
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: debugobjects: Make RT aware
|
Subject: debugobjects: Make RT aware
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Sun, 17 Jul 2011 21:41:35 +0200
|
Date: Sun, 17 Jul 2011 21:41:35 +0200
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Avoid filling the pool / allocating memory with irqs off().
|
Avoid filling the pool / allocating memory with irqs off().
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Tue, 27 Mar 2018 16:24:15 +0200
|
Date: Tue, 27 Mar 2018 16:24:15 +0200
|
||||||
Subject: [PATCH] dm rq: remove BUG_ON(!irqs_disabled) check
|
Subject: [PATCH] dm rq: remove BUG_ON(!irqs_disabled) check
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
In commit 052189a2ec95 ("dm: remove superfluous irq disablement in
|
In commit 052189a2ec95 ("dm: remove superfluous irq disablement in
|
||||||
dm_request_fn") the spin_lock_irq() was replaced with spin_lock() + a
|
dm_request_fn") the spin_lock_irq() was replaced with spin_lock() + a
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Mike Galbraith <umgwanakikbuti@gmail.com>
|
||||||
Date: Thu, 31 Mar 2016 04:08:28 +0200
|
Date: Thu, 31 Mar 2016 04:08:28 +0200
|
||||||
Subject: [PATCH] drivers/block/zram: Replace bit spinlocks with rtmutex
|
Subject: [PATCH] drivers/block/zram: Replace bit spinlocks with rtmutex
|
||||||
for -rt
|
for -rt
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
They're nondeterministic, and lead to ___might_sleep() splats in -rt.
|
They're nondeterministic, and lead to ___might_sleep() splats in -rt.
|
||||||
OTOH, they're a lot less wasteful than an rtmutex per page.
|
OTOH, they're a lot less wasteful than an rtmutex per page.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: tty/serial/omap: Make the locking RT aware
|
Subject: tty/serial/omap: Make the locking RT aware
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Thu, 28 Jul 2011 13:32:57 +0200
|
Date: Thu, 28 Jul 2011 13:32:57 +0200
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
The lock is a sleeping lock and local_irq_save() is not the
|
The lock is a sleeping lock and local_irq_save() is not the
|
||||||
optimsation we are looking for. Redo it to make it work on -RT and
|
optimsation we are looking for. Redo it to make it work on -RT and
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: tty/serial/pl011: Make the locking work on RT
|
Subject: tty/serial/pl011: Make the locking work on RT
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Tue, 08 Jan 2013 21:36:51 +0100
|
Date: Tue, 08 Jan 2013 21:36:51 +0100
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
The lock is a sleeping lock and local_irq_save() is not the optimsation
|
The lock is a sleeping lock and local_irq_save() is not the optimsation
|
||||||
we are looking for. Redo it to make it work on -RT and non-RT.
|
we are looking for. Redo it to make it work on -RT and non-RT.
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Mike Galbraith <umgwanakikbuti@gmail.com>
|
||||||
Date: Thu, 20 Oct 2016 11:15:22 +0200
|
Date: Thu, 20 Oct 2016 11:15:22 +0200
|
||||||
Subject: [PATCH] drivers/zram: Don't disable preemption in
|
Subject: [PATCH] drivers/zram: Don't disable preemption in
|
||||||
zcomp_stream_get/put()
|
zcomp_stream_get/put()
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
In v4.7, the driver switched to percpu compression streams, disabling
|
In v4.7, the driver switched to percpu compression streams, disabling
|
||||||
preemption via get/put_cpu_ptr(). Use a per-zcomp_strm lock here. We
|
preemption via get/put_cpu_ptr(). Use a per-zcomp_strm lock here. We
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Mike Galbraith <efault@gmx.de>
|
||||||
Date: Wed, 23 Aug 2017 11:57:29 +0200
|
Date: Wed, 23 Aug 2017 11:57:29 +0200
|
||||||
Subject: [PATCH] drivers/zram: fix zcomp_stream_get() smp_processor_id() use
|
Subject: [PATCH] drivers/zram: fix zcomp_stream_get() smp_processor_id() use
|
||||||
in preemptible code
|
in preemptible code
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Use get_local_ptr() instead this_cpu_ptr() to avoid a warning regarding
|
Use get_local_ptr() instead this_cpu_ptr() to avoid a warning regarding
|
||||||
smp_processor_id() in preemptible code.
|
smp_processor_id() in preemptible code.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: drm,i915: Use local_lock/unlock_irq() in intel_pipe_update_start/end()
|
Subject: drm,i915: Use local_lock/unlock_irq() in intel_pipe_update_start/end()
|
||||||
From: Mike Galbraith <umgwanakikbuti@gmail.com>
|
From: Mike Galbraith <umgwanakikbuti@gmail.com>
|
||||||
Date: Sat, 27 Feb 2016 09:01:42 +0100
|
Date: Sat, 27 Feb 2016 09:01:42 +0100
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
|
|
||||||
[ 8.014039] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:918
|
[ 8.014039] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:918
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: drm,radeon,i915: Use preempt_disable/enable_rt() where recommended
|
Subject: drm,radeon,i915: Use preempt_disable/enable_rt() where recommended
|
||||||
From: Mike Galbraith <umgwanakikbuti@gmail.com>
|
From: Mike Galbraith <umgwanakikbuti@gmail.com>
|
||||||
Date: Sat, 27 Feb 2016 08:09:11 +0100
|
Date: Sat, 27 Feb 2016 08:09:11 +0100
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
DRM folks identified the spots, so use them.
|
DRM folks identified the spots, so use them.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Thu, 26 Jul 2018 15:06:10 +0200
|
Date: Thu, 26 Jul 2018 15:06:10 +0200
|
||||||
Subject: [PATCH] efi: Allow efi=runtime
|
Subject: [PATCH] efi: Allow efi=runtime
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
In case the option "efi=noruntime" is default at built-time, the user
|
In case the option "efi=noruntime" is default at built-time, the user
|
||||||
could overwrite its sate by `efi=runtime' and allow it again.
|
could overwrite its sate by `efi=runtime' and allow it again.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Thu, 26 Jul 2018 15:03:16 +0200
|
Date: Thu, 26 Jul 2018 15:03:16 +0200
|
||||||
Subject: [PATCH] efi: Disable runtime services on RT
|
Subject: [PATCH] efi: Disable runtime services on RT
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Based on meassurements the EFI functions get_variable /
|
Based on meassurements the EFI functions get_variable /
|
||||||
get_next_variable take up to 2us which looks okay.
|
get_next_variable take up to 2us which looks okay.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: fs/epoll: Do not disable preemption on RT
|
Subject: fs/epoll: Do not disable preemption on RT
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Fri, 08 Jul 2011 16:35:35 +0200
|
Date: Fri, 08 Jul 2011 16:35:35 +0200
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
ep_call_nested() takes a sleeping lock so we can't disable preemption.
|
ep_call_nested() takes a sleeping lock so we can't disable preemption.
|
||||||
The light version is enough since ep_call_nested() doesn't mind beeing
|
The light version is enough since ep_call_nested() doesn't mind beeing
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Mon, 16 Feb 2015 18:49:10 +0100
|
Date: Mon, 16 Feb 2015 18:49:10 +0100
|
||||||
Subject: fs/aio: simple simple work
|
Subject: fs/aio: simple simple work
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:768
|
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:768
|
||||||
|in_atomic(): 1, irqs_disabled(): 0, pid: 26, name: rcuos/2
|
|in_atomic(): 1, irqs_disabled(): 0, pid: 26, name: rcuos/2
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Wed, 13 Sep 2017 12:32:34 +0200
|
Date: Wed, 13 Sep 2017 12:32:34 +0200
|
||||||
Subject: [PATCH] fs/dcache: bring back explicit INIT_HLIST_BL_HEAD init
|
Subject: [PATCH] fs/dcache: bring back explicit INIT_HLIST_BL_HEAD init
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Commit 3d375d78593c ("mm: update callers to use HASH_ZERO flag") removed
|
Commit 3d375d78593c ("mm: update callers to use HASH_ZERO flag") removed
|
||||||
INIT_HLIST_BL_HEAD and uses the ZERO flag instead for the init. However
|
INIT_HLIST_BL_HEAD and uses the ZERO flag instead for the init. However
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Fri, 20 Oct 2017 11:29:53 +0200
|
Date: Fri, 20 Oct 2017 11:29:53 +0200
|
||||||
Subject: [PATCH] fs/dcache: disable preemption on i_dir_seq's write side
|
Subject: [PATCH] fs/dcache: disable preemption on i_dir_seq's write side
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
i_dir_seq is an opencoded seqcounter. Based on the code it looks like we
|
i_dir_seq is an opencoded seqcounter. Based on the code it looks like we
|
||||||
could have two writers in parallel despite the fact that the d_lock is
|
could have two writers in parallel despite the fact that the d_lock is
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: fs: dcache: Use cpu_chill() in trylock loops
|
Subject: fs: dcache: Use cpu_chill() in trylock loops
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Wed, 07 Mar 2012 21:00:34 +0100
|
Date: Wed, 07 Mar 2012 21:00:34 +0100
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Retry loops on RT might loop forever when the modifying side was
|
Retry loops on RT might loop forever when the modifying side was
|
||||||
preempted. Use cpu_chill() instead of cpu_relax() to let the system
|
preempted. Use cpu_chill() instead of cpu_relax() to let the system
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Wed, 14 Sep 2016 14:35:49 +0200
|
Date: Wed, 14 Sep 2016 14:35:49 +0200
|
||||||
Subject: [PATCH] fs/dcache: use swait_queue instead of waitqueue
|
Subject: [PATCH] fs/dcache: use swait_queue instead of waitqueue
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
__d_lookup_done() invokes wake_up_all() while holding a hlist_bl_lock()
|
__d_lookup_done() invokes wake_up_all() while holding a hlist_bl_lock()
|
||||||
which disables preemption. As a workaround convert it to swait.
|
which disables preemption. As a workaround convert it to swait.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Fri, 18 Mar 2011 10:11:25 +0100
|
Date: Fri, 18 Mar 2011 10:11:25 +0100
|
||||||
Subject: fs: jbd/jbd2: Make state lock and journal head lock rt safe
|
Subject: 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.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
bit_spin_locks break under RT.
|
bit_spin_locks break under RT.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Thu, 15 Sep 2016 10:51:27 +0200
|
Date: Thu, 15 Sep 2016 10:51:27 +0200
|
||||||
Subject: [PATCH] fs/nfs: turn rmdir_sem into a semaphore
|
Subject: [PATCH] fs/nfs: turn rmdir_sem into a semaphore
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
The RW semaphore had a reader side which used the _non_owner version
|
The RW semaphore had a reader side which used the _non_owner version
|
||||||
because it most likely took the reader lock in one thread and released it
|
because it most likely took the reader lock in one thread and released it
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Fri, 18 Mar 2011 09:18:52 +0100
|
Date: Fri, 18 Mar 2011 09:18:52 +0100
|
||||||
Subject: buffer_head: Replace bh_uptodate_lock for -rt
|
Subject: buffer_head: Replace bh_uptodate_lock for -rt
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Wrap the bit_spin_lock calls into a separate inline and add the RT
|
Wrap the bit_spin_lock calls into a separate inline and add the RT
|
||||||
replacements with a real spinlock.
|
replacements with a real spinlock.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Clark Williams <williams@redhat.com>
|
From: Clark Williams <williams@redhat.com>
|
||||||
Date: Tue, 3 Jul 2018 13:34:30 -0500
|
Date: Tue, 3 Jul 2018 13:34:30 -0500
|
||||||
Subject: [PATCH] fscache: initialize cookie hash table raw spinlocks
|
Subject: [PATCH] fscache: initialize cookie hash table raw spinlocks
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
The fscache cookie mechanism uses a hash table of hlist_bl_head structures. The
|
The fscache cookie mechanism uses a hash table of hlist_bl_head structures. The
|
||||||
PREEMPT_RT patcheset adds a raw spinlock to this structure and so on PREEMPT_RT
|
PREEMPT_RT patcheset adds a raw spinlock to this structure and so on PREEMPT_RT
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Mike Galbraith <umgwanakikbuti@gmail.com>
|
From: Mike Galbraith <umgwanakikbuti@gmail.com>
|
||||||
Date: Sun, 16 Oct 2016 05:08:30 +0200
|
Date: Sun, 16 Oct 2016 05:08:30 +0200
|
||||||
Subject: [PATCH] ftrace: Fix trace header alignment
|
Subject: [PATCH] ftrace: Fix trace header alignment
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Line up helper arrows to the right column.
|
Line up helper arrows to the right column.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Sun, 17 Jul 2011 21:56:42 +0200
|
Date: Sun, 17 Jul 2011 21:56:42 +0200
|
||||||
Subject: trace: Add migrate-disabled counter to tracing output
|
Subject: trace: Add migrate-disabled counter to tracing output
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||||
---
|
---
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Fri, 1 Mar 2013 11:17:42 +0100
|
Date: Fri, 1 Mar 2013 11:17:42 +0100
|
||||||
Subject: futex: Ensure lock/unlock symetry versus pi_lock and hash bucket lock
|
Subject: futex: Ensure lock/unlock symetry versus pi_lock and hash bucket lock
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
In exit_pi_state_list() we have the following locking construct:
|
In exit_pi_state_list() we have the following locking construct:
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Steven Rostedt <rostedt@goodmis.org>
|
From: Steven Rostedt <rostedt@goodmis.org>
|
||||||
Date: Tue, 14 Jul 2015 14:26:34 +0200
|
Date: Tue, 14 Jul 2015 14:26:34 +0200
|
||||||
Subject: futex: Fix bug on when a requeued RT task times out
|
Subject: futex: Fix bug on when a requeued RT task times out
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Requeue with timeout causes a bug with PREEMPT_RT_FULL.
|
Requeue with timeout causes a bug with PREEMPT_RT_FULL.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Wed, 8 Mar 2017 14:23:35 +0100
|
Date: Wed, 8 Mar 2017 14:23:35 +0100
|
||||||
Subject: [PATCH] futex: workaround migrate_disable/enable in different context
|
Subject: [PATCH] futex: workaround migrate_disable/enable in different context
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
migrate_disable()/migrate_enable() takes a different path in atomic() vs
|
migrate_disable()/migrate_enable() takes a different path in atomic() vs
|
||||||
!atomic() context. These little hacks ensure that we don't underflow / overflow
|
!atomic() context. These little hacks ensure that we don't underflow / overflow
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Ingo Molnar <mingo@elte.hu>
|
From: Ingo Molnar <mingo@elte.hu>
|
||||||
Date: Fri, 3 Jul 2009 08:29:57 -0500
|
Date: Fri, 3 Jul 2009 08:29:57 -0500
|
||||||
Subject: genirq: Disable irqpoll on -rt
|
Subject: genirq: Disable irqpoll on -rt
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Creates long latencies for no value
|
Creates long latencies for no value
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Wed, 21 Aug 2013 17:48:46 +0200
|
Date: Wed, 21 Aug 2013 17:48:46 +0200
|
||||||
Subject: genirq: Do not invoke the affinity callback via a workqueue on RT
|
Subject: genirq: Do not invoke the affinity callback via a workqueue on RT
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Joe Korty reported, that __irq_set_affinity_locked() schedules a
|
Joe Korty reported, that __irq_set_affinity_locked() schedules a
|
||||||
workqueue while holding a rawlock which results in a might_sleep()
|
workqueue while holding a rawlock which results in a might_sleep()
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: genirq: Force interrupt thread on RT
|
Subject: genirq: Force interrupt thread on RT
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Sun, 03 Apr 2011 11:57:29 +0200
|
Date: Sun, 03 Apr 2011 11:57:29 +0200
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Force threaded_irqs and optimize the code (force_irqthreads) in regard
|
Force threaded_irqs and optimize the code (force_irqthreads) in regard
|
||||||
to this.
|
to this.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Josh Cartwright <joshc@ni.com>
|
From: Josh Cartwright <joshc@ni.com>
|
||||||
Date: Thu, 11 Feb 2016 11:54:00 -0600
|
Date: Thu, 11 Feb 2016 11:54:00 -0600
|
||||||
Subject: genirq: update irq_set_irqchip_state documentation
|
Subject: genirq: update irq_set_irqchip_state documentation
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
On -rt kernels, the use of migrate_disable()/migrate_enable() is
|
On -rt kernels, the use of migrate_disable()/migrate_enable() is
|
||||||
sufficient to guarantee a task isn't moved to another CPU. Update the
|
sufficient to guarantee a task isn't moved to another CPU. Update the
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Fri, 4 Aug 2017 18:31:00 +0200
|
Date: Fri, 4 Aug 2017 18:31:00 +0200
|
||||||
Subject: [PATCH] hotplug: duct-tape RT-rwlock usage for non-RT
|
Subject: [PATCH] hotplug: duct-tape RT-rwlock usage for non-RT
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
This type is only available on -RT. We need to craft something for
|
This type is only available on -RT. We need to craft something for
|
||||||
non-RT. Since the only migrate_disable() user is -RT only, there is no
|
non-RT. Since the only migrate_disable() user is -RT only, there is no
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: hotplug: Lightweight get online cpus
|
Subject: hotplug: Lightweight get online cpus
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Wed, 15 Jun 2011 12:36:06 +0200
|
Date: Wed, 15 Jun 2011 12:36:06 +0200
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
get_online_cpus() is a heavy weight function which involves a global
|
get_online_cpus() is a heavy weight function which involves a global
|
||||||
mutex. migrate_disable() wants a simpler construct which prevents only
|
mutex. migrate_disable() wants a simpler construct which prevents only
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Yang Shi <yang.shi@windriver.com>
|
From: Yang Shi <yang.shi@windriver.com>
|
||||||
Date: Mon, 16 Sep 2013 14:09:19 -0700
|
Date: Mon, 16 Sep 2013 14:09:19 -0700
|
||||||
Subject: hrtimer: Move schedule_work call to helper thread
|
Subject: hrtimer: Move schedule_work call to helper thread
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
When run ltp leapsec_timer test, the following call trace is caught:
|
When run ltp leapsec_timer test, the following call trace is caught:
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Fri, 3 Jul 2009 08:44:31 -0500
|
Date: Fri, 3 Jul 2009 08:44:31 -0500
|
||||||
Subject: hrtimer: by timers by default into the softirq context
|
Subject: hrtimer: by timers by default into the softirq context
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
We can't have hrtimers callbacks running in hardirq context on RT. Therefore
|
We can't have hrtimers callbacks running in hardirq context on RT. Therefore
|
||||||
the timers are deferred to the softirq context by default.
|
the timers are deferred to the softirq context by default.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Tue, 3 Jul 2018 11:25:41 +0200
|
Date: Tue, 3 Jul 2018 11:25:41 +0200
|
||||||
Subject: [PATCH v2] hrtimer: consolidate hrtimer_init() + hrtimer_init_sleeper() calls
|
Subject: [PATCH v2] hrtimer: consolidate hrtimer_init() + hrtimer_init_sleeper() calls
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
hrtimer_init_sleeper() calls require a prior initialisation of the
|
hrtimer_init_sleeper() calls require a prior initialisation of the
|
||||||
hrtimer object with hrtimer_init(). Lets make the initialisation of
|
hrtimer object with hrtimer_init(). Lets make the initialisation of
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Ingo Molnar <mingo@elte.hu>
|
From: Ingo Molnar <mingo@elte.hu>
|
||||||
Date: Fri, 3 Jul 2009 08:29:34 -0500
|
Date: Fri, 3 Jul 2009 08:29:34 -0500
|
||||||
Subject: hrtimers: Prepare full preemption
|
Subject: hrtimers: Prepare full preemption
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Make cancellation of a running callback in softirq context safe
|
Make cancellation of a running callback in softirq context safe
|
||||||
against preemption.
|
against preemption.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: genirq: Allow disabling of softirq processing in irq thread context
|
Subject: genirq: Allow disabling of softirq processing in irq thread context
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Tue, 31 Jan 2012 13:01:27 +0100
|
Date: Tue, 31 Jan 2012 13:01:27 +0100
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
The processing of softirqs in irq thread context is a performance gain
|
The processing of softirqs in irq thread context is a performance gain
|
||||||
for the non-rt workloads of a system, but it's counterproductive for
|
for the non-rt workloads of a system, but it's counterproductive for
|
||||||
|
@ -12,17 +12,16 @@ thread context.
|
||||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||||
|
|
||||||
---
|
---
|
||||||
include/linux/interrupt.h | 2 ++
|
include/linux/interrupt.h | 2 ++
|
||||||
include/linux/irq.h | 4 +++-
|
include/linux/irq.h | 4 +++-
|
||||||
kernel/irq/manage.c | 15 +++++++++++++++
|
kernel/irq/manage.c | 13 ++++++++++++-
|
||||||
kernel/irq/settings.h | 12 ++++++++++++
|
kernel/irq/settings.h | 12 ++++++++++++
|
||||||
4 files changed, 32 insertions(+), 1 deletion(-)
|
kernel/softirq.c | 9 +++++++++
|
||||||
|
5 files changed, 38 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
|
|
||||||
index eeceac3376fc..4a60c2618a6e 100644
|
|
||||||
--- a/include/linux/interrupt.h
|
--- a/include/linux/interrupt.h
|
||||||
+++ b/include/linux/interrupt.h
|
+++ b/include/linux/interrupt.h
|
||||||
@@ -61,6 +61,7 @@
|
@@ -62,6 +62,7 @@
|
||||||
* interrupt handler after suspending interrupts. For system
|
* interrupt handler after suspending interrupts. For system
|
||||||
* wakeup devices users need to implement wakeup detection in
|
* wakeup devices users need to implement wakeup detection in
|
||||||
* their interrupt handlers.
|
* their interrupt handlers.
|
||||||
|
@ -30,7 +29,7 @@ index eeceac3376fc..4a60c2618a6e 100644
|
||||||
*/
|
*/
|
||||||
#define IRQF_SHARED 0x00000080
|
#define IRQF_SHARED 0x00000080
|
||||||
#define IRQF_PROBE_SHARED 0x00000100
|
#define IRQF_PROBE_SHARED 0x00000100
|
||||||
@@ -74,6 +75,7 @@
|
@@ -75,6 +76,7 @@
|
||||||
#define IRQF_NO_THREAD 0x00010000
|
#define IRQF_NO_THREAD 0x00010000
|
||||||
#define IRQF_EARLY_RESUME 0x00020000
|
#define IRQF_EARLY_RESUME 0x00020000
|
||||||
#define IRQF_COND_SUSPEND 0x00040000
|
#define IRQF_COND_SUSPEND 0x00040000
|
||||||
|
@ -38,8 +37,6 @@ index eeceac3376fc..4a60c2618a6e 100644
|
||||||
|
|
||||||
#define IRQF_TIMER (__IRQF_TIMER | IRQF_NO_SUSPEND | IRQF_NO_THREAD)
|
#define IRQF_TIMER (__IRQF_TIMER | IRQF_NO_SUSPEND | IRQF_NO_THREAD)
|
||||||
|
|
||||||
diff --git a/include/linux/irq.h b/include/linux/irq.h
|
|
||||||
index 201de12a9957..c8fa3f632cec 100644
|
|
||||||
--- a/include/linux/irq.h
|
--- a/include/linux/irq.h
|
||||||
+++ b/include/linux/irq.h
|
+++ b/include/linux/irq.h
|
||||||
@@ -69,6 +69,7 @@ enum irqchip_irq_state;
|
@@ -69,6 +69,7 @@ enum irqchip_irq_state;
|
||||||
|
@ -66,30 +63,26 @@ index 201de12a9957..c8fa3f632cec 100644
|
||||||
|
|
||||||
#define IRQ_NO_BALANCING_MASK (IRQ_PER_CPU | IRQ_NO_BALANCING)
|
#define IRQ_NO_BALANCING_MASK (IRQ_PER_CPU | IRQ_NO_BALANCING)
|
||||||
|
|
||||||
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
|
|
||||||
index 9dbdccab3b6a..748e7cd2b053 100644
|
|
||||||
--- a/kernel/irq/manage.c
|
--- a/kernel/irq/manage.c
|
||||||
+++ b/kernel/irq/manage.c
|
+++ b/kernel/irq/manage.c
|
||||||
@@ -932,6 +932,18 @@ irq_forced_thread_fn(struct irq_desc *desc, struct irqaction *action)
|
@@ -970,7 +970,15 @@ irq_forced_thread_fn(struct irq_desc *de
|
||||||
|
atomic_inc(&desc->threads_handled);
|
||||||
|
|
||||||
irq_finalize_oneshot(desc, action);
|
irq_finalize_oneshot(desc, action);
|
||||||
local_bh_enable();
|
- local_bh_enable();
|
||||||
+ /*
|
+ /*
|
||||||
+ * Interrupts which have real time requirements can be set up
|
+ * Interrupts which have real time requirements can be set up
|
||||||
+ * to avoid softirq processing in the thread handler. This is
|
+ * to avoid softirq processing in the thread handler. This is
|
||||||
+ * safe as these interrupts do not raise soft interrupts.
|
+ * safe as these interrupts do not raise soft interrupts.
|
||||||
+ */
|
+ */
|
||||||
+ if (irq_settings_no_softirq_call(desc)) {
|
+ if (irq_settings_no_softirq_call(desc))
|
||||||
+ if (WARN_ON(current->softirq_nestcnt == 0))
|
+ _local_bh_enable();
|
||||||
+ return ret;
|
+ else
|
||||||
+ if (--current->softirq_nestcnt == 0)
|
|
||||||
+ migrate_enable();
|
|
||||||
+ } else
|
|
||||||
+ local_bh_enable();
|
+ local_bh_enable();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1441,6 +1453,9 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
|
@@ -1480,6 +1488,9 @@ static int
|
||||||
irqd_set(&desc->irq_data, IRQD_NO_BALANCING);
|
irqd_set(&desc->irq_data, IRQD_NO_BALANCING);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,8 +92,6 @@ index 9dbdccab3b6a..748e7cd2b053 100644
|
||||||
if (irq_settings_can_autoenable(desc)) {
|
if (irq_settings_can_autoenable(desc)) {
|
||||||
irq_startup(desc, IRQ_RESEND, IRQ_START_COND);
|
irq_startup(desc, IRQ_RESEND, IRQ_START_COND);
|
||||||
} else {
|
} else {
|
||||||
diff --git a/kernel/irq/settings.h b/kernel/irq/settings.h
|
|
||||||
index e43795cd2ccf..47e2f9e23586 100644
|
|
||||||
--- a/kernel/irq/settings.h
|
--- a/kernel/irq/settings.h
|
||||||
+++ b/kernel/irq/settings.h
|
+++ b/kernel/irq/settings.h
|
||||||
@@ -17,6 +17,7 @@ enum {
|
@@ -17,6 +17,7 @@ enum {
|
||||||
|
@ -119,7 +110,7 @@ index e43795cd2ccf..47e2f9e23586 100644
|
||||||
#undef IRQF_MODIFY_MASK
|
#undef IRQF_MODIFY_MASK
|
||||||
#define IRQF_MODIFY_MASK GOT_YOU_MORON
|
#define IRQF_MODIFY_MASK GOT_YOU_MORON
|
||||||
|
|
||||||
@@ -41,6 +43,16 @@ irq_settings_clr_and_set(struct irq_desc *desc, u32 clr, u32 set)
|
@@ -41,6 +43,16 @@ irq_settings_clr_and_set(struct irq_desc
|
||||||
desc->status_use_accessors |= (set & _IRQF_MODIFY_MASK);
|
desc->status_use_accessors |= (set & _IRQF_MODIFY_MASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,3 +127,21 @@ index e43795cd2ccf..47e2f9e23586 100644
|
||||||
static inline bool irq_settings_is_per_cpu(struct irq_desc *desc)
|
static inline bool irq_settings_is_per_cpu(struct irq_desc *desc)
|
||||||
{
|
{
|
||||||
return desc->status_use_accessors & _IRQ_PER_CPU;
|
return desc->status_use_accessors & _IRQ_PER_CPU;
|
||||||
|
--- a/kernel/softirq.c
|
||||||
|
+++ b/kernel/softirq.c
|
||||||
|
@@ -598,6 +598,15 @@ void __local_bh_enable(void)
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(__local_bh_enable);
|
||||||
|
|
||||||
|
+void _local_bh_enable(void)
|
||||||
|
+{
|
||||||
|
+ if (WARN_ON(current->softirq_nestcnt == 0))
|
||||||
|
+ return;
|
||||||
|
+ if (--current->softirq_nestcnt == 0)
|
||||||
|
+ migrate_enable();
|
||||||
|
+}
|
||||||
|
+EXPORT_SYMBOL(_local_bh_enable);
|
||||||
|
+
|
||||||
|
int in_serving_softirq(void)
|
||||||
|
{
|
||||||
|
return current->flags & PF_IN_SOFTIRQ;
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Marc Zyngier <marc.zyngier@arm.com>
|
||||||
Date: Fri, 27 Jul 2018 13:38:54 +0100
|
Date: Fri, 27 Jul 2018 13:38:54 +0100
|
||||||
Subject: [PATCH] irqchip/gic-v3-its: Move pending table allocation to init
|
Subject: [PATCH] irqchip/gic-v3-its: Move pending table allocation to init
|
||||||
time
|
time
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
|
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
|
||||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: irqwork: push most work into softirq context
|
Subject: irqwork: push most work into softirq context
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Tue, 23 Jun 2015 15:32:51 +0200
|
Date: Tue, 23 Jun 2015 15:32:51 +0200
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Initially we defered all irqwork into softirq because we didn't want the
|
Initially we defered all irqwork into softirq because we didn't want the
|
||||||
latency spikes if perf or another user was busy and delayed the RT task.
|
latency spikes if perf or another user was busy and delayed the RT task.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: jump-label: disable if stop_machine() is used
|
Subject: jump-label: disable if stop_machine() is used
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Wed, 08 Jul 2015 17:14:48 +0200
|
Date: Wed, 08 Jul 2015 17:14:48 +0200
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Some architectures are using stop_machine() while switching the opcode which
|
Some architectures are using stop_machine() while switching the opcode which
|
||||||
leads to latency spikes.
|
leads to latency spikes.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: kconfig: Disable config options which are not RT compatible
|
Subject: kconfig: Disable config options which are not RT compatible
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Sun, 24 Jul 2011 12:11:43 +0200
|
Date: Sun, 24 Jul 2011 12:11:43 +0200
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Disable stuff which is known to have issues on RT
|
Disable stuff which is known to have issues on RT
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Subject: kconfig: Add PREEMPT_RT_FULL
|
Subject: kconfig: Add PREEMPT_RT_FULL
|
||||||
From: Thomas Gleixner <tglx@linutronix.de>
|
From: Thomas Gleixner <tglx@linutronix.de>
|
||||||
Date: Wed, 29 Jun 2011 14:58:57 +0200
|
Date: Wed, 29 Jun 2011 14:58:57 +0200
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
Introduce the final symbol for PREEMPT_RT_FULL.
|
Introduce the final symbol for PREEMPT_RT_FULL.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Thu, 19 May 2016 17:45:27 +0200
|
Date: Thu, 19 May 2016 17:45:27 +0200
|
||||||
Subject: [PATCH] kernel/printk: Don't try to print from IRQ/NMI region
|
Subject: [PATCH] kernel/printk: Don't try to print from IRQ/NMI region
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
On -RT we try to acquire sleeping locks which might lead to warnings
|
On -RT we try to acquire sleeping locks which might lead to warnings
|
||||||
from lockdep or a warn_on() from spin_try_lock() (which is a rtmutex on
|
from lockdep or a warn_on() from spin_try_lock() (which is a rtmutex on
|
||||||
|
|
|
@ -4,7 +4,7 @@ Subject: [PATCH] kernel: sched: Provide a pointer to the valid CPU mask
|
||||||
MIME-Version: 1.0
|
MIME-Version: 1.0
|
||||||
Content-Type: text/plain; charset=UTF-8
|
Content-Type: text/plain; charset=UTF-8
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
In commit 4b53a3412d66 ("sched/core: Remove the tsk_nr_cpus_allowed()
|
In commit 4b53a3412d66 ("sched/core: Remove the tsk_nr_cpus_allowed()
|
||||||
wrapper") the tsk_nr_cpus_allowed() wrapper was removed. There was not
|
wrapper") the tsk_nr_cpus_allowed() wrapper was removed. There was not
|
||||||
|
|
|
@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Mon, 21 Nov 2016 19:31:08 +0100
|
Date: Mon, 21 Nov 2016 19:31:08 +0100
|
||||||
Subject: [PATCH] kernel/sched: move stack + kprobe clean up to
|
Subject: [PATCH] kernel/sched: move stack + kprobe clean up to
|
||||||
__put_task_struct()
|
__put_task_struct()
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
There is no need to free the stack before the task struct (except for reasons
|
There is no need to free the stack before the task struct (except for reasons
|
||||||
mentioned in commit 68f24b08ee89 ("sched/core: Free the stack early if
|
mentioned in commit 68f24b08ee89 ("sched/core: Free the stack early if
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Jason Wessel <jason.wessel@windriver.com>
|
From: Jason Wessel <jason.wessel@windriver.com>
|
||||||
Date: Thu, 28 Jul 2011 12:42:23 -0500
|
Date: Thu, 28 Jul 2011 12:42:23 -0500
|
||||||
Subject: kgdb/serial: Short term workaround
|
Subject: kgdb/serial: Short term workaround
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
On 07/27/2011 04:37 PM, Thomas Gleixner wrote:
|
On 07/27/2011 04:37 PM, Thomas Gleixner wrote:
|
||||||
> - KGDB (not yet disabled) is reportedly unusable on -rt right now due
|
> - KGDB (not yet disabled) is reportedly unusable on -rt right now due
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Julia Cartwright <julia@ni.com>
|
From: Julia Cartwright <julia@ni.com>
|
||||||
Date: Fri, 28 Sep 2018 21:03:51 +0000
|
Date: Fri, 28 Sep 2018 21:03:51 +0000
|
||||||
Subject: [PATCH] kthread: convert worker lock to raw spinlock
|
Subject: [PATCH] kthread: convert worker lock to raw spinlock
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
In order to enable the queuing of kthread work items from hardirq
|
In order to enable the queuing of kthread work items from hardirq
|
||||||
context even when PREEMPT_RT_FULL is enabled, convert the worker
|
context even when PREEMPT_RT_FULL is enabled, convert the worker
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||||
Date: Thu, 23 Jan 2014 14:45:59 +0100
|
Date: Thu, 23 Jan 2014 14:45:59 +0100
|
||||||
Subject: leds: trigger: disable CPU trigger on -RT
|
Subject: leds: trigger: disable CPU trigger on -RT
|
||||||
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.1-rt3.tar.xz
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.5-rt4.tar.xz
|
||||||
|
|
||||||
as it triggers:
|
as it triggers:
|
||||||
|CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.8-rt10 #141
|
|CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.8-rt10 #141
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue