diff options
Diffstat (limited to 'debian/patches-rt')
349 files changed, 998 insertions, 2396 deletions
diff --git a/debian/patches-rt/0001-ARM-at91-add-TCB-registers-definitions.patch b/debian/patches-rt/0001-ARM-at91-add-TCB-registers-definitions.patch index 39c411035..b1156f3d4 100644 --- a/debian/patches-rt/0001-ARM-at91-add-TCB-registers-definitions.patch +++ b/debian/patches-rt/0001-ARM-at91-add-TCB-registers-definitions.patch @@ -1,8 +1,7 @@ -From c7b29fd1b38b96426c553ddda13ebf7b8c823fd6 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/347] ARM: at91: add TCB registers definitions -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 001/342] ARM: at91: add TCB registers definitions +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3122df320b5f6ba0e36a28168877c8205ab46747 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.36.1 - diff --git a/debian/patches-rt/0002-clocksource-drivers-Add-a-new-driver-for-the-Atmel-A.patch b/debian/patches-rt/0002-clocksource-drivers-Add-a-new-driver-for-the-Atmel-A.patch index 6f8c04a6c..650f9b842 100644 --- a/debian/patches-rt/0002-clocksource-drivers-Add-a-new-driver-for-the-Atmel-A.patch +++ b/debian/patches-rt/0002-clocksource-drivers-Add-a-new-driver-for-the-Atmel-A.patch @@ -1,9 +1,8 @@ -From ad55e9aff22686f2ddf3d898aac7aef214a5ed82 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/347] clocksource/drivers: Add a new driver for the Atmel +Subject: [PATCH 002/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3a947a9a5de4fc114b407c5648b6f71e9f825856 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.36.1 - diff --git a/debian/patches-rt/0003-clocksource-drivers-timer-atmel-tcb-add-clockevent-d.patch b/debian/patches-rt/0003-clocksource-drivers-timer-atmel-tcb-add-clockevent-d.patch index 4d1f366c3..fb37f66d2 100644 --- a/debian/patches-rt/0003-clocksource-drivers-timer-atmel-tcb-add-clockevent-d.patch +++ b/debian/patches-rt/0003-clocksource-drivers-timer-atmel-tcb-add-clockevent-d.patch @@ -1,9 +1,8 @@ -From fd06bfd5716c6f1f5905db9be97507fda425080c 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/347] clocksource/drivers: timer-atmel-tcb: add clockevent +Subject: [PATCH 003/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=13133ffb22ec065c30837eceb253ab60a7f86715 Add an other clockevent device that uses a separate TCB channel when available. @@ -266,6 +265,3 @@ index 21fbe430f91b..63ce3b69338a 100644 } } --- -2.36.1 - diff --git a/debian/patches-rt/0004-clocksource-drivers-atmel-pit-make-option-silent.patch b/debian/patches-rt/0004-clocksource-drivers-atmel-pit-make-option-silent.patch index c506f1465..812239f21 100644 --- a/debian/patches-rt/0004-clocksource-drivers-atmel-pit-make-option-silent.patch +++ b/debian/patches-rt/0004-clocksource-drivers-atmel-pit-make-option-silent.patch @@ -1,8 +1,7 @@ -From e8dbe99dae1d78e7094d87357a904c2e30572fc3 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/347] clocksource/drivers: atmel-pit: make option silent -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 004/342] clocksource/drivers: atmel-pit: make option silent +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ec89b134f165b0003da705e1eb33db69f8b105f5 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 9422ea3a52ac..1dbd40f6c01d 100644 config ATMEL_ST bool "Atmel ST timer support" if COMPILE_TEST --- -2.36.1 - diff --git a/debian/patches-rt/0005-ARM-at91-Implement-clocksource-selection.patch b/debian/patches-rt/0005-ARM-at91-Implement-clocksource-selection.patch index 561c3c162..1ca294cdf 100644 --- a/debian/patches-rt/0005-ARM-at91-Implement-clocksource-selection.patch +++ b/debian/patches-rt/0005-ARM-at91-Implement-clocksource-selection.patch @@ -1,8 +1,7 @@ -From 4071bcd6aab6d507cb20f20cfc9f111cfa5a406f 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/347] ARM: at91: Implement clocksource selection -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 005/342] ARM: at91: Implement clocksource selection +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=86f4900f6f6c9c8786a1162b473598e6f83fa5fd 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.36.1 - diff --git a/debian/patches-rt/0006-ARM-configs-at91-use-new-TCB-timer-driver.patch b/debian/patches-rt/0006-ARM-configs-at91-use-new-TCB-timer-driver.patch index 8d93a1f2d..1e3746718 100644 --- a/debian/patches-rt/0006-ARM-configs-at91-use-new-TCB-timer-driver.patch +++ b/debian/patches-rt/0006-ARM-configs-at91-use-new-TCB-timer-driver.patch @@ -1,8 +1,7 @@ -From 39aa1ef47843270c427a2c8f4d787ca29d944140 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/347] ARM: configs: at91: use new TCB timer driver -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 006/342] ARM: configs: at91: use new TCB timer driver +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0f91582449e7283518ad5c49a625b35d49dceb3d 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.36.1 - diff --git a/debian/patches-rt/0007-ARM-configs-at91-unselect-PIT.patch b/debian/patches-rt/0007-ARM-configs-at91-unselect-PIT.patch index a2e5c5d39..7627ee614 100644 --- a/debian/patches-rt/0007-ARM-configs-at91-unselect-PIT.patch +++ b/debian/patches-rt/0007-ARM-configs-at91-unselect-PIT.patch @@ -1,8 +1,7 @@ -From 4e7ea26bf6a9dc935b6db1085488bde47f63f68e 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/347] ARM: configs: at91: unselect PIT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 007/342] ARM: configs: at91: unselect PIT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b9a3f3c8892299e5539c6ae47a682c3c77e9a3dd 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.36.1 - diff --git a/debian/patches-rt/0008-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch b/debian/patches-rt/0008-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch index ebeacb299..fecbdb3e6 100644 --- a/debian/patches-rt/0008-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch +++ b/debian/patches-rt/0008-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch @@ -1,9 +1,8 @@ -From c85652aaa06764a7d68d8da3c6e146cf2650bff8 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/347] irqchip/gic-v3-its: Move pending table allocation to +Subject: [PATCH 008/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9b8978ba6e95562abffb58dc7969127f4c05afe0 Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> @@ -166,6 +165,3 @@ index 1d21e98d6854..fdddead7e307 100644 } __percpu *rdist; struct page *prop_page; u64 flags; --- -2.36.1 - diff --git a/debian/patches-rt/0009-kthread-convert-worker-lock-to-raw-spinlock.patch b/debian/patches-rt/0009-kthread-convert-worker-lock-to-raw-spinlock.patch index 2d5f5508f..c60ad230c 100644 --- a/debian/patches-rt/0009-kthread-convert-worker-lock-to-raw-spinlock.patch +++ b/debian/patches-rt/0009-kthread-convert-worker-lock-to-raw-spinlock.patch @@ -1,8 +1,7 @@ -From 3384b42fd998f06c79b4536609c48e3147adb1eb 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/347] kthread: convert worker lock to raw spinlock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 009/342] kthread: convert worker lock to raw spinlock +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=25ba83fe78235738f65e2c7b07943e346ccb9452 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 9750f4f7f901..c8cf4731ced8 100644 out: return ret; } --- -2.36.1 - diff --git a/debian/patches-rt/0010-crypto-caam-qi-simplify-CGR-allocation-freeing.patch b/debian/patches-rt/0010-crypto-caam-qi-simplify-CGR-allocation-freeing.patch index 924b46797..9d2fafcd8 100644 --- a/debian/patches-rt/0010-crypto-caam-qi-simplify-CGR-allocation-freeing.patch +++ b/debian/patches-rt/0010-crypto-caam-qi-simplify-CGR-allocation-freeing.patch @@ -1,11 +1,10 @@ -From c752e0c3b941130c799de323f647d8547ff04a81 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/347] crypto: caam/qi - simplify CGR allocation, freeing +Subject: [PATCH 010/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=268ff461cf60c56307d742d6937380187c150147 [Upstream commit 29e83c757006fd751966bdc53392bb22d74179c6] @@ -135,6 +134,3 @@ index 357b69f57072..b6c8acc30853 100644 /** * qi_cache_alloc - Allocate buffers from CAAM-QI cache --- -2.36.1 - diff --git a/debian/patches-rt/0011-sched-fair-Robustify-CFS-bandwidth-timer-locking.patch b/debian/patches-rt/0011-sched-fair-Robustify-CFS-bandwidth-timer-locking.patch index e250e2aa4..7df648712 100644 --- a/debian/patches-rt/0011-sched-fair-Robustify-CFS-bandwidth-timer-locking.patch +++ b/debian/patches-rt/0011-sched-fair-Robustify-CFS-bandwidth-timer-locking.patch @@ -1,8 +1,7 @@ -From e19a4689e9aa66751202caf5aeade89ecb118f2c 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/347] sched/fair: Robustify CFS-bandwidth timer locking -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 011/342] sched/fair: Robustify CFS-bandwidth timer locking +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b3b58e86ed0fa1cd05db063c8da6034a698bd96d Traditionally hrtimer callbacks were run with IRQs disabled, but with the introduction of HRTIMER_MODE_SOFT it is possible they run from @@ -143,6 +142,3 @@ index 84e7efda98da..e84a056f783f 100644 return idle ? HRTIMER_NORESTART : HRTIMER_RESTART; } --- -2.36.1 - diff --git a/debian/patches-rt/0012-arm-Convert-arm-boot_lock-to-raw.patch b/debian/patches-rt/0012-arm-Convert-arm-boot_lock-to-raw.patch index 2ad1e225e..56625fdcb 100644 --- a/debian/patches-rt/0012-arm-Convert-arm-boot_lock-to-raw.patch +++ b/debian/patches-rt/0012-arm-Convert-arm-boot_lock-to-raw.patch @@ -1,8 +1,7 @@ -From 794763d18a168f7eb7dd98185021fd74a3d0778f 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/347] arm: Convert arm boot_lock to raw -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 012/342] arm: Convert arm boot_lock to raw +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=832bd38726e8de90d400c1708e3c68c0eb97f0ae 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.36.1 - diff --git a/debian/patches-rt/0013-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch b/debian/patches-rt/0013-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch index 5c222cfd8..fa5207746 100644 --- a/debian/patches-rt/0013-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch +++ b/debian/patches-rt/0013-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch @@ -1,9 +1,8 @@ -From 39f1823e7293c365e7abdc19c1b15d772fc0dbc1 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/347] x86/ioapic: Don't let setaffinity unmask threaded EOI +Subject: [PATCH 013/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6d53bf26f7092895193d947150b8de66ea8e226a There is an issue with threaded interrupts which are marked ONESHOT and using the fasteoi handler. @@ -96,6 +95,3 @@ index 677508baf95a..b1a7f453415f 100644 } static void ioapic_ir_ack_level(struct irq_data *irq_data) --- -2.36.1 - diff --git a/debian/patches-rt/0014-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch b/debian/patches-rt/0014-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch index 6d9213b5b..cfef075fd 100644 --- a/debian/patches-rt/0014-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch +++ b/debian/patches-rt/0014-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch @@ -1,8 +1,7 @@ -From 9cbe69b64cc03234634926f56a219900edb90899 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/347] cgroup: use irqsave in cgroup_rstat_flush_locked() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 014/342] cgroup: use irqsave in cgroup_rstat_flush_locked() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b1c2c072c291f7bcf9e3480cc8474ff68ecebb31 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 d0ed410b4127..3c949c46c6b3 100644 /* if @may_sleep, play nice and yield if necessary */ if (may_sleep && (need_resched() || --- -2.36.1 - diff --git a/debian/patches-rt/0015-fscache-initialize-cookie-hash-table-raw-spinlocks.patch b/debian/patches-rt/0015-fscache-initialize-cookie-hash-table-raw-spinlocks.patch index 1aef96ead..e4b2a74a6 100644 --- a/debian/patches-rt/0015-fscache-initialize-cookie-hash-table-raw-spinlocks.patch +++ b/debian/patches-rt/0015-fscache-initialize-cookie-hash-table-raw-spinlocks.patch @@ -1,8 +1,7 @@ -From efd6f660496f4a70e788963b4b914791eed32c42 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/347] fscache: initialize cookie hash table raw spinlocks -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 015/342] fscache: initialize cookie hash table raw spinlocks +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5f9b412940e746eb7fd8900f57db7046efe4f2e0 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.36.1 - diff --git a/debian/patches-rt/0016-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch b/debian/patches-rt/0016-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch index bdbfbb7d7..ff80542d2 100644 --- a/debian/patches-rt/0016-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch +++ b/debian/patches-rt/0016-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch @@ -1,11 +1,10 @@ -From 8feaa1571755787a4012cb74fbb937f8c436939e 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/347] Drivers: hv: vmbus: include header for get_irq_regs() +Subject: [PATCH 016/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d64aa2fd269aac918b112984f2dab94ad18aff89 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 c4ad51889024..14af29c0ea1c 100644 #include "hv_trace.h" --- -2.36.1 - diff --git a/debian/patches-rt/0017-percpu-include-irqflags.h-for-raw_local_irq_save.patch b/debian/patches-rt/0017-percpu-include-irqflags.h-for-raw_local_irq_save.patch index 0b8f0b08b..2a9367801 100644 --- a/debian/patches-rt/0017-percpu-include-irqflags.h-for-raw_local_irq_save.patch +++ b/debian/patches-rt/0017-percpu-include-irqflags.h-for-raw_local_irq_save.patch @@ -1,8 +1,7 @@ -From 8af0819c5a38547ea3f6b09ff350092c21c13e73 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/347] 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.246-rt110.tar.xz +Subject: [PATCH 017/342] 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=83573d1e9158243e6190ff7a90a1fe73c4794a8b 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.36.1 - diff --git a/debian/patches-rt/0018-efi-Allow-efi-runtime.patch b/debian/patches-rt/0018-efi-Allow-efi-runtime.patch index b31c9ad25..592a3e9fc 100644 --- a/debian/patches-rt/0018-efi-Allow-efi-runtime.patch +++ b/debian/patches-rt/0018-efi-Allow-efi-runtime.patch @@ -1,8 +1,7 @@ -From f62b786096a94d0a49da8d0c97bc1d5b6213e6a6 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/347] efi: Allow efi=runtime -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 018/342] efi: Allow efi=runtime +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bd99215d19fcabe2d1580cda61ff189cc41aa689 In case the option "efi=noruntime" is default at built-time, the user could overwrite its sate by `efi=runtime' and allow it again. @@ -27,6 +26,3 @@ index 7098744f9276..e89932f1ae65 100644 return 0; } early_param("efi", parse_efi_cmdline); --- -2.36.1 - diff --git a/debian/patches-rt/0019-x86-efi-drop-task_lock-from-efi_switch_mm.patch b/debian/patches-rt/0019-x86-efi-drop-task_lock-from-efi_switch_mm.patch index cc5aa4db1..1aaf6ca75 100644 --- a/debian/patches-rt/0019-x86-efi-drop-task_lock-from-efi_switch_mm.patch +++ b/debian/patches-rt/0019-x86-efi-drop-task_lock-from-efi_switch_mm.patch @@ -1,8 +1,7 @@ -From dc7eee776061da65e8343c30c068e3862a192bef 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/347] 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.246-rt110.tar.xz +Subject: [PATCH 019/342] 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=420295d524170fe978692f9ccc424105b7a6f4a7 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 77d05b56089a..cd7e4bfb43cf 100644 } #ifdef CONFIG_EFI_MIXED --- -2.36.1 - diff --git a/debian/patches-rt/0020-arm64-KVM-compute_layout-before-altenates-are-applie.patch b/debian/patches-rt/0020-arm64-KVM-compute_layout-before-altenates-are-applie.patch index 9ebe84c33..c1af4d95b 100644 --- a/debian/patches-rt/0020-arm64-KVM-compute_layout-before-altenates-are-applie.patch +++ b/debian/patches-rt/0020-arm64-KVM-compute_layout-before-altenates-are-applie.patch @@ -1,9 +1,8 @@ -From 67b8d4ae9c2cf65bccbb75f2099bca2da5e78de5 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/347] arm64: KVM: compute_layout before altenates are +Subject: [PATCH 020/342] arm64: KVM: compute_layout before altenates are applied -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4a7c21c9d8dd18466e30c7b471e0e9ad276f38de 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.36.1 - diff --git a/debian/patches-rt/0021-of-allocate-free-phandle-cache-outside-of-the-devtre.patch b/debian/patches-rt/0021-of-allocate-free-phandle-cache-outside-of-the-devtre.patch index 9b53b3722..910dd1aa1 100644 --- a/debian/patches-rt/0021-of-allocate-free-phandle-cache-outside-of-the-devtre.patch +++ b/debian/patches-rt/0021-of-allocate-free-phandle-cache-outside-of-the-devtre.patch @@ -1,9 +1,8 @@ -From aafa075abaa80a17d9ac105e72ab235ddb573aac 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/347] of: allocate / free phandle cache outside of the +Subject: [PATCH 021/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=811c1552ba8fc9c2522834455cc7a0f0421cc149 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 f0dbb7ad88cf..c59b30bab0e0 100644 } void __init of_core_init(void) --- -2.36.1 - diff --git a/debian/patches-rt/0022-mm-kasan-make-quarantine_lock-a-raw_spinlock_t.patch b/debian/patches-rt/0022-mm-kasan-make-quarantine_lock-a-raw_spinlock_t.patch index 0d6a6458f..d6f6279fa 100644 --- a/debian/patches-rt/0022-mm-kasan-make-quarantine_lock-a-raw_spinlock_t.patch +++ b/debian/patches-rt/0022-mm-kasan-make-quarantine_lock-a-raw_spinlock_t.patch @@ -1,8 +1,7 @@ -From 4613446aa7e0744f1f4895714184b4a5608153bd 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/347] 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.246-rt110.tar.xz +Subject: [PATCH 022/342] 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=320da726e91aaaedde9f1b6921f60f7ff8dd76d8 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.36.1 - diff --git a/debian/patches-rt/0023-EXP-rcu-Revert-expedited-GP-parallelization-cleverne.patch b/debian/patches-rt/0023-EXP-rcu-Revert-expedited-GP-parallelization-cleverne.patch index 576cef248..78dca5721 100644 --- a/debian/patches-rt/0023-EXP-rcu-Revert-expedited-GP-parallelization-cleverne.patch +++ b/debian/patches-rt/0023-EXP-rcu-Revert-expedited-GP-parallelization-cleverne.patch @@ -1,9 +1,8 @@ -From 502b30371ea2dc6a5ba4ec401468053719944d93 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/347] EXP rcu: Revert expedited GP parallelization +Subject: [PATCH 023/342] EXP rcu: Revert expedited GP parallelization cleverness -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bbc41f565212047da61ffb6763bb9843c6ea9775 (Commit 258ba8e089db23f760139266c232f01bad73f85c from linux-rcu) @@ -46,6 +45,3 @@ index 72770a551c24..ac6d6fdf5783 100644 rnp->exp_need_flush = true; } --- -2.36.1 - diff --git a/debian/patches-rt/0024-kmemleak-Turn-kmemleak_lock-to-raw-spinlock-on-RT.patch b/debian/patches-rt/0024-kmemleak-Turn-kmemleak_lock-to-raw-spinlock-on-RT.patch index 13c6dabe9..cbe6080bc 100644 --- a/debian/patches-rt/0024-kmemleak-Turn-kmemleak_lock-to-raw-spinlock-on-RT.patch +++ b/debian/patches-rt/0024-kmemleak-Turn-kmemleak_lock-to-raw-spinlock-on-RT.patch @@ -1,11 +1,10 @@ -From 4de935e0bd7598a837928fb0d15048e5b04c5b05 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/347] kmemleak: Turn kmemleak_lock to raw spinlock on RT +Subject: [PATCH 024/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=214db2ab9702fd60e0549651edf19dcfb17d9f20 kmemleak_lock, as a rwlock on RT, can possibly be held in atomic context and causes the follow BUG. @@ -164,6 +163,3 @@ index 639acbb91fd5..5b6718dd3a64 100644 } /* --- -2.36.1 - diff --git a/debian/patches-rt/0025-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch b/debian/patches-rt/0025-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch index 837bf02da..38cd44c91 100644 --- a/debian/patches-rt/0025-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch +++ b/debian/patches-rt/0025-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch @@ -1,8 +1,7 @@ -From a21527d57f8b1d303be3a91b055080f68bd83448 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/347] NFSv4: replace seqcount_t with a seqlock_t -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 025/342] NFSv4: replace seqcount_t with a seqlock_t +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b840fb9c0979726ce4cf8e6136da1ce9be6baeb8 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 @@ -58,7 +57,7 @@ index 5ac7bf24c507..b15a7a2f64fe 100644 }; diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c -index 759c834b60fd..256a4b0c4407 100644 +index f48a11fa78bb..93dcfcd1424d 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -2874,7 +2874,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata, @@ -131,6 +130,3 @@ index 30576a10a1f4..e0b94cbce3bf 100644 return status; } --- -2.36.1 - diff --git a/debian/patches-rt/0026-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch b/debian/patches-rt/0026-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch index f8d5cd7db..56d89ace2 100644 --- a/debian/patches-rt/0026-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch +++ b/debian/patches-rt/0026-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch @@ -1,12 +1,11 @@ -From 3f55ace58d1fbc90dd64acd3564cb4713f74a45e 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/347] kernel: sched: Provide a pointer to the valid CPU +Subject: [PATCH 026/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3a742715efe880a8606d4b57cd2d1ee4715afa3c In commit 4b53a3412d66 ("sched/core: Remove the tsk_nr_cpus_allowed() wrapper") the tsk_nr_cpus_allowed() wrapper was removed. There was not @@ -210,7 +209,7 @@ index 01ed0a667928..2c62de6b5bf1 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 38258de75a94..3ee680fc3fda 100644 +index 33ff9eca28f6..6115a9902435 100644 --- a/drivers/infiniband/hw/hfi1/sdma.c +++ b/drivers/infiniband/hw/hfi1/sdma.c @@ -853,14 +853,13 @@ struct sdma_engine *sdma_select_user_engine(struct hfi1_devdata *dd, @@ -780,6 +779,3 @@ index 5522692100ba..8b4be8e1802a 100644 trace_foo_with_template_simple("HELLO", cnt); --- -2.36.1 - diff --git a/debian/patches-rt/0027-kernel-sched-core-add-migrate_disable.patch b/debian/patches-rt/0027-kernel-sched-core-add-migrate_disable.patch index bd257b53a..3f81197cb 100644 --- a/debian/patches-rt/0027-kernel-sched-core-add-migrate_disable.patch +++ b/debian/patches-rt/0027-kernel-sched-core-add-migrate_disable.patch @@ -1,8 +1,7 @@ -From 842b16f6165e848057d292bb2e2a17a5c143bc55 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/347] kernel/sched/core: add migrate_disable() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 027/342] kernel/sched/core: add migrate_disable() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=530f57e728e9d76193a46746650e621d832ef4ce --- include/linux/preempt.h | 23 +++++++ @@ -261,6 +260,3 @@ index b1ef4f2e7edc..dc3f3e6fa0bd 100644 #undef PN_SCHEDSTAT #undef PN #undef __PN --- -2.36.1 - diff --git a/debian/patches-rt/0028-sched-migrate_disable-Add-export_symbol_gpl-for-__mi.patch b/debian/patches-rt/0028-sched-migrate_disable-Add-export_symbol_gpl-for-__mi.patch index f4980bd69..7ad746c36 100644 --- a/debian/patches-rt/0028-sched-migrate_disable-Add-export_symbol_gpl-for-__mi.patch +++ b/debian/patches-rt/0028-sched-migrate_disable-Add-export_symbol_gpl-for-__mi.patch @@ -1,9 +1,8 @@ -From 4df960200f0e46c435a32baad0ba0e90ec8db1a5 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/347] sched/migrate_disable: Add export_symbol_gpl for +Subject: [PATCH 028/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4b2f85c983f4170f60b4cbcaad98639bae7f7405 Jonathan reported that lttng/modules can't use __migrate_disabled(). This function is only used by sched/core itself and the tracing @@ -33,6 +32,3 @@ index 5a691d2bfbfe..0a51a66f5a63 100644 #endif static void __do_set_cpus_allowed_tail(struct task_struct *p, --- -2.36.1 - diff --git a/debian/patches-rt/0029-arm-at91-do-not-disable-enable-clocks-in-a-row.patch b/debian/patches-rt/0029-arm-at91-do-not-disable-enable-clocks-in-a-row.patch index 8bf2d54e0..36959604c 100644 --- a/debian/patches-rt/0029-arm-at91-do-not-disable-enable-clocks-in-a-row.patch +++ b/debian/patches-rt/0029-arm-at91-do-not-disable-enable-clocks-in-a-row.patch @@ -1,8 +1,7 @@ -From 61b697c120be1e50542dfa879ebb522bf834b8d2 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/347] 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.246-rt110.tar.xz +Subject: [PATCH 029/342] 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=c36a4aed62bdfc4b3139d5eb2a696dbe27949d8a 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.36.1 - diff --git a/debian/patches-rt/0030-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch b/debian/patches-rt/0030-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch index 92ac4b1e3..7a86c07d1 100644 --- a/debian/patches-rt/0030-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch +++ b/debian/patches-rt/0030-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch @@ -1,12 +1,11 @@ -From 785e3ab127a7476bb4da35910092b0d2fd767a47 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/347] clocksource: TCLIB: Allow higher clock rates for +Subject: [PATCH 030/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=08b49c99b7289f44964d91fe316ef6ae8c374390 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.36.1 - diff --git a/debian/patches-rt/0031-timekeeping-Split-jiffies-seqlock.patch b/debian/patches-rt/0031-timekeeping-Split-jiffies-seqlock.patch index 0b4af0dee..5fdbb3432 100644 --- a/debian/patches-rt/0031-timekeeping-Split-jiffies-seqlock.patch +++ b/debian/patches-rt/0031-timekeeping-Split-jiffies-seqlock.patch @@ -1,8 +1,7 @@ -From 8af466b69f15bf4b922703f7b7d6bba72f2ae86c 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/347] timekeeping: Split jiffies seqlock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 031/342] timekeeping: Split jiffies seqlock +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3d75e269bb6eae9e11c610942b292d51c3c196eb Replace jiffies_lock seqlock with a simple seqcounter and a rawlock so it can be taken in atomic context on RT. @@ -136,10 +135,10 @@ index 48403fb653c2..e774a49176cc 100644 ts->timer_expires_base = basemono; diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c -index f246818e35db..2cc8a1e8e94f 100644 +index 087f71183c3f..3d41ca395dd1 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c -@@ -2392,8 +2392,10 @@ EXPORT_SYMBOL(hardpps); +@@ -2407,8 +2407,10 @@ EXPORT_SYMBOL(hardpps); */ void xtime_update(unsigned long ticks) { @@ -166,6 +165,3 @@ index 141ab3ab0354..099737f6f10c 100644 #define CS_NAME_LEN 32 --- -2.36.1 - diff --git a/debian/patches-rt/0032-signal-Revert-ptrace-preempt-magic.patch b/debian/patches-rt/0032-signal-Revert-ptrace-preempt-magic.patch index 584eaea9c..b4180b71a 100644 --- a/debian/patches-rt/0032-signal-Revert-ptrace-preempt-magic.patch +++ b/debian/patches-rt/0032-signal-Revert-ptrace-preempt-magic.patch @@ -1,8 +1,7 @@ -From a52b4b412745dea30d5833c35df527de9aceaf70 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/347] signal: Revert ptrace preempt magic -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 032/342] signal: Revert ptrace preempt magic +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=51da8853d991fbd0844a069e36176cf6ed659a37 Upstream commit '53da1d9456fe7f8 fix ptrace slowness' is nothing more than a bandaid around the ptrace design trainwreck. It's not a @@ -14,7 +13,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 1 file changed, 8 deletions(-) diff --git a/kernel/signal.c b/kernel/signal.c -index 4cc3f3ba13a9..23764988b5d1 100644 +index c79b87ac1041..5f2df0301cd2 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -2099,15 +2099,7 @@ static void ptrace_stop(int exit_code, int why, int clear_code, siginfo_t *info) @@ -33,6 +32,3 @@ index 4cc3f3ba13a9..23764988b5d1 100644 freezable_schedule(); } else { /* --- -2.36.1 - diff --git a/debian/patches-rt/0033-net-sched-Use-msleep-instead-of-yield.patch b/debian/patches-rt/0033-net-sched-Use-msleep-instead-of-yield.patch index 04ac2a1dd..527f92bbf 100644 --- a/debian/patches-rt/0033-net-sched-Use-msleep-instead-of-yield.patch +++ b/debian/patches-rt/0033-net-sched-Use-msleep-instead-of-yield.patch @@ -1,8 +1,7 @@ -From 6312157ef6ed82e76dfab7c719dc7b5f731eb189 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/347] net: sched: Use msleep() instead of yield() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 033/342] net: sched: Use msleep() instead of yield() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a94458b4bbc9b3a16e8bb4a00125a37f47e8b599 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 7c1b1eff84f4..42a776abdf2f 100644 +index cad2586c3473..8d8a9ac2562f 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c -@@ -1253,7 +1253,7 @@ void dev_deactivate_many(struct list_head *head) +@@ -1254,7 +1254,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 7c1b1eff84f4..42a776abdf2f 100644 /* The new qdisc is assigned at this point so we can safely * unwind stale skb lists and qdisc statistics */ --- -2.36.1 - diff --git a/debian/patches-rt/0034-dm-rq-remove-BUG_ON-irqs_disabled-check.patch b/debian/patches-rt/0034-dm-rq-remove-BUG_ON-irqs_disabled-check.patch index ee27e4207..e3e7ed5f9 100644 --- a/debian/patches-rt/0034-dm-rq-remove-BUG_ON-irqs_disabled-check.patch +++ b/debian/patches-rt/0034-dm-rq-remove-BUG_ON-irqs_disabled-check.patch @@ -1,8 +1,7 @@ -From 7437113ac72d093e8ee118ccfd6174f199811e3e 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/347] dm rq: remove BUG_ON(!irqs_disabled) check -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 034/342] dm rq: remove BUG_ON(!irqs_disabled) check +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=04040555cbe921e190bb0678f83732b0d6fa3874 In commit 052189a2ec95 ("dm: remove superfluous irq disablement in dm_request_fn") the spin_lock_irq() was replaced with spin_lock() + a @@ -32,6 +31,3 @@ index 2957a3763f01..bc8192b4e7b2 100644 } } --- -2.36.1 - diff --git a/debian/patches-rt/0035-usb-do-no-disable-interrupts-in-giveback.patch b/debian/patches-rt/0035-usb-do-no-disable-interrupts-in-giveback.patch index 07b1ab8e9..4980cdeb8 100644 --- a/debian/patches-rt/0035-usb-do-no-disable-interrupts-in-giveback.patch +++ b/debian/patches-rt/0035-usb-do-no-disable-interrupts-in-giveback.patch @@ -1,8 +1,7 @@ -From 58c679541448da375ccc262585f3172e913811f3 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/347] usb: do no disable interrupts in giveback -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 035/342] usb: do no disable interrupts in giveback +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0fb80d18f8ca1e31e157b7f8a6730906446c1841 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 df661460e9f9..1a1487d312d0 100644 usb_anchor_resume_wakeups(anchor); atomic_dec(&urb->use_count); --- -2.36.1 - diff --git a/debian/patches-rt/0036-rt-Provide-PREEMPT_RT_BASE-config-switch.patch b/debian/patches-rt/0036-rt-Provide-PREEMPT_RT_BASE-config-switch.patch index 06f68e211..f3c92a375 100644 --- a/debian/patches-rt/0036-rt-Provide-PREEMPT_RT_BASE-config-switch.patch +++ b/debian/patches-rt/0036-rt-Provide-PREEMPT_RT_BASE-config-switch.patch @@ -1,8 +1,7 @@ -From a32da1fe301b84a5d1e22c83472290f0f10e8b12 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/347] rt: Provide PREEMPT_RT_BASE config switch -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 036/342] rt: Provide PREEMPT_RT_BASE config switch +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b37dde63f1b8d26b2f65461293519ec99abe4dbd 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.36.1 - diff --git a/debian/patches-rt/0037-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch b/debian/patches-rt/0037-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch index f5e098023..3e1d44c0e 100644 --- a/debian/patches-rt/0037-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch +++ b/debian/patches-rt/0037-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch @@ -1,8 +1,7 @@ -From ecd952b9f170afff929edaa1b5b7a172b07881c8 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/347] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 037/342] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f8131bb6f8295c7b4fabd12a0c0c3eb1713c9d48 There are "valid" GFP_ATOMIC allocations such as @@ -71,6 +70,3 @@ index 714ec2f50bb1..4857bb4c490a 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.36.1 - diff --git a/debian/patches-rt/0038-jump-label-disable-if-stop_machine-is-used.patch b/debian/patches-rt/0038-jump-label-disable-if-stop_machine-is-used.patch index 2492e61a1..25e6be2d0 100644 --- a/debian/patches-rt/0038-jump-label-disable-if-stop_machine-is-used.patch +++ b/debian/patches-rt/0038-jump-label-disable-if-stop_machine-is-used.patch @@ -1,8 +1,7 @@ -From d1a6d4880db516353e443bbe3b11ce97767dd75e 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/347] jump-label: disable if stop_machine() is used -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 038/342] jump-label: disable if stop_machine() is used +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6a7f82ff6e79a284d2d7daccbc50d25896e6f846 Some architectures are using stop_machine() while switching the opcode which leads to latency spikes. @@ -37,6 +36,3 @@ index d89d013f586c..32d59b815b52 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.36.1 - diff --git a/debian/patches-rt/0039-kconfig-Disable-config-options-which-are-not-RT-comp.patch b/debian/patches-rt/0039-kconfig-Disable-config-options-which-are-not-RT-comp.patch index 20f55cc87..b1012ea33 100644 --- a/debian/patches-rt/0039-kconfig-Disable-config-options-which-are-not-RT-comp.patch +++ b/debian/patches-rt/0039-kconfig-Disable-config-options-which-are-not-RT-comp.patch @@ -1,9 +1,8 @@ -From 92e84c0530709b63ff982d19ccf2ae0523aa712a 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/347] kconfig: Disable config options which are not RT +Subject: [PATCH 039/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d20dc87ef027ae10b83e8aa13ba63fcde819da26 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.36.1 - diff --git a/debian/patches-rt/0040-lockdep-disable-self-test.patch b/debian/patches-rt/0040-lockdep-disable-self-test.patch index ff859feb8..3679cc993 100644 --- a/debian/patches-rt/0040-lockdep-disable-self-test.patch +++ b/debian/patches-rt/0040-lockdep-disable-self-test.patch @@ -1,11 +1,10 @@ -From 563448c3c6d54ac0304256d02827bd841ba65a2f 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/347] lockdep: disable self-test +Subject: [PATCH 040/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=af6ae5f97037f7668869705020867edf0a5e09c6 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 621859a453f8..02f962c9b199 100644 +index 9a4277034c64..ee81b31aa9c5 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -1206,7 +1206,7 @@ config DEBUG_ATOMIC_SLEEP @@ -30,6 +29,3 @@ index 621859a453f8..02f962c9b199 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.36.1 - diff --git a/debian/patches-rt/0041-mm-Allow-only-slub-on-RT.patch b/debian/patches-rt/0041-mm-Allow-only-slub-on-RT.patch index b41b5188e..c876f8229 100644 --- a/debian/patches-rt/0041-mm-Allow-only-slub-on-RT.patch +++ b/debian/patches-rt/0041-mm-Allow-only-slub-on-RT.patch @@ -1,8 +1,7 @@ -From 8b775963cebd7cc5b3416a9d8f85ef4c343874df 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/347] mm: Allow only slub on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 041/342] mm: Allow only slub on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=24f9bbf38dfd0fd57553176d5d441c91a7a2c0a1 Disable SLAB and SLOB on -RT. Only SLUB is adopted to -RT needs. @@ -32,6 +31,3 @@ index 15c02e15d3fd..45a9846f1464 100644 help SLOB replaces the stock allocator with a drastically simpler allocator. SLOB is generally more space efficient but --- -2.36.1 - diff --git a/debian/patches-rt/0042-locking-Disable-spin-on-owner-for-RT.patch b/debian/patches-rt/0042-locking-Disable-spin-on-owner-for-RT.patch index f17f2534e..dc1e1715f 100644 --- a/debian/patches-rt/0042-locking-Disable-spin-on-owner-for-RT.patch +++ b/debian/patches-rt/0042-locking-Disable-spin-on-owner-for-RT.patch @@ -1,11 +1,10 @@ -From 08935fef7d8bf9943412aabcac4133066923333f 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/347] locking: Disable spin on owner for RT +Subject: [PATCH 042/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=595a698c628e8a06b9aa23ee86ce93052b1e9cf4 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.36.1 - diff --git a/debian/patches-rt/0043-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch b/debian/patches-rt/0043-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch index 7f601cc2e..f4486a279 100644 --- a/debian/patches-rt/0043-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch +++ b/debian/patches-rt/0043-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch @@ -1,8 +1,7 @@ -From bf68f45a17d9185950e69e908fcbff3fe28f7764 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/347] rcu: Disable RCU_FAST_NO_HZ on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 043/342] rcu: Disable RCU_FAST_NO_HZ on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2906b81a2b2eac6c3a6ca5e7e782008896eacf43 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.36.1 - diff --git a/debian/patches-rt/0044-rcu-make-RCU_BOOST-default-on-RT.patch b/debian/patches-rt/0044-rcu-make-RCU_BOOST-default-on-RT.patch index 41c8f5cf1..8bff8ab7d 100644 --- a/debian/patches-rt/0044-rcu-make-RCU_BOOST-default-on-RT.patch +++ b/debian/patches-rt/0044-rcu-make-RCU_BOOST-default-on-RT.patch @@ -1,8 +1,7 @@ -From 54dcdf587a5ea4e590122c0666760e151bb3f122 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/347] rcu: make RCU_BOOST default on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 044/342] rcu: make RCU_BOOST default on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3c6db36bde45dd585557217b67660ac13aff8c9e 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.36.1 - diff --git a/debian/patches-rt/0045-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch b/debian/patches-rt/0045-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch index f7214c126..8ab2262eb 100644 --- a/debian/patches-rt/0045-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch +++ b/debian/patches-rt/0045-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch @@ -1,8 +1,7 @@ -From 99a129e243d912aefe039e78e82c3f39204fd05c 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/347] sched: Disable CONFIG_RT_GROUP_SCHED on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 045/342] sched: Disable CONFIG_RT_GROUP_SCHED on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=35fe4c7ed5f8c8dbd6fc8dbc4ea79f38e6709cbc Carsten reported problems when running: @@ -30,6 +29,3 @@ index 45a9846f1464..1793e8bd71ef 100644 default n help This feature lets you explicitly allocate real CPU bandwidth --- -2.36.1 - diff --git a/debian/patches-rt/0046-net-core-disable-NET_RX_BUSY_POLL.patch b/debian/patches-rt/0046-net-core-disable-NET_RX_BUSY_POLL.patch index 7eb1fc029..4997d3125 100644 --- a/debian/patches-rt/0046-net-core-disable-NET_RX_BUSY_POLL.patch +++ b/debian/patches-rt/0046-net-core-disable-NET_RX_BUSY_POLL.patch @@ -1,11 +1,10 @@ -From ad59d8a0c65befc94d4dc8d0f000ab096011f737 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/347] net/core: disable NET_RX_BUSY_POLL +Subject: [PATCH 046/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9ddd1e187d289bf0b0e0ed40eb776010526c95fb 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.36.1 - diff --git a/debian/patches-rt/0047-arm-disable-NEON-in-kernel-mode.patch b/debian/patches-rt/0047-arm-disable-NEON-in-kernel-mode.patch index 03e38de78..6081352c4 100644 --- a/debian/patches-rt/0047-arm-disable-NEON-in-kernel-mode.patch +++ b/debian/patches-rt/0047-arm-disable-NEON-in-kernel-mode.patch @@ -1,8 +1,7 @@ -From 8cd6e5200e3869218d2da84e16e4638eb6de6923 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/347] arm*: disable NEON in kernel mode -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 047/342] arm*: disable NEON in kernel mode +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3871acb68bb4ed0ffe77ad68b497182a4aaf9cce 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 @@ -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.36.1 - diff --git a/debian/patches-rt/0048-powerpc-Use-generic-rwsem-on-RT.patch b/debian/patches-rt/0048-powerpc-Use-generic-rwsem-on-RT.patch index 24e9ef59e..d0fdba62d 100644 --- a/debian/patches-rt/0048-powerpc-Use-generic-rwsem-on-RT.patch +++ b/debian/patches-rt/0048-powerpc-Use-generic-rwsem-on-RT.patch @@ -1,8 +1,7 @@ -From 030e3aaf44e1d067c8b44227ace30a35b90b1dda 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/347] powerpc: Use generic rwsem on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 048/342] powerpc: Use generic rwsem on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=31c7f2b069511b279e94f8dcd85a919944e98866 Use generic code which uses rtmutex @@ -28,6 +27,3 @@ index f0e09d5f0bed..d6aae022d8c3 100644 config GENERIC_LOCKBREAK bool --- -2.36.1 - diff --git a/debian/patches-rt/0049-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch b/debian/patches-rt/0049-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch index f019d3e49..72d40f076 100644 --- a/debian/patches-rt/0049-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch +++ b/debian/patches-rt/0049-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch @@ -1,9 +1,8 @@ -From d20454871d553f909f09445def1ccc5edee641de 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/347] powerpc/kvm: Disable in-kernel MPIC emulation for +Subject: [PATCH 049/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=157f0f9e40401380eeb97d8cba087b4f8380c2f3 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.36.1 - diff --git a/debian/patches-rt/0050-powerpc-Disable-highmem-on-RT.patch b/debian/patches-rt/0050-powerpc-Disable-highmem-on-RT.patch index 75dd3f847..4f2ce559d 100644 --- a/debian/patches-rt/0050-powerpc-Disable-highmem-on-RT.patch +++ b/debian/patches-rt/0050-powerpc-Disable-highmem-on-RT.patch @@ -1,8 +1,7 @@ -From fb0a390ea78c69d7d649e3cca6252b3f18659432 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/347] powerpc: Disable highmem on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 050/342] powerpc: Disable highmem on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ea4bdea3cd8b827c68cf8d5b7622f834dadc2761 The current highmem handling on -RT is not compatible and needs fixups. @@ -24,6 +23,3 @@ index d6aae022d8c3..f4517f4be192 100644 source kernel/Kconfig.hz --- -2.36.1 - diff --git a/debian/patches-rt/0051-mips-Disable-highmem-on-RT.patch b/debian/patches-rt/0051-mips-Disable-highmem-on-RT.patch index 775a7da1c..939256714 100644 --- a/debian/patches-rt/0051-mips-Disable-highmem-on-RT.patch +++ b/debian/patches-rt/0051-mips-Disable-highmem-on-RT.patch @@ -1,8 +1,7 @@ -From 4ee6a41454883114c19ed1d09d6337846d8fe685 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/347] mips: Disable highmem on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 051/342] mips: Disable highmem on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=269a64247aeed7cb930850d38719a815cedbfebc The current highmem handling on -RT is not compatible and needs fixups. @@ -24,6 +23,3 @@ index 8a227a80f6bd..bbd790058e46 100644 config CPU_SUPPORTS_HIGHMEM bool --- -2.36.1 - diff --git a/debian/patches-rt/0052-x86-Use-generic-rwsem_spinlocks-on-rt.patch b/debian/patches-rt/0052-x86-Use-generic-rwsem_spinlocks-on-rt.patch index 61295d2a3..1c01fec7e 100644 --- a/debian/patches-rt/0052-x86-Use-generic-rwsem_spinlocks-on-rt.patch +++ b/debian/patches-rt/0052-x86-Use-generic-rwsem_spinlocks-on-rt.patch @@ -1,8 +1,7 @@ -From ba7790a3c551c3de98d561dbdfc21b1ee3da42b7 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/347] x86: Use generic rwsem_spinlocks on -rt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 052/342] x86: Use generic rwsem_spinlocks on -rt +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3f6a1a4dffbffb8bc4e0b4dbcf46fa6409d3635c Simplifies the separation of anon_rw_semaphores and rw_semaphores for -rt. @@ -29,6 +28,3 @@ index a8ec5d0c024e..6ee7220e7f47 100644 config GENERIC_CALIBRATE_DELAY def_bool y --- -2.36.1 - diff --git a/debian/patches-rt/0053-leds-trigger-disable-CPU-trigger-on-RT.patch b/debian/patches-rt/0053-leds-trigger-disable-CPU-trigger-on-RT.patch index d8b93a3b6..6584b8eb6 100644 --- a/debian/patches-rt/0053-leds-trigger-disable-CPU-trigger-on-RT.patch +++ b/debian/patches-rt/0053-leds-trigger-disable-CPU-trigger-on-RT.patch @@ -1,8 +1,7 @@ -From 2f974cb740c62b0919de64dfd6adffd2ee6de05e 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/347] leds: trigger: disable CPU trigger on -RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 053/342] leds: trigger: disable CPU trigger on -RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=33c8d8dbc6da63c95050f879b153aeec536b820b 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.36.1 - diff --git a/debian/patches-rt/0054-cpufreq-drop-K8-s-driver-from-beeing-selected.patch b/debian/patches-rt/0054-cpufreq-drop-K8-s-driver-from-beeing-selected.patch index d93572692..4b2f990f2 100644 --- a/debian/patches-rt/0054-cpufreq-drop-K8-s-driver-from-beeing-selected.patch +++ b/debian/patches-rt/0054-cpufreq-drop-K8-s-driver-from-beeing-selected.patch @@ -1,8 +1,7 @@ -From b7705efed15774a4424b72dc695c15636b458a3b 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/347] cpufreq: drop K8's driver from beeing selected -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 054/342] cpufreq: drop K8's driver from beeing selected +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5418743cfe93bd81d0666a754324fbb8c0d094bd 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.36.1 - diff --git a/debian/patches-rt/0055-md-disable-bcache.patch b/debian/patches-rt/0055-md-disable-bcache.patch index f2de464c8..64e79c786 100644 --- a/debian/patches-rt/0055-md-disable-bcache.patch +++ b/debian/patches-rt/0055-md-disable-bcache.patch @@ -1,11 +1,10 @@ -From 660157bd8a977bb04e9ef58df7270b51f7e315e1 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/347] md: disable bcache +Subject: [PATCH 055/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b43ef7e1e9d0f8f376c1cbecd5603eed7ffd27c3 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.36.1 - diff --git a/debian/patches-rt/0056-efi-Disable-runtime-services-on-RT.patch b/debian/patches-rt/0056-efi-Disable-runtime-services-on-RT.patch index fe647f6c4..a3991fa44 100644 --- a/debian/patches-rt/0056-efi-Disable-runtime-services-on-RT.patch +++ b/debian/patches-rt/0056-efi-Disable-runtime-services-on-RT.patch @@ -1,8 +1,7 @@ -From 6c62319a5f5caaf647997706f6996ce4e8dfc939 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/347] efi: Disable runtime services on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 056/342] efi: Disable runtime services on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=365411fe5df7eb06fef3644a96222b96878107f6 Based on meassurements the EFI functions get_variable / get_next_variable take up to 2us which looks okay. @@ -41,6 +40,3 @@ index e89932f1ae65..221957ccdb0b 100644 static int __init setup_noefi(char *arg) { disable_runtime = true; --- -2.36.1 - diff --git a/debian/patches-rt/0057-printk-Add-a-printk-kill-switch.patch b/debian/patches-rt/0057-printk-Add-a-printk-kill-switch.patch index 54f3d96d2..8bab85c4e 100644 --- a/debian/patches-rt/0057-printk-Add-a-printk-kill-switch.patch +++ b/debian/patches-rt/0057-printk-Add-a-printk-kill-switch.patch @@ -1,8 +1,7 @@ -From 0450159a3552782546de4c88cbeae98683079ee9 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/347] printk: Add a printk kill switch -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 057/342] printk: Add a printk kill switch +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ed296a69a4f4cc1e1df5a29c87fe629f9f7a61c5 Add a prinkt-kill-switch. This is used from (NMI) watchdog to ensure that it does not dead-lock with the early printk code. @@ -169,6 +168,3 @@ index 71381168dede..685443375dc0 100644 if (hardlockup_panic) nmi_panic(regs, "Hard LOCKUP"); --- -2.36.1 - diff --git a/debian/patches-rt/0058-printk-Add-force_early_printk-boot-param-to-help-wit.patch b/debian/patches-rt/0058-printk-Add-force_early_printk-boot-param-to-help-wit.patch index 68fc30c35..891f76a59 100644 --- a/debian/patches-rt/0058-printk-Add-force_early_printk-boot-param-to-help-wit.patch +++ b/debian/patches-rt/0058-printk-Add-force_early_printk-boot-param-to-help-wit.patch @@ -1,9 +1,8 @@ -From fa9f6eea1ebbb987a57d889ad00f142a21aa1843 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/347] printk: Add "force_early_printk" boot param to help +Subject: [PATCH 058/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5bc26d1775b46f51023f203f4eab5c1068cc165c Gives me an option to screw printk and actually see what the machine says. @@ -34,6 +33,3 @@ index 963c20ab9548..7b774743e1ac 100644 void printk_kill(void) { printk_killswitch = true; --- -2.36.1 - diff --git a/debian/patches-rt/0059-preempt-Provide-preempt_-_-no-rt-variants.patch b/debian/patches-rt/0059-preempt-Provide-preempt_-_-no-rt-variants.patch index c4b54be3a..06a260365 100644 --- a/debian/patches-rt/0059-preempt-Provide-preempt_-_-no-rt-variants.patch +++ b/debian/patches-rt/0059-preempt-Provide-preempt_-_-no-rt-variants.patch @@ -1,8 +1,7 @@ -From 284c759a4a661cea5ac84fac628731f6b79d6b2e 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/347] preempt: Provide preempt_*_(no)rt variants -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 059/342] preempt: Provide preempt_*_(no)rt variants +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=53b5cbf2736307303fe726f09c6036bc8490fa9e 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.36.1 - diff --git a/debian/patches-rt/0060-futex-workaround-migrate_disable-enable-in-different.patch b/debian/patches-rt/0060-futex-workaround-migrate_disable-enable-in-different.patch index 373f02a64..f589e420b 100644 --- a/debian/patches-rt/0060-futex-workaround-migrate_disable-enable-in-different.patch +++ b/debian/patches-rt/0060-futex-workaround-migrate_disable-enable-in-different.patch @@ -1,9 +1,8 @@ -From d142001fdbdd8cc5fb558e9c3fa110f575875355 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/347] futex: workaround migrate_disable/enable in different +Subject: [PATCH 060/342] futex: workaround migrate_disable/enable in different context -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1b4d3dbc8790453456e4eed79e76cc04c35af965 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 3c67da9b8408..fac994367189 100644 put_pi_state(pi_state); /* --- -2.36.1 - diff --git a/debian/patches-rt/0061-rt-Add-local-irq-locks.patch b/debian/patches-rt/0061-rt-Add-local-irq-locks.patch index 205579b09..3b46f2259 100644 --- a/debian/patches-rt/0061-rt-Add-local-irq-locks.patch +++ b/debian/patches-rt/0061-rt-Add-local-irq-locks.patch @@ -1,8 +1,7 @@ -From d870e74a28988a6bb802f1e4bffd33297e63053f 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/347] rt: Add local irq locks -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 061/342] rt: Add local irq locks +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c059c18f3ffb8049cb8d1e3f674ce1dadd9e1716 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.36.1 - diff --git a/debian/patches-rt/0062-locallock-provide-get-put-_locked_ptr-variants.patch b/debian/patches-rt/0062-locallock-provide-get-put-_locked_ptr-variants.patch index d3d7ffdeb..59782baab 100644 --- a/debian/patches-rt/0062-locallock-provide-get-put-_locked_ptr-variants.patch +++ b/debian/patches-rt/0062-locallock-provide-get-put-_locked_ptr-variants.patch @@ -1,8 +1,7 @@ -From 5b024e1bb773440c6f4c48fdb21090bfadab8a7a 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/347] locallock: provide {get,put}_locked_ptr() variants -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 062/342] locallock: provide {get,put}_locked_ptr() variants +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a103d13e1c82e65714758163ca6a573a1192099c 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.36.1 - diff --git a/debian/patches-rt/0063-mm-scatterlist-Do-not-disable-irqs-on-RT.patch b/debian/patches-rt/0063-mm-scatterlist-Do-not-disable-irqs-on-RT.patch index 368da63b4..41f44b72e 100644 --- a/debian/patches-rt/0063-mm-scatterlist-Do-not-disable-irqs-on-RT.patch +++ b/debian/patches-rt/0063-mm-scatterlist-Do-not-disable-irqs-on-RT.patch @@ -1,8 +1,7 @@ -From 48680d53abae6cad7df7eb850fb2acb81da70ef8 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/347] mm/scatterlist: Do not disable irqs on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 063/342] mm/scatterlist: Do not disable irqs on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e9f18c257d54ad5d2aab765ab83165b1f914a211 For -RT it is enough to keep pagefault disabled (which is currently handled by kmap_atomic()). @@ -25,6 +24,3 @@ index 3b859201f84c..093c3aa3d895 100644 kunmap_atomic(miter->addr); } else kunmap(miter->page); --- -2.36.1 - diff --git a/debian/patches-rt/0064-signal-x86-Delay-calling-signals-in-atomic.patch b/debian/patches-rt/0064-signal-x86-Delay-calling-signals-in-atomic.patch index 8acb6a058..fac2bd9ec 100644 --- a/debian/patches-rt/0064-signal-x86-Delay-calling-signals-in-atomic.patch +++ b/debian/patches-rt/0064-signal-x86-Delay-calling-signals-in-atomic.patch @@ -1,8 +1,7 @@ -From 47c69a6b85d4820b49840b1bd914a970e7eb6851 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/347] signal/x86: Delay calling signals in atomic -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 064/342] signal/x86: Delay calling signals in atomic +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b34409a64f8206c8591fe1e49021a5b10f2da5d8 On x86_64 we must disable preemption before we enable interrupts for stack faults, int3 and debugging, because the current task is using @@ -95,7 +94,7 @@ index 52069b9ddce8..56047f57ebc7 100644 size_t sas_ss_size; unsigned int sas_ss_flags; diff --git a/kernel/signal.c b/kernel/signal.c -index 23764988b5d1..58bd3b3dd499 100644 +index 5f2df0301cd2..708ee1bd4059 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -1283,8 +1283,8 @@ int do_send_sig_info(int sig, struct siginfo *info, struct task_struct *p, @@ -149,6 +148,3 @@ index 23764988b5d1..58bd3b3dd499 100644 /* * Nuke all other threads in the group. */ --- -2.36.1 - diff --git a/debian/patches-rt/0065-x86-signal-delay-calling-signals-on-32bit.patch b/debian/patches-rt/0065-x86-signal-delay-calling-signals-on-32bit.patch index d03ec8bc1..c5e0394ae 100644 --- a/debian/patches-rt/0065-x86-signal-delay-calling-signals-on-32bit.patch +++ b/debian/patches-rt/0065-x86-signal-delay-calling-signals-on-32bit.patch @@ -1,8 +1,7 @@ -From b2265189b45c7240033cc856851c5bbf4c2dc323 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/347] x86/signal: delay calling signals on 32bit -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 065/342] x86/signal: delay calling signals on 32bit +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=634425200c2407f794e54dfa9f59786e87b81860 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.36.1 - diff --git a/debian/patches-rt/0066-buffer_head-Replace-bh_uptodate_lock-for-rt.patch b/debian/patches-rt/0066-buffer_head-Replace-bh_uptodate_lock-for-rt.patch index 711c91563..4fb0d2e07 100644 --- a/debian/patches-rt/0066-buffer_head-Replace-bh_uptodate_lock-for-rt.patch +++ b/debian/patches-rt/0066-buffer_head-Replace-bh_uptodate_lock-for-rt.patch @@ -1,8 +1,7 @@ -From a309856cae0c403bb844c9c89bd345168c2f6ee1 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/347] buffer_head: Replace bh_uptodate_lock for -rt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 066/342] buffer_head: Replace bh_uptodate_lock for -rt +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=83ebb8fff9183675790a74c7d47700e4498cc51a Wrap the bit_spin_lock calls into a separate inline and add the RT replacements with a real spinlock. @@ -192,6 +191,3 @@ index 9168fc33a4f7..572541d6cc90 100644 /* * macro tricks to expand the set_buffer_foo(), clear_buffer_foo() * and buffer_foo() functions. --- -2.36.1 - diff --git a/debian/patches-rt/0067-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch b/debian/patches-rt/0067-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch index 46bb6aca2..3f88de87a 100644 --- a/debian/patches-rt/0067-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch +++ b/debian/patches-rt/0067-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch @@ -1,9 +1,8 @@ -From 18cc82093eb65f5fc2db7ff78b49fd443c52da5c 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/347] fs: jbd/jbd2: Make state lock and journal head lock +Subject: [PATCH 067/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f91a99950e81ad7b0afc52a031624f5c58aab806 bit_spin_locks break under RT. @@ -105,6 +104,3 @@ index 268f3000d1b3..8f5d6ecb802e 100644 } #define J_ASSERT(assert) BUG_ON(!(assert)) --- -2.36.1 - diff --git a/debian/patches-rt/0068-list_bl-Make-list-head-locking-RT-safe.patch b/debian/patches-rt/0068-list_bl-Make-list-head-locking-RT-safe.patch index 940959051..4a6b621f2 100644 --- a/debian/patches-rt/0068-list_bl-Make-list-head-locking-RT-safe.patch +++ b/debian/patches-rt/0068-list_bl-Make-list-head-locking-RT-safe.patch @@ -1,8 +1,7 @@ -From c1eeae383297bbad06f5e7b6d1dafa5ff5fb286e 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/347] list_bl: Make list head locking RT safe -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 068/342] list_bl: Make list head locking RT safe +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=51b2c6abf67d49a7986b6c833aed0acb1392865e 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.36.1 - diff --git a/debian/patches-rt/0069-list_bl-fixup-bogus-lockdep-warning.patch b/debian/patches-rt/0069-list_bl-fixup-bogus-lockdep-warning.patch index 9fe3abb77..bbb6e593d 100644 --- a/debian/patches-rt/0069-list_bl-fixup-bogus-lockdep-warning.patch +++ b/debian/patches-rt/0069-list_bl-fixup-bogus-lockdep-warning.patch @@ -1,8 +1,7 @@ -From 6702144cc338594e14d79ce9dd255f50d21840f9 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/347] list_bl: fixup bogus lockdep warning -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 069/342] list_bl: fixup bogus lockdep warning +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=31f4da06270d71015ad1d8d03c45fdba34ef07bb 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.36.1 - diff --git a/debian/patches-rt/0070-genirq-Disable-irqpoll-on-rt.patch b/debian/patches-rt/0070-genirq-Disable-irqpoll-on-rt.patch index 1bb671732..d05578e64 100644 --- a/debian/patches-rt/0070-genirq-Disable-irqpoll-on-rt.patch +++ b/debian/patches-rt/0070-genirq-Disable-irqpoll-on-rt.patch @@ -1,8 +1,7 @@ -From 9e5ed96dec7a2d9bf3359966eec008c2434610d6 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/347] genirq: Disable irqpoll on -rt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 070/342] genirq: Disable irqpoll on -rt +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=eb89b91111430b636ef8decb3c4b1043fff1658b 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.36.1 - diff --git a/debian/patches-rt/0071-genirq-Force-interrupt-thread-on-RT.patch b/debian/patches-rt/0071-genirq-Force-interrupt-thread-on-RT.patch index 9eb44beb4..70501763b 100644 --- a/debian/patches-rt/0071-genirq-Force-interrupt-thread-on-RT.patch +++ b/debian/patches-rt/0071-genirq-Force-interrupt-thread-on-RT.patch @@ -1,8 +1,7 @@ -From d4c832ada3bdbd395d69e11232761697f6ed9523 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/347] genirq: Force interrupt thread on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 071/342] genirq: Force interrupt thread on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9ed3c480f56be478ccd03c80943df887b0e0baa6 Force threaded_irqs and optimize the code (force_irqthreads) in regard to this. @@ -49,6 +48,3 @@ index 18f3cdbf41fd..f12f50f5b605 100644 #endif static void __synchronize_hardirq(struct irq_desc *desc, bool sync_chip) --- -2.36.1 - diff --git a/debian/patches-rt/0072-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch b/debian/patches-rt/0072-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch index deadce9a4..71f2952c5 100644 --- a/debian/patches-rt/0072-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch +++ b/debian/patches-rt/0072-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch @@ -1,9 +1,8 @@ -From a2351869ba46346be8b541abd8f1ca7a81df2537 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/347] Split IRQ-off and zone->lock while freeing pages from +Subject: [PATCH 072/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=214e6808e3ae9655e1530a4da1698e20754a33a5 Split the IRQ-off section while accessing the PCP list from zone->lock while freeing pages. @@ -168,6 +167,3 @@ index 9c35403d9646..6763dfc2dde0 100644 } } --- -2.36.1 - diff --git a/debian/patches-rt/0073-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch b/debian/patches-rt/0073-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch index f19c558a2..eddc1c4de 100644 --- a/debian/patches-rt/0073-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch +++ b/debian/patches-rt/0073-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch @@ -1,9 +1,8 @@ -From 2c267f4e1c964c28022ee12c9b86f07854427ac5 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <peterz@infradead.org> Date: Mon, 28 May 2018 15:24:21 +0200 -Subject: [PATCH 073/347] Split IRQ-off and zone->lock while freeing pages from +Subject: [PATCH 073/342] Split IRQ-off and zone->lock while freeing pages from PCP list #2 -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0a4d7be1a0591f795f80c043627b1c30d633459a Split the IRQ-off section while accessing the PCP list from zone->lock while freeing pages. @@ -167,6 +166,3 @@ index 6763dfc2dde0..ba6f9b334073 100644 } /* --- -2.36.1 - diff --git a/debian/patches-rt/0074-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch b/debian/patches-rt/0074-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch index 564ebe845..e3bd8de68 100644 --- a/debian/patches-rt/0074-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch +++ b/debian/patches-rt/0074-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch @@ -1,8 +1,7 @@ -From 3e8b37b77db38c83eaff3b8fdcd23e91f8d78613 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 28 May 2018 15:24:22 +0200 -Subject: [PATCH 074/347] 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.246-rt110.tar.xz +Subject: [PATCH 074/342] mm/SLxB: change list_lock to raw_spinlock_t +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d8c58de5abafe875e6c797d46f6a9272262d1358 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 @@ -399,7 +398,7 @@ index 0ed7a463f476..12b7da32bcd0 100644 #ifdef CONFIG_SLAB struct list_head slabs_partial; /* partial list first, better asm code */ diff --git a/mm/slub.c b/mm/slub.c -index 499fb073d1ff..0e4670add1e9 100644 +index 0fefe0ad8f57..ef6fc4df3ed5 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -1182,7 +1182,7 @@ static noinline int free_debug_processing( @@ -465,7 +464,7 @@ index 499fb073d1ff..0e4670add1e9 100644 if (m == M_FREE) { stat(s, DEACTIVATE_EMPTY); -@@ -2187,10 +2187,10 @@ static void unfreeze_partials(struct kmem_cache *s, +@@ -2188,10 +2188,10 @@ static void unfreeze_partials(struct kmem_cache *s, n2 = get_node(s, page_to_nid(page)); if (n != n2) { if (n) @@ -478,7 +477,7 @@ index 499fb073d1ff..0e4670add1e9 100644 } do { -@@ -2219,7 +2219,7 @@ static void unfreeze_partials(struct kmem_cache *s, +@@ -2220,7 +2220,7 @@ static void unfreeze_partials(struct kmem_cache *s, } if (n) @@ -487,7 +486,7 @@ index 499fb073d1ff..0e4670add1e9 100644 while (discard_page) { page = discard_page; -@@ -2388,10 +2388,10 @@ static unsigned long count_partial(struct kmem_cache_node *n, +@@ -2387,10 +2387,10 @@ static unsigned long count_partial(struct kmem_cache_node *n, unsigned long x = 0; struct page *page; @@ -614,6 +613,3 @@ index 499fb073d1ff..0e4670add1e9 100644 } for (i = 0; i < t.count; i++) { --- -2.36.1 - diff --git a/debian/patches-rt/0075-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch b/debian/patches-rt/0075-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch index c62fd4658..0035016fb 100644 --- a/debian/patches-rt/0075-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch +++ b/debian/patches-rt/0075-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch @@ -1,9 +1,8 @@ -From 77ff019039696fc4bd8962110c689eb3520386b1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 21 Jun 2018 17:29:19 +0200 -Subject: [PATCH 075/347] mm/SLUB: delay giving back empty slubs to IRQ enabled +Subject: [PATCH 075/342] mm/SLUB: delay giving back empty slubs to IRQ enabled regions -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2ea46cd4066413ae217e7307020fa0e4a4cbc223 __free_slab() is invoked with disabled interrupts which increases the irq-off time while __free_pages() is doing the work. @@ -18,7 +17,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> 1 file changed, 69 insertions(+), 5 deletions(-) diff --git a/mm/slub.c b/mm/slub.c -index 0e4670add1e9..a5a086ed4493 100644 +index ef6fc4df3ed5..e9abe4aa5801 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -1350,6 +1350,12 @@ static bool freelist_corrupted(struct kmem_cache *s, struct page *page, @@ -64,7 +63,7 @@ index 0e4670add1e9..a5a086ed4493 100644 } else __free_slab(s, page); } -@@ -2256,14 +2278,21 @@ static void put_cpu_partial(struct kmem_cache *s, struct page *page, int drain) +@@ -2257,14 +2279,21 @@ static void put_cpu_partial(struct kmem_cache *s, struct page *page, int drain) pobjects = oldpage->pobjects; pages = oldpage->pages; if (drain && pobjects > s->cpu_partial) { @@ -86,7 +85,7 @@ index 0e4670add1e9..a5a086ed4493 100644 oldpage = NULL; pobjects = 0; pages = 0; -@@ -2333,7 +2362,22 @@ static bool has_cpu_slab(int cpu, void *info) +@@ -2332,7 +2361,22 @@ static bool has_cpu_slab(int cpu, void *info) static void flush_all(struct kmem_cache *s) { @@ -109,7 +108,7 @@ index 0e4670add1e9..a5a086ed4493 100644 } /* -@@ -2531,8 +2575,10 @@ static inline void *get_freelist(struct kmem_cache *s, struct page *page) +@@ -2530,8 +2574,10 @@ static inline void *get_freelist(struct kmem_cache *s, struct page *page) * already disabled (which is the case for bulk allocation). */ static void *___slab_alloc(struct kmem_cache *s, gfp_t gfpflags, int node, @@ -218,6 +217,3 @@ index 0e4670add1e9..a5a086ed4493 100644 if (debug_guardpage_minorder()) slub_max_order = 0; --- -2.36.1 - diff --git a/debian/patches-rt/0076-mm-page_alloc-rt-friendly-per-cpu-pages.patch b/debian/patches-rt/0076-mm-page_alloc-rt-friendly-per-cpu-pages.patch index 819fc71a0..3422be6dc 100644 --- a/debian/patches-rt/0076-mm-page_alloc-rt-friendly-per-cpu-pages.patch +++ b/debian/patches-rt/0076-mm-page_alloc-rt-friendly-per-cpu-pages.patch @@ -1,8 +1,7 @@ -From 85f14b575e2fadf9ab80ef7b3e5158833d79939e Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:37 -0500 -Subject: [PATCH 076/347] mm: page_alloc: rt-friendly per-cpu pages -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 076/342] mm: page_alloc: rt-friendly per-cpu pages +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5a85fb64e5e9bd14a4754af946d40a154f966492 rt-friendly per-cpu pages: convert the irqs-off per-cpu locking method into a preemptible, explicit-per-cpu-locks method. @@ -234,6 +233,3 @@ index ba6f9b334073..59ea701ecfe0 100644 } #ifdef CONFIG_MEMORY_HOTREMOVE --- -2.36.1 - diff --git a/debian/patches-rt/0077-mm-swap-Convert-to-percpu-locked.patch b/debian/patches-rt/0077-mm-swap-Convert-to-percpu-locked.patch index a2925871b..46e35b420 100644 --- a/debian/patches-rt/0077-mm-swap-Convert-to-percpu-locked.patch +++ b/debian/patches-rt/0077-mm-swap-Convert-to-percpu-locked.patch @@ -1,8 +1,7 @@ -From cba209957a582e2758768ae3c7e5be17d11fc94a Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:51 -0500 -Subject: [PATCH 077/347] mm/swap: Convert to percpu locked -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 077/342] mm/swap: Convert to percpu locked +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=40bb64bdb9f08a966387ce191c13d6042c979062 Replace global locks (get_cpu + local_irq_save) with "local_locks()". Currently there is one of for "rotate" and one for "swap". @@ -206,6 +205,3 @@ index 45fdbfb6b2a6..92f994b962f0 100644 } #ifdef CONFIG_SMP --- -2.36.1 - diff --git a/debian/patches-rt/0078-mm-perform-lru_add_drain_all-remotely.patch b/debian/patches-rt/0078-mm-perform-lru_add_drain_all-remotely.patch index 0983e2795..1c1bc4128 100644 --- a/debian/patches-rt/0078-mm-perform-lru_add_drain_all-remotely.patch +++ b/debian/patches-rt/0078-mm-perform-lru_add_drain_all-remotely.patch @@ -1,8 +1,7 @@ -From 9336f220ffe2a225210342f5977ec2636ffc8717 Mon Sep 17 00:00:00 2001 From: Luiz Capitulino <lcapitulino@redhat.com> Date: Fri, 27 May 2016 15:03:28 +0200 -Subject: [PATCH 078/347] mm: perform lru_add_drain_all() remotely -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 078/342] mm: perform lru_add_drain_all() remotely +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0db71c6d6c532698314525788c98376e43ab8792 lru_add_drain_all() works by scheduling lru_add_drain_cpu() to run on all CPUs that have non-empty LRU pagevecs and then waiting for @@ -104,6 +103,3 @@ index 92f994b962f0..3885645a45ce 100644 mutex_unlock(&lock); } --- -2.36.1 - diff --git a/debian/patches-rt/0079-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch b/debian/patches-rt/0079-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch index 0c7ea39e8..0a244ba6a 100644 --- a/debian/patches-rt/0079-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch +++ b/debian/patches-rt/0079-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch @@ -1,9 +1,8 @@ -From a61a39e63a0af178f57da615a22877b00fee0a58 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:13 -0500 -Subject: [PATCH 079/347] mm/vmstat: Protect per cpu variables with preempt +Subject: [PATCH 079/342] mm/vmstat: Protect per cpu variables with preempt disable on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2f41021e38ad41f3fa1580a7d2562c242d06be06 Disable preemption on -RT for the vmstat code. On vanila the code runs in IRQ-off regions while on -RT it is not. "preempt_disable" ensures that the @@ -140,6 +139,3 @@ index 21e07e71ea2d..ff7c0d08f2b6 100644 } void __dec_zone_page_state(struct page *page, enum zone_stat_item item) --- -2.36.1 - diff --git a/debian/patches-rt/0080-ARM-Initialize-split-page-table-locks-for-vector-pag.patch b/debian/patches-rt/0080-ARM-Initialize-split-page-table-locks-for-vector-pag.patch index d983a6470..e9ce703fa 100644 --- a/debian/patches-rt/0080-ARM-Initialize-split-page-table-locks-for-vector-pag.patch +++ b/debian/patches-rt/0080-ARM-Initialize-split-page-table-locks-for-vector-pag.patch @@ -1,9 +1,8 @@ -From 2056bb928af7ba7036b8d058c0a52a182cd0b9b6 Mon Sep 17 00:00:00 2001 From: Frank Rowand <frank.rowand@am.sony.com> Date: Sat, 1 Oct 2011 18:58:13 -0700 -Subject: [PATCH 080/347] ARM: Initialize split page table locks for vector +Subject: [PATCH 080/342] ARM: Initialize split page table locks for vector page -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=004b09285edbce245a32c7ba47b4c0d1ce080afe Without this patch, ARM can not use SPLIT_PTLOCK_CPUS if PREEMPT_RT_FULL=y because vectors_user_mapping() creates a @@ -71,6 +70,3 @@ index 82ab015bf42b..8d3c7ce34c24 100644 #ifdef CONFIG_KUSER_HELPERS /* * The vectors page is always readable from user space for the --- -2.36.1 - diff --git a/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch b/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch index 4d6e35faa..6636ce493 100644 --- a/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch +++ b/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch @@ -1,8 +1,7 @@ -From 24cc0bd393e472cf081687c51f59d2677a0ca367 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 25 Oct 2012 10:32:35 +0100 -Subject: [PATCH 081/347] mm: Enable SLUB for RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 081/342] mm: Enable SLUB for RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=66a902f49030b2d9bfb39fe4f55b1896c93f213d Avoid the memory allocation in IRQ section @@ -14,7 +13,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> 1 file changed, 6 insertions(+) diff --git a/mm/slub.c b/mm/slub.c -index a5a086ed4493..959ccf873292 100644 +index e9abe4aa5801..ae6ab2cb4fbf 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -3734,6 +3734,11 @@ static void list_slab_objects(struct kmem_cache *s, struct page *page, @@ -37,6 +36,3 @@ index a5a086ed4493..959ccf873292 100644 } /* --- -2.36.1 - diff --git a/debian/patches-rt/0082-slub-Enable-irqs-for-__GFP_WAIT.patch b/debian/patches-rt/0082-slub-Enable-irqs-for-__GFP_WAIT.patch index 05fa462e3..280d17588 100644 --- a/debian/patches-rt/0082-slub-Enable-irqs-for-__GFP_WAIT.patch +++ b/debian/patches-rt/0082-slub-Enable-irqs-for-__GFP_WAIT.patch @@ -1,8 +1,7 @@ -From e2e03d2e904d1df3d1e70dd70d5d939a6f5ccb26 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 9 Jan 2013 12:08:15 +0100 -Subject: [PATCH 082/347] slub: Enable irqs for __GFP_WAIT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 082/342] slub: Enable irqs for __GFP_WAIT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=34456ee6c4c856f7cce8ac33edc699d985d3a9ed SYSTEM_RUNNING might be too late for enabling interrupts. Allocations with GFP_WAIT can happen before that. So use this as an indicator. @@ -13,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mm/slub.c b/mm/slub.c -index 959ccf873292..3b1edb545215 100644 +index ae6ab2cb4fbf..676006f34077 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -1597,10 +1597,17 @@ static struct page *allocate_slab(struct kmem_cache *s, gfp_t flags, int node) @@ -43,6 +42,3 @@ index 959ccf873292..3b1edb545215 100644 local_irq_disable(); if (!page) return NULL; --- -2.36.1 - diff --git a/debian/patches-rt/0083-slub-Disable-SLUB_CPU_PARTIAL.patch b/debian/patches-rt/0083-slub-Disable-SLUB_CPU_PARTIAL.patch index 12eef9aa5..737240239 100644 --- a/debian/patches-rt/0083-slub-Disable-SLUB_CPU_PARTIAL.patch +++ b/debian/patches-rt/0083-slub-Disable-SLUB_CPU_PARTIAL.patch @@ -1,8 +1,7 @@ -From 1a6400867d9fa3d3e0c8d816c8ae5bb10c202e8a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 15 Apr 2015 19:00:47 +0200 -Subject: [PATCH 083/347] slub: Disable SLUB_CPU_PARTIAL -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 083/342] slub: Disable SLUB_CPU_PARTIAL +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3cd2c1912d56bbd633cd7fb9da7e156ec2c8019f |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915 |in_atomic(): 1, irqs_disabled(): 0, pid: 87, name: rcuop/7 @@ -49,6 +48,3 @@ index 1793e8bd71ef..0c912e74ee40 100644 bool "SLUB per cpu partial cache" help Per cpu partial caches accellerate objects allocation and freeing --- -2.36.1 - diff --git a/debian/patches-rt/0084-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch b/debian/patches-rt/0084-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch index ddb288711..a48bfa868 100644 --- a/debian/patches-rt/0084-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch +++ b/debian/patches-rt/0084-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch @@ -1,9 +1,8 @@ -From 6b3d7c229967c2b2c01394e4dadcc8f210d52fa0 Mon Sep 17 00:00:00 2001 From: Yang Shi <yang.shi@windriver.com> Date: Wed, 30 Oct 2013 11:48:33 -0700 -Subject: [PATCH 084/347] mm/memcontrol: Don't call schedule_work_on in +Subject: [PATCH 084/342] mm/memcontrol: Don't call schedule_work_on in preemption disabled context -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1453dc8469e34b538adc7c22d2e33f0c4b017153 The following trace is triggered when running ltp oom test cases: @@ -70,6 +69,3 @@ index f3aa6e6214d5..281d74f86892 100644 mutex_unlock(&percpu_charge_mutex); } --- -2.36.1 - diff --git a/debian/patches-rt/0085-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch b/debian/patches-rt/0085-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch index 8da70c668..c58a81b82 100644 --- a/debian/patches-rt/0085-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch +++ b/debian/patches-rt/0085-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch @@ -1,9 +1,8 @@ -From d5d11c92081bb9edd9eb11cd752a325f8822a0a5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 28 Jan 2015 17:14:16 +0100 -Subject: [PATCH 085/347] mm/memcontrol: Replace local_irq_disable with local +Subject: [PATCH 085/342] mm/memcontrol: Replace local_irq_disable with local locks -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c695d8d84b8950d1dbadfb23f5135d0482c74014 There are a few local_irq_disable() which then take sleeping locks. This patch converts them local locks. @@ -119,6 +118,3 @@ index 281d74f86892..239fec6eac9f 100644 } /** --- -2.36.1 - diff --git a/debian/patches-rt/0086-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch b/debian/patches-rt/0086-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch index a3f158052..5933d34ed 100644 --- a/debian/patches-rt/0086-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch +++ b/debian/patches-rt/0086-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch @@ -1,8 +1,7 @@ -From 7041bc73c6e3c572934b9c42968151577521955e Mon Sep 17 00:00:00 2001 From: Mike Galbraith <umgwanakikbuti@gmail.com> Date: Tue, 22 Mar 2016 11:16:09 +0100 -Subject: [PATCH 086/347] mm/zsmalloc: copy with get_cpu_var() and locking -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 086/342] mm/zsmalloc: copy with get_cpu_var() and locking +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0d02aa51348471acca9af9ec915069b45e1709da get_cpu_var() disables preemption and triggers a might_sleep() splat later. This is replaced with get_locked_var(). @@ -198,6 +197,3 @@ index 4d71356ea66a..50c5c3922b07 100644 migrate_read_unlock(zspage); unpin_tag(handle); --- -2.36.1 - diff --git a/debian/patches-rt/0087-x86-mm-pat-disable-preemption-__split_large_page-aft.patch b/debian/patches-rt/0087-x86-mm-pat-disable-preemption-__split_large_page-aft.patch index 6f9e4c5a0..ef0db33f5 100644 --- a/debian/patches-rt/0087-x86-mm-pat-disable-preemption-__split_large_page-aft.patch +++ b/debian/patches-rt/0087-x86-mm-pat-disable-preemption-__split_large_page-aft.patch @@ -1,9 +1,8 @@ -From 0d3b3e949716c72656373354c9658f523cf369a2 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 11 Dec 2018 21:53:43 +0100 -Subject: [PATCH 087/347] x86/mm/pat: disable preemption __split_large_page() +Subject: [PATCH 087/342] x86/mm/pat: disable preemption __split_large_page() after spin_lock() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ee35c399cafe97f822c232c385f3e5be619dbe9e Commit "x86/mm/pat: Disable preemption around __flush_tlb_all()" added a warning if __flush_tlb_all() is invoked in preemptible context. On !RT @@ -57,6 +56,3 @@ index 101f3ad0d6ad..0b0396261ca1 100644 spin_unlock(&pgd_lock); return 0; --- -2.36.1 - diff --git a/debian/patches-rt/0088-radix-tree-use-local-locks.patch b/debian/patches-rt/0088-radix-tree-use-local-locks.patch index 97af42757..8a8531ebb 100644 --- a/debian/patches-rt/0088-radix-tree-use-local-locks.patch +++ b/debian/patches-rt/0088-radix-tree-use-local-locks.patch @@ -1,8 +1,7 @@ -From af6ad9480a842859f957315fdf189b6ad041a4be Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 25 Jan 2017 16:34:27 +0100 -Subject: [PATCH 088/347] radix-tree: use local locks -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 088/342] radix-tree: use local locks +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=234dfd00f2c617fbc93207317ac69f2dba0bb05a The preload functionality uses per-CPU variables and preempt-disable to ensure that it does not switch CPUs during its usage. This patch adds @@ -171,6 +170,3 @@ index e5cab5c4e383..9309e813bc1f 100644 if (!this_cpu_read(ida_bitmap)) { struct ida_bitmap *bitmap = kzalloc(sizeof(*bitmap), gfp); --- -2.36.1 - diff --git a/debian/patches-rt/0089-timers-Prepare-for-full-preemption.patch b/debian/patches-rt/0089-timers-Prepare-for-full-preemption.patch index 35a649740..8fba12012 100644 --- a/debian/patches-rt/0089-timers-Prepare-for-full-preemption.patch +++ b/debian/patches-rt/0089-timers-Prepare-for-full-preemption.patch @@ -1,8 +1,7 @@ -From 413cdf16e5561fbf143c28525fe70c1fd441a624 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:34 -0500 -Subject: [PATCH 089/347] timers: Prepare for full preemption -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 089/342] timers: Prepare for full preemption +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6e530eb3ecf4c019b3d4a2b5f00c0dcd295c741f When softirqs can be preempted we need to make sure that cancelling the timer from the active thread can not deadlock vs. a running timer @@ -171,6 +170,3 @@ index a6e88d9bb931..0043bf8e2c90 100644 } } --- -2.36.1 - diff --git a/debian/patches-rt/0090-x86-kvm-Require-const-tsc-for-RT.patch b/debian/patches-rt/0090-x86-kvm-Require-const-tsc-for-RT.patch index f748cb9d8..1f8082f04 100644 --- a/debian/patches-rt/0090-x86-kvm-Require-const-tsc-for-RT.patch +++ b/debian/patches-rt/0090-x86-kvm-Require-const-tsc-for-RT.patch @@ -1,8 +1,7 @@ -From 53f33d36d7741754ec7b7f2e4a0c62faa30d6902 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 6 Nov 2011 12:26:18 +0100 -Subject: [PATCH 090/347] x86: kvm Require const tsc for RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 090/342] x86: kvm Require const tsc for RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6a78a1abd53560fa236781a743b6991f1d2115c5 Non constant TSC is a nightmare on bare metal already, but with virtualization it becomes a complete disaster because the workarounds @@ -15,10 +14,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 1 file changed, 7 insertions(+) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index 417abc9ba1ad..9829e0fbdd41 100644 +index be4697d91bb2..11391b7ace1e 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c -@@ -6875,6 +6875,13 @@ int kvm_arch_init(void *opaque) +@@ -6879,6 +6879,13 @@ int kvm_arch_init(void *opaque) goto out; } @@ -32,6 +31,3 @@ index 417abc9ba1ad..9829e0fbdd41 100644 r = kvm_mmu_module_init(); if (r) goto out_free_percpu; --- -2.36.1 - diff --git a/debian/patches-rt/0091-pci-switchtec-Don-t-use-completion-s-wait-queue.patch b/debian/patches-rt/0091-pci-switchtec-Don-t-use-completion-s-wait-queue.patch index c42b306c1..9b54f7f8b 100644 --- a/debian/patches-rt/0091-pci-switchtec-Don-t-use-completion-s-wait-queue.patch +++ b/debian/patches-rt/0091-pci-switchtec-Don-t-use-completion-s-wait-queue.patch @@ -1,8 +1,7 @@ -From aec60cbb460a43de9b530e8b08d24c032292c210 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 4 Oct 2017 10:24:23 +0200 -Subject: [PATCH 091/347] pci/switchtec: Don't use completion's wait queue -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 091/342] pci/switchtec: Don't use completion's wait queue +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bc4efd9eda261dc33bbd4879e5372415434f2b73 The poll callback is using completion's wait_queue_head_t member and puts it in poll_wait() so the poll() caller gets a wakeup after command @@ -110,6 +109,3 @@ index 291c0074ad6f..a8df847bedee 100644 list_del_init(&stuser->list); stuser_put(stuser); } --- -2.36.1 - diff --git a/debian/patches-rt/0092-wait.h-include-atomic.h.patch b/debian/patches-rt/0092-wait.h-include-atomic.h.patch index 03bf6c567..c41af172e 100644 --- a/debian/patches-rt/0092-wait.h-include-atomic.h.patch +++ b/debian/patches-rt/0092-wait.h-include-atomic.h.patch @@ -1,11 +1,10 @@ -From d06c78959ab56d0307d0d41aa75324ab707d0ca3 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 28 Oct 2013 12:19:57 +0100 -Subject: [PATCH 092/347] wait.h: include atomic.h +Subject: [PATCH 092/342] wait.h: include atomic.h 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c5650d84f71a6e552239a8cb37bfd4c4f71c3694 | CC init/main.o |In file included from include/linux/mmzone.h:9:0, @@ -37,6 +36,3 @@ index 1d726d79063c..189da6e44756 100644 typedef struct wait_queue_entry wait_queue_entry_t; --- -2.36.1 - diff --git a/debian/patches-rt/0093-work-simple-Simple-work-queue-implemenation.patch b/debian/patches-rt/0093-work-simple-Simple-work-queue-implemenation.patch index 4c0335469..9e5fcdae8 100644 --- a/debian/patches-rt/0093-work-simple-Simple-work-queue-implemenation.patch +++ b/debian/patches-rt/0093-work-simple-Simple-work-queue-implemenation.patch @@ -1,8 +1,7 @@ -From fd404eb0247d5c8b5574eb138485984a7e7568ef Mon Sep 17 00:00:00 2001 From: Daniel Wagner <daniel.wagner@bmw-carit.de> Date: Fri, 11 Jul 2014 15:26:11 +0200 -Subject: [PATCH 093/347] work-simple: Simple work queue implemenation -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 093/342] work-simple: Simple work queue implemenation +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1db798e94e6356004af3d7f40120bfa1d3085575 Provides a framework for enqueuing callbacks from irq context PREEMPT_RT_FULL safe. The callbacks are executed in kthread context. @@ -241,6 +240,3 @@ index 000000000000..a5b89fdacf19 + mutex_unlock(&worker_mutex); +} +EXPORT_SYMBOL_GPL(swork_put); --- -2.36.1 - diff --git a/debian/patches-rt/0094-work-simple-drop-a-shit-statement-in-SWORK_EVENT_PEN.patch b/debian/patches-rt/0094-work-simple-drop-a-shit-statement-in-SWORK_EVENT_PEN.patch index 873809a1b..870364e7c 100644 --- a/debian/patches-rt/0094-work-simple-drop-a-shit-statement-in-SWORK_EVENT_PEN.patch +++ b/debian/patches-rt/0094-work-simple-drop-a-shit-statement-in-SWORK_EVENT_PEN.patch @@ -1,9 +1,8 @@ -From eb5624af6c4a8461799304ee91b9d0fe34acfcb2 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 10 Sep 2018 18:00:31 +0200 -Subject: [PATCH 094/347] work-simple: drop a shit statement in +Subject: [PATCH 094/342] work-simple: drop a shit statement in SWORK_EVENT_PENDING -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0792de6350ded4bfe1e75e38094d9a96714f2345 Dan Carpenter reported | smatch warnings: @@ -32,6 +31,3 @@ index a5b89fdacf19..c90d14b9b126 100644 static DEFINE_MUTEX(worker_mutex); static struct sworker *glob_worker; --- -2.36.1 - diff --git a/debian/patches-rt/0095-completion-Use-simple-wait-queues.patch b/debian/patches-rt/0095-completion-Use-simple-wait-queues.patch index 34be7740f..03ed158d5 100644 --- a/debian/patches-rt/0095-completion-Use-simple-wait-queues.patch +++ b/debian/patches-rt/0095-completion-Use-simple-wait-queues.patch @@ -1,8 +1,7 @@ -From 6a60230ca64d58b651171ad00c84b251a7fd2046 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 11 Jan 2013 11:23:51 +0100 -Subject: [PATCH 095/347] completion: Use simple wait queues -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 095/342] completion: Use simple wait queues +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2d23a63b2ce2dac0f15ecccec672b163dc974c1b Completions have no long lasting callbacks and therefor do not need the complex waitqueue variant. Use simple waitqueues which reduces the @@ -386,6 +385,3 @@ index 66b59ac77c22..c7cb30cdd1b7 100644 { wait->task = current; if (list_empty(&wait->task_list)) --- -2.36.1 - diff --git a/debian/patches-rt/0096-fs-aio-simple-simple-work.patch b/debian/patches-rt/0096-fs-aio-simple-simple-work.patch index 3ac3a9d89..862846974 100644 --- a/debian/patches-rt/0096-fs-aio-simple-simple-work.patch +++ b/debian/patches-rt/0096-fs-aio-simple-simple-work.patch @@ -1,8 +1,7 @@ -From ccc2aded5c27d9bb441bcbe15f50369c098d4440 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 16 Feb 2015 18:49:10 +0100 -Subject: [PATCH 096/347] fs/aio: simple simple work -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 096/342] fs/aio: simple simple work +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4617d96a1bbab94f3bcd001e87d8180e39423e14 |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:768 |in_atomic(): 1, irqs_disabled(): 0, pid: 26, name: rcuos/2 @@ -84,6 +83,3 @@ index 9635c29b83da..21eacb0f3f56 100644 static int ioctx_add_table(struct kioctx *ctx, struct mm_struct *mm) { unsigned i, new_nr; --- -2.36.1 - diff --git a/debian/patches-rt/0097-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch b/debian/patches-rt/0097-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch index c3dd3b73e..0ecc12bf9 100644 --- a/debian/patches-rt/0097-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch +++ b/debian/patches-rt/0097-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch @@ -1,9 +1,8 @@ -From 97abf968e205dd81621ca60a59060f3eda0c7081 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 15 Nov 2017 17:29:51 +0100 -Subject: [PATCH 097/347] time/hrtimer: avoid schedule_work() with interrupts +Subject: [PATCH 097/342] time/hrtimer: avoid schedule_work() with interrupts disabled -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=aedfbca1bdb44eeadb289b485e48abe2fb8f387c The NOHZ code tries to schedule a workqueue with interrupts disabled. Since this does not work -RT I am switching it to swork instead. @@ -55,6 +54,3 @@ index 0043bf8e2c90..3cb79167852f 100644 int timer_migration_handler(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos) --- -2.36.1 - diff --git a/debian/patches-rt/0098-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch b/debian/patches-rt/0098-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch index 997af2fb1..fcc2e35a7 100644 --- a/debian/patches-rt/0098-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch +++ b/debian/patches-rt/0098-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch @@ -1,9 +1,8 @@ -From 4b2913d980738fe5078dd581af6d6183c40a0616 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 3 Jul 2018 11:25:41 +0200 -Subject: [PATCH 098/347] hrtimer: consolidate hrtimer_init() + +Subject: [PATCH 098/342] hrtimer: consolidate hrtimer_init() + hrtimer_init_sleeper() calls -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=07da73a0fed15ec8893cb1866155b59c290a3238 hrtimer_init_sleeper() calls require a prior initialisation of the hrtimer object with hrtimer_init(). Lets make the initialisation of @@ -285,6 +284,3 @@ index 3714cd9e3111..2cea192b1475 100644 do { set_current_state(TASK_INTERRUPTIBLE); hrtimer_start_expires(&t.timer, HRTIMER_MODE_ABS); --- -2.36.1 - diff --git a/debian/patches-rt/0099-hrtimers-Prepare-full-preemption.patch b/debian/patches-rt/0099-hrtimers-Prepare-full-preemption.patch index 897f91d52..8883a33f1 100644 --- a/debian/patches-rt/0099-hrtimers-Prepare-full-preemption.patch +++ b/debian/patches-rt/0099-hrtimers-Prepare-full-preemption.patch @@ -1,8 +1,7 @@ -From a5aed5c2dd54bdd010ed396577c328505028990d Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:34 -0500 -Subject: [PATCH 099/347] hrtimers: Prepare full preemption -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 099/342] hrtimers: Prepare full preemption +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ff266a71965e444605aee13d7b449196b60a9cb6 Make cancellation of a running callback in softirq context safe against preemption. @@ -285,6 +284,3 @@ index 48758108e055..2cf5aa704106 100644 goto retry_delete; } list_del(&timer->list); --- -2.36.1 - diff --git a/debian/patches-rt/0100-hrtimer-by-timers-by-default-into-the-softirq-contex.patch b/debian/patches-rt/0100-hrtimer-by-timers-by-default-into-the-softirq-contex.patch index 1b924bac1..06a7570b8 100644 --- a/debian/patches-rt/0100-hrtimer-by-timers-by-default-into-the-softirq-contex.patch +++ b/debian/patches-rt/0100-hrtimer-by-timers-by-default-into-the-softirq-contex.patch @@ -1,9 +1,8 @@ -From 8a7e45b02f567fa32754c24195d5c0d095069685 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 3 Jul 2009 08:44:31 -0500 -Subject: [PATCH 100/347] hrtimer: by timers by default into the softirq +Subject: [PATCH 100/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f68468a5cbe2c273bed160e13102b7ed2a2dc653 We can't have hrtimers callbacks running in hardirq context on RT. Therefore the timers are deferred to the softirq context by default. @@ -66,7 +65,7 @@ index 8714f1a37d84..082147c07831 100644 /* diff --git a/kernel/events/core.c b/kernel/events/core.c -index 88dd1398ae88..7f2441f671d3 100644 +index ba66ea3ca705..11e9bbad4878 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -1108,7 +1108,7 @@ static void __perf_mux_hrtimer_init(struct perf_cpu_context *cpuctx, int cpu) @@ -232,6 +231,3 @@ index 6d60701dc636..328620fe85f6 100644 hrtimer->function = watchdog_timer_fn; hrtimer_start(hrtimer, ns_to_ktime(sample_period), HRTIMER_MODE_REL_PINNED); --- -2.36.1 - diff --git a/debian/patches-rt/0101-sched-fair-Make-the-hrtimers-non-hard-again.patch b/debian/patches-rt/0101-sched-fair-Make-the-hrtimers-non-hard-again.patch index 5e4c29b6b..f80f74104 100644 --- a/debian/patches-rt/0101-sched-fair-Make-the-hrtimers-non-hard-again.patch +++ b/debian/patches-rt/0101-sched-fair-Make-the-hrtimers-non-hard-again.patch @@ -1,8 +1,7 @@ -From 79daa2a0bfdb433f8f4dfb8fe3b3652199bf7cb8 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 8 Jan 2019 12:31:06 +0100 -Subject: [PATCH 101/347] sched/fair: Make the hrtimers non-hard again -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 101/342] sched/fair: Make the hrtimers non-hard again +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=90e4dd88198300e2cff6390921e007f8c9b65cd2 Since commit "sched/fair: Robustify CFS-bandwidth timer locking" both hrtimer can run in softirq context because now interrupts are disabled @@ -29,6 +28,3 @@ index d804b5443bb9..16940416d526 100644 cfs_b->slack_timer.function = sched_cfs_slack_timer; cfs_b->distribute_running = 0; } --- -2.36.1 - diff --git a/debian/patches-rt/0102-hrtimer-Move-schedule_work-call-to-helper-thread.patch b/debian/patches-rt/0102-hrtimer-Move-schedule_work-call-to-helper-thread.patch index 59bec99cb..1090eca9f 100644 --- a/debian/patches-rt/0102-hrtimer-Move-schedule_work-call-to-helper-thread.patch +++ b/debian/patches-rt/0102-hrtimer-Move-schedule_work-call-to-helper-thread.patch @@ -1,8 +1,7 @@ -From da39809d4f91a8c4a41fdf3f17fc892dc71dd9ae Mon Sep 17 00:00:00 2001 From: Yang Shi <yang.shi@windriver.com> Date: Mon, 16 Sep 2013 14:09:19 -0700 -Subject: [PATCH 102/347] hrtimer: Move schedule_work call to helper thread -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 102/342] hrtimer: Move schedule_work call to helper thread +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fb8fb1f4b937d13140f8318d40aa918bb3d56c6a When run ltp leapsec_timer test, the following call trace is caught: @@ -93,6 +92,3 @@ index e947f3b344ac..0833e5cf224d 100644 #else --- -2.36.1 - diff --git a/debian/patches-rt/0103-hrtimer-move-state-change-before-hrtimer_cancel-in-d.patch b/debian/patches-rt/0103-hrtimer-move-state-change-before-hrtimer_cancel-in-d.patch index d93342369..1f6332c5b 100644 --- a/debian/patches-rt/0103-hrtimer-move-state-change-before-hrtimer_cancel-in-d.patch +++ b/debian/patches-rt/0103-hrtimer-move-state-change-before-hrtimer_cancel-in-d.patch @@ -1,9 +1,8 @@ -From baa58a4f1714630ef1a780575a907b4f80344e19 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 6 Dec 2018 10:15:13 +0100 -Subject: [PATCH 103/347] hrtimer: move state change before hrtimer_cancel in +Subject: [PATCH 103/342] hrtimer: move state change before hrtimer_cancel in do_nanosleep() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=caa78d03cd12d437e13c46990f9bbf0d5e4213a2 There is a small window between setting t->task to NULL and waking the task up (which would set TASK_RUNNING). So the timer would fire, run and @@ -46,6 +45,3 @@ index 0833e5cf224d..009001f06d33 100644 if (!t->task) return 0; --- -2.36.1 - diff --git a/debian/patches-rt/0104-posix-timers-Thread-posix-cpu-timers-on-rt.patch b/debian/patches-rt/0104-posix-timers-Thread-posix-cpu-timers-on-rt.patch index 36a78b986..cfb97e0ec 100644 --- a/debian/patches-rt/0104-posix-timers-Thread-posix-cpu-timers-on-rt.patch +++ b/debian/patches-rt/0104-posix-timers-Thread-posix-cpu-timers-on-rt.patch @@ -1,8 +1,7 @@ -From 59ac8673b0cb63baa55b3058ba0cb36ecb14a9d7 Mon Sep 17 00:00:00 2001 From: John Stultz <johnstul@us.ibm.com> Date: Fri, 3 Jul 2009 08:29:58 -0500 -Subject: [PATCH 104/347] posix-timers: Thread posix-cpu-timers on -rt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 104/342] posix-timers: Thread posix-cpu-timers on -rt +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b9fccc98390795269e7eadabb5d45da878152469 posix-cpu-timer code takes non -rt safe locks in hard irq context. Move it to a thread. @@ -264,6 +263,3 @@ index bfaa44a80c03..2d29b269dc83 100644 /* * Set one of the process-wide special case CPU timers or RLIMIT_CPU. * The tsk->sighand->siglock must be held by the caller. --- -2.36.1 - diff --git a/debian/patches-rt/0105-sched-Move-task_struct-cleanup-to-RCU.patch b/debian/patches-rt/0105-sched-Move-task_struct-cleanup-to-RCU.patch index 8883673e8..35ae45e9c 100644 --- a/debian/patches-rt/0105-sched-Move-task_struct-cleanup-to-RCU.patch +++ b/debian/patches-rt/0105-sched-Move-task_struct-cleanup-to-RCU.patch @@ -1,8 +1,7 @@ -From 6b5806854133faa2eda014a6553665c6fa393d5e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 31 May 2011 16:59:16 +0200 -Subject: [PATCH 105/347] sched: Move task_struct cleanup to RCU -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 105/342] sched: Move task_struct cleanup to RCU +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=db20a0cee5b392d2b8ed3c4190f110cb0bb4190f __put_task_struct() does quite some expensive work. We don't want to burden random tasks with that. @@ -91,6 +90,3 @@ index c27c196fd70e..f5a4c42233f0 100644 void __init __weak arch_task_cache_init(void) { } --- -2.36.1 - diff --git a/debian/patches-rt/0106-sched-Limit-the-number-of-task-migrations-per-batch.patch b/debian/patches-rt/0106-sched-Limit-the-number-of-task-migrations-per-batch.patch index 7c34d3924..9be17c7d6 100644 --- a/debian/patches-rt/0106-sched-Limit-the-number-of-task-migrations-per-batch.patch +++ b/debian/patches-rt/0106-sched-Limit-the-number-of-task-migrations-per-batch.patch @@ -1,8 +1,7 @@ -From 6447e629affa080b84d75e0f685848104a5601ee Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 6 Jun 2011 12:12:51 +0200 -Subject: [PATCH 106/347] sched: Limit the number of task migrations per batch -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 106/342] sched: Limit the number of task migrations per batch +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f99e05418d4105ecba282a7b0f8213164425f903 Put an upper limit on the number of tasks which are migrated per batch to avoid large latencies. @@ -28,6 +27,3 @@ index 0f949b7738fd..4cc39856c4c6 100644 /* * period over which we measure -rt task CPU usage in us. --- -2.36.1 - diff --git a/debian/patches-rt/0107-sched-Move-mmdrop-to-RCU-on-RT.patch b/debian/patches-rt/0107-sched-Move-mmdrop-to-RCU-on-RT.patch index 9c6b2f686..c0c665ee2 100644 --- a/debian/patches-rt/0107-sched-Move-mmdrop-to-RCU-on-RT.patch +++ b/debian/patches-rt/0107-sched-Move-mmdrop-to-RCU-on-RT.patch @@ -1,8 +1,7 @@ -From 977952ae9f00231e71587f8dc135949a2bed15e2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 6 Jun 2011 12:20:33 +0200 -Subject: [PATCH 107/347] sched: Move mmdrop to RCU on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 107/342] sched: Move mmdrop to RCU on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8de90b6c82e68a3d721e0eab2caedb37ba27386a Takes sleeping locks and calls into the memory allocator, so nothing we want to do in task switch and oder atomic contexts. @@ -110,6 +109,3 @@ index 4cc39856c4c6..676b9b213991 100644 /* * Ensure that the idle task is using init_mm right before its CPU goes * offline. --- -2.36.1 - diff --git a/debian/patches-rt/0108-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch b/debian/patches-rt/0108-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch index da1b8eee6..b5ae2dbe7 100644 --- a/debian/patches-rt/0108-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch +++ b/debian/patches-rt/0108-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch @@ -1,9 +1,8 @@ -From 3028eeca5a3657762aa36512dac687f987462a80 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 21 Nov 2016 19:31:08 +0100 -Subject: [PATCH 108/347] kernel/sched: move stack + kprobe clean up to +Subject: [PATCH 108/342] kernel/sched: move stack + kprobe clean up to __put_task_struct() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3dd0ebab3223ff2fcf7a12a1ee3bf1ad46d17b85 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 @@ -65,6 +64,3 @@ index 676b9b213991..089779e18440 100644 put_task_struct(prev); } --- -2.36.1 - diff --git a/debian/patches-rt/0109-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch b/debian/patches-rt/0109-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch index f8b1532fb..0340f4f44 100644 --- a/debian/patches-rt/0109-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch +++ b/debian/patches-rt/0109-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch @@ -1,9 +1,8 @@ -From 84facacc5994009491bb74f5bee0c8399540c9b5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jun 2011 09:21:04 +0200 -Subject: [PATCH 109/347] sched: Add saved_state for tasks blocked on sleeping +Subject: [PATCH 109/342] sched: Add saved_state for tasks blocked on sleeping locks -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2b049915c871102cb82a98f65f734bdf7963f933 Spinlocks are state preserving in !RT. RT changes the state when a task gets blocked on a lock. So we need to remember the state before @@ -103,6 +102,3 @@ index 55e695080fc6..637c408fb2dc 100644 /* * To aid in avoiding the subversion of "niceness" due to uneven distribution --- -2.36.1 - diff --git a/debian/patches-rt/0110-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch b/debian/patches-rt/0110-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch index f7f28c137..9d2a2a801 100644 --- a/debian/patches-rt/0110-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch +++ b/debian/patches-rt/0110-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch @@ -1,9 +1,8 @@ -From f56cb07175c10678a26521bb7be0f493ffd5d544 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 7 Jun 2011 09:19:06 +0200 -Subject: [PATCH 110/347] sched: Do not account rcu_preempt_depth on RT in +Subject: [PATCH 110/342] sched: Do not account rcu_preempt_depth on RT in might_sleep() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=46c7e6ef6b0afa0ef14f78ebafb0de5027ff2a1a RT changes the rcu_preempt_depth semantics, so we cannot check for it in might_sleep(). @@ -52,6 +51,3 @@ index 3ec69104d0e0..52e821ac5872 100644 return (nested == preempt_offset); } --- -2.36.1 - diff --git a/debian/patches-rt/0111-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch b/debian/patches-rt/0111-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch index eccb1e428..02abd27d7 100644 --- a/debian/patches-rt/0111-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch +++ b/debian/patches-rt/0111-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch @@ -1,8 +1,7 @@ -From 5c317385aa997812acc4dd102c34f7d843bd7eb6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 17 Jul 2011 22:51:33 +0200 -Subject: [PATCH 111/347] sched: Use the proper LOCK_OFFSET for cond_resched() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 111/342] sched: Use the proper LOCK_OFFSET for cond_resched() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ad711b8b50c3ec2c9eb719a8dd713462e9480baa RT does not increment preempt count when a 'sleeping' spinlock is locked. Update PREEMPT_LOCK_OFFSET for that case. @@ -28,6 +27,3 @@ index f7a17fcc3fec..b7fe717eb1f4 100644 /* * The preempt_count offset needed for things like: --- -2.36.1 - diff --git a/debian/patches-rt/0112-sched-Disable-TTWU_QUEUE-on-RT.patch b/debian/patches-rt/0112-sched-Disable-TTWU_QUEUE-on-RT.patch index 8e44536b2..0cc8404ca 100644 --- a/debian/patches-rt/0112-sched-Disable-TTWU_QUEUE-on-RT.patch +++ b/debian/patches-rt/0112-sched-Disable-TTWU_QUEUE-on-RT.patch @@ -1,8 +1,7 @@ -From 31cdcd445b6fbf09238e8e3a25c2dd72be0bb187 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 13 Sep 2011 16:42:35 +0200 -Subject: [PATCH 112/347] sched: Disable TTWU_QUEUE on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 112/342] sched: Disable TTWU_QUEUE on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c761744fc89f74ee4646f732e2f7589faa095af3 The queued remote wakeup mechanism can introduce rather large latencies if the number of migrated tasks is high. Disable it for RT. @@ -33,6 +32,3 @@ index 85ae8488039c..68de18405857 100644 /* * When doing wakeups, attempt to limit superfluous scans of the LLC domain. --- -2.36.1 - diff --git a/debian/patches-rt/0113-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch b/debian/patches-rt/0113-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch index e02a45c7e..cac51e0af 100644 --- a/debian/patches-rt/0113-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch +++ b/debian/patches-rt/0113-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch @@ -1,9 +1,8 @@ -From 495d970d1b7c60361c296ff0e613787355a1cbd3 Mon Sep 17 00:00:00 2001 From: Steven Rostedt <rostedt@goodmis.org> Date: Mon, 18 Mar 2013 15:12:49 -0400 -Subject: [PATCH 113/347] sched/workqueue: Only wake up idle workers if not +Subject: [PATCH 113/342] sched/workqueue: Only wake up idle workers if not blocked on sleeping spin lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=317447a5b3d776b6cfd3c4c98050fcd97322e4d8 In -rt, most spin_locks() turn into mutexes. One of these spin_lock conversions is performed on the workqueue gcwq->lock. When the idle @@ -40,6 +39,3 @@ index 52e821ac5872..dadf92046f01 100644 struct task_struct *to_wakeup; to_wakeup = wq_worker_sleeping(prev); --- -2.36.1 - diff --git a/debian/patches-rt/0114-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch b/debian/patches-rt/0114-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch index 16febe92b..40b318eb7 100644 --- a/debian/patches-rt/0114-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch +++ b/debian/patches-rt/0114-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch @@ -1,9 +1,8 @@ -From fbd999856a435086bb3dced2d54c5ece42c00fd6 Mon Sep 17 00:00:00 2001 From: Daniel Bristot de Oliveira <bristot@redhat.com> Date: Mon, 26 Jun 2017 17:07:15 +0200 -Subject: [PATCH 114/347] rt: Increase/decrease the nr of migratory tasks when +Subject: [PATCH 114/342] rt: Increase/decrease the nr of migratory tasks when enabling/disabling migration -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7cec25c101288e60f1ff32098dcf7f6ddb34cce0 There is a problem in the migrate_disable()/enable() implementation regarding the number of migratory tasks in the rt/dl RQs. The problem @@ -157,6 +156,3 @@ index dadf92046f01..ba6f445ac9e8 100644 if (p->migrate_disable_update) { struct rq *rq; --- -2.36.1 - diff --git a/debian/patches-rt/0115-hotplug-Lightweight-get-online-cpus.patch b/debian/patches-rt/0115-hotplug-Lightweight-get-online-cpus.patch index 5561bbcf7..dce52eae4 100644 --- a/debian/patches-rt/0115-hotplug-Lightweight-get-online-cpus.patch +++ b/debian/patches-rt/0115-hotplug-Lightweight-get-online-cpus.patch @@ -1,8 +1,7 @@ -From bf07bc52ad387c3cec5179aac1a8a08bfe0e24f7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 15 Jun 2011 12:36:06 +0200 -Subject: [PATCH 115/347] hotplug: Lightweight get online cpus -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 115/342] hotplug: Lightweight get online cpus +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9830fd079687f2127d5cfc53c16f8d4d0e1cfb19 get_online_cpus() is a heavy weight function which involves a global mutex. migrate_disable() wants a simpler construct which prevents only @@ -20,10 +19,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 3 files changed, 24 insertions(+) diff --git a/include/linux/cpu.h b/include/linux/cpu.h -index aab4273810e3..e67645924404 100644 +index 8cc06e1d4fc2..a3c246214d28 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h -@@ -118,6 +118,8 @@ extern void cpu_hotplug_disable(void); +@@ -122,6 +122,8 @@ extern void cpu_hotplug_disable(void); extern void cpu_hotplug_enable(void); void clear_tasks_mm_cpumask(int cpu); int cpu_down(unsigned int cpu); @@ -32,7 +31,7 @@ index aab4273810e3..e67645924404 100644 #else /* CONFIG_HOTPLUG_CPU */ -@@ -129,6 +131,9 @@ static inline int cpus_read_trylock(void) { return true; } +@@ -133,6 +135,9 @@ static inline int cpus_read_trylock(void) { return true; } static inline void lockdep_assert_cpus_held(void) { } static inline void cpu_hotplug_disable(void) { } static inline void cpu_hotplug_enable(void) { } @@ -43,10 +42,10 @@ index aab4273810e3..e67645924404 100644 /* Wrappers which go away once all code is converted */ diff --git a/kernel/cpu.c b/kernel/cpu.c -index d6fd362afc81..89a96cc14b39 100644 +index c9ca190ec034..f4c49bbc3fa3 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -283,6 +283,21 @@ static int cpu_hotplug_disabled; +@@ -284,6 +284,21 @@ static int cpu_hotplug_disabled; #ifdef CONFIG_HOTPLUG_CPU @@ -96,6 +95,3 @@ index ba6f445ac9e8..ed79f921a84e 100644 preempt_enable(); } EXPORT_SYMBOL(migrate_enable); --- -2.36.1 - diff --git a/debian/patches-rt/0116-trace-Add-migrate-disabled-counter-to-tracing-output.patch b/debian/patches-rt/0116-trace-Add-migrate-disabled-counter-to-tracing-output.patch index 9f41d515a..26dc37a7e 100644 --- a/debian/patches-rt/0116-trace-Add-migrate-disabled-counter-to-tracing-output.patch +++ b/debian/patches-rt/0116-trace-Add-migrate-disabled-counter-to-tracing-output.patch @@ -1,8 +1,7 @@ -From 54b651a215692cc3d5d07f69dd37f1c3eb1ee353 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 17 Jul 2011 21:56:42 +0200 -Subject: [PATCH 116/347] trace: Add migrate-disabled counter to tracing output -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 116/342] trace: Add migrate-disabled counter to tracing output +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5252ba8da88a7390c388073a08dcc5eba3206046 Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- @@ -26,7 +25,7 @@ index 0643c083ed86..1cc4d2da954c 100644 #define TRACE_EVENT_TYPE_MAX \ diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index 063b434c89d2..2a8b830d42f1 100644 +index 5b7a6e9b0ab6..5cb37fa71316 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -2165,6 +2165,8 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags, @@ -81,6 +80,3 @@ index 6e6cc64faa38..46c96744f09d 100644 return !trace_seq_has_overflowed(s); } --- -2.36.1 - diff --git a/debian/patches-rt/0117-lockdep-Make-it-RT-aware.patch b/debian/patches-rt/0117-lockdep-Make-it-RT-aware.patch index 445f08b7b..edeec8c3e 100644 --- a/debian/patches-rt/0117-lockdep-Make-it-RT-aware.patch +++ b/debian/patches-rt/0117-lockdep-Make-it-RT-aware.patch @@ -1,8 +1,7 @@ -From 847045ea96b917f8dab8df5053e66280a83c84e4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 17 Jul 2011 18:51:23 +0200 -Subject: [PATCH 117/347] lockdep: Make it RT aware -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 117/342] lockdep: Make it RT aware +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3079bca07ad3f83c30c86e9542e7edb1c7f2ed70 teach lockdep that we don't really do softirqs on -RT. @@ -73,6 +72,3 @@ index 4dc79f57af82..4dd83428b56d 100644 if (!debug_locks) print_irqtrace_events(current); --- -2.36.1 - diff --git a/debian/patches-rt/0118-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch b/debian/patches-rt/0118-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch index 2885b4101..6c3880cdb 100644 --- a/debian/patches-rt/0118-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch +++ b/debian/patches-rt/0118-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch @@ -1,9 +1,8 @@ -From ff4b7bd98df1b1100237e3ac2f11c687a486c18b Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Tue, 29 Nov 2011 20:18:22 -0500 -Subject: [PATCH 118/347] tasklet: Prevent tasklets from going into infinite +Subject: [PATCH 118/342] tasklet: Prevent tasklets from going into infinite spin in RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e11d4ceb7976f9f4bb42ed76c972b28cc32c295f When CONFIG_PREEMPT_RT_FULL is enabled, tasklets run as threads, and spinlocks turn are mutexes. But this can cause issues with @@ -298,6 +297,3 @@ index 6f584861d329..1d3a482246cc 100644 static int ksoftirqd_should_run(unsigned int cpu) { return local_softirq_pending(); --- -2.36.1 - diff --git a/debian/patches-rt/0119-softirq-Check-preemption-after-reenabling-interrupts.patch b/debian/patches-rt/0119-softirq-Check-preemption-after-reenabling-interrupts.patch index fbf761018..c12437f64 100644 --- a/debian/patches-rt/0119-softirq-Check-preemption-after-reenabling-interrupts.patch +++ b/debian/patches-rt/0119-softirq-Check-preemption-after-reenabling-interrupts.patch @@ -1,8 +1,7 @@ -From 45feb7680d31346f7a6da9926cdb23a37b640f47 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 13 Nov 2011 17:17:09 +0100 -Subject: [PATCH 119/347] softirq: Check preemption after reenabling interrupts -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 119/342] softirq: Check preemption after reenabling interrupts +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2c36de62cf384d49f3a0f23f7502b17c1be03ceb raise_softirq_irqoff() disables interrupts and wakes the softirq daemon, but after reenabling interrupts there is no preemption check, @@ -175,6 +174,3 @@ index 42f6ff8b9703..b8e3ae050bcc 100644 #ifdef CONFIG_RPS remsd = oldsd->rps_ipi_list; --- -2.36.1 - diff --git a/debian/patches-rt/0120-softirq-Disable-softirq-stacks-for-RT.patch b/debian/patches-rt/0120-softirq-Disable-softirq-stacks-for-RT.patch index 3c4ba7e3e..458995fb2 100644 --- a/debian/patches-rt/0120-softirq-Disable-softirq-stacks-for-RT.patch +++ b/debian/patches-rt/0120-softirq-Disable-softirq-stacks-for-RT.patch @@ -1,8 +1,7 @@ -From 7e198889f2947f9bfeecdda6955492f55399a621 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 18 Jul 2011 13:59:17 +0200 -Subject: [PATCH 120/347] softirq: Disable softirq stacks for RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 120/342] softirq: Disable softirq stacks for RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=accf186584b07cb6c604b5f165381367dad68b9e Disable extra stacks for softirqs. We want to preempt softirqs and having them on special IRQ-stack does not make this easier. @@ -172,6 +171,3 @@ index 35fa335c475b..eec4bec454b5 100644 void do_softirq_own_stack(void); #else static inline void do_softirq_own_stack(void) --- -2.36.1 - diff --git a/debian/patches-rt/0121-softirq-Split-softirq-locks.patch b/debian/patches-rt/0121-softirq-Split-softirq-locks.patch index e3aeafa1d..1744900fe 100644 --- a/debian/patches-rt/0121-softirq-Split-softirq-locks.patch +++ b/debian/patches-rt/0121-softirq-Split-softirq-locks.patch @@ -1,8 +1,7 @@ -From 4f304d0db14e45c0b23ed9ed8ee6749255dd180a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 4 Oct 2012 14:20:47 +0100 -Subject: [PATCH 121/347] softirq: Split softirq locks -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 121/342] softirq: Split softirq locks +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8b2084eea88470c1ab4999158ba663263ffe62cc The 3.x RT series removed the split softirq implementation in favour of pushing softirq processing into the context of the thread which @@ -199,10 +198,10 @@ index 1b2884889dd0..63a97f24d138 100644 #define PF_EXITING 0x00000004 /* Getting shut down */ #define PF_VCPU 0x00000010 /* I'm a virtual CPU */ diff --git a/init/main.c b/init/main.c -index 272ec131211c..0d5763c5da28 100644 +index 489a5aa7ba53..703b627a6060 100644 --- a/init/main.c +++ b/init/main.c -@@ -560,6 +560,7 @@ asmlinkage __visible void __init start_kernel(void) +@@ -553,6 +553,7 @@ asmlinkage __visible void __init start_kernel(void) setup_command_line(command_line); setup_nr_cpu_ids(); setup_per_cpu_areas(); @@ -827,6 +826,3 @@ index 012bc81879bf..2b0ddd50e879 100644 return false; } --- -2.36.1 - diff --git a/debian/patches-rt/0122-net-core-use-local_bh_disable-in-netif_rx_ni.patch b/debian/patches-rt/0122-net-core-use-local_bh_disable-in-netif_rx_ni.patch index 6f4fcdbeb..2bad52b3c 100644 --- a/debian/patches-rt/0122-net-core-use-local_bh_disable-in-netif_rx_ni.patch +++ b/debian/patches-rt/0122-net-core-use-local_bh_disable-in-netif_rx_ni.patch @@ -1,8 +1,7 @@ -From 2e2c294b277d487a55a1b9cd56dd172795e0f3f8 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 16 Jun 2017 19:03:16 +0200 -Subject: [PATCH 122/347] net/core: use local_bh_disable() in netif_rx_ni() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 122/342] net/core: use local_bh_disable() in netif_rx_ni() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=90c011694ab18ee6bf1ed891fd489a5ec95ffb1a In 2004 netif_rx_ni() gained a preempt_disable() section around netif_rx() and its do_softirq() + testing for it. The do_softirq() part @@ -36,6 +35,3 @@ index b8e3ae050bcc..315bdaf00ac8 100644 return err; } --- -2.36.1 - diff --git a/debian/patches-rt/0123-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch b/debian/patches-rt/0123-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch index d24e2a815..75cdbf25f 100644 --- a/debian/patches-rt/0123-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch +++ b/debian/patches-rt/0123-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch @@ -1,9 +1,8 @@ -From 70cfb822ccb0d82006eb62a4774d58021b340151 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 31 Jan 2012 13:01:27 +0100 -Subject: [PATCH 123/347] genirq: Allow disabling of softirq processing in irq +Subject: [PATCH 123/342] genirq: Allow disabling of softirq processing in irq thread context -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fcae9108c6950e37988deba7ca6c824ccb1c97cc 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 @@ -139,6 +138,3 @@ index fd89f8ab85ac..3e9333d148ad 100644 int in_serving_softirq(void) { return current->flags & PF_IN_SOFTIRQ; --- -2.36.1 - diff --git a/debian/patches-rt/0124-softirq-split-timer-softirqs-out-of-ksoftirqd.patch b/debian/patches-rt/0124-softirq-split-timer-softirqs-out-of-ksoftirqd.patch index b6bb8cca8..4413600e9 100644 --- a/debian/patches-rt/0124-softirq-split-timer-softirqs-out-of-ksoftirqd.patch +++ b/debian/patches-rt/0124-softirq-split-timer-softirqs-out-of-ksoftirqd.patch @@ -1,8 +1,7 @@ -From 883087f48f717058bc203cd47430b55f77275fbd Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 20 Jan 2016 16:34:17 +0100 -Subject: [PATCH 124/347] softirq: split timer softirqs out of ksoftirqd -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 124/342] softirq: split timer softirqs out of ksoftirqd +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=df12f0ccfce0f4ac8542c56f719e8f2f71a65f2a The softirqd runs in -RT with SCHED_FIFO (prio 1) and deals mostly with timer wakeup which can not happen in hardirq context. The prio has been @@ -210,6 +209,3 @@ index 3e9333d148ad..fe4e59c80a08 100644 return 0; } early_initcall(spawn_ksoftirqd); --- -2.36.1 - diff --git a/debian/patches-rt/0125-softirq-Avoid-local_softirq_pending-messages-if-ksof.patch b/debian/patches-rt/0125-softirq-Avoid-local_softirq_pending-messages-if-ksof.patch index 1302bc0ef..ce57380af 100644 --- a/debian/patches-rt/0125-softirq-Avoid-local_softirq_pending-messages-if-ksof.patch +++ b/debian/patches-rt/0125-softirq-Avoid-local_softirq_pending-messages-if-ksof.patch @@ -1,9 +1,8 @@ -From 287a0b153109b1e2d548befe904bc14f3de5f2c8 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 18 Feb 2019 13:19:59 +0100 -Subject: [PATCH 125/347] softirq: Avoid "local_softirq_pending" messages if +Subject: [PATCH 125/342] softirq: Avoid "local_softirq_pending" messages if ksoftirqd is blocked -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=96d9095dbc28be31e65da4563d72dca0813eccbf If the ksoftirqd thread has a softirq pending and is blocked on the `local_softirq_locks' lock then softirq_check_pending_idle() won't @@ -107,6 +106,3 @@ index fe4e59c80a08..1920985eeb09 100644 } if (warnpending) { --- -2.36.1 - diff --git a/debian/patches-rt/0126-softirq-Avoid-local_softirq_pending-messages-if-task.patch b/debian/patches-rt/0126-softirq-Avoid-local_softirq_pending-messages-if-task.patch index 965311d51..3615bb40a 100644 --- a/debian/patches-rt/0126-softirq-Avoid-local_softirq_pending-messages-if-task.patch +++ b/debian/patches-rt/0126-softirq-Avoid-local_softirq_pending-messages-if-task.patch @@ -1,9 +1,8 @@ -From 7879ba227dbde103356be2bef58a9733a930c0a0 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 19 Feb 2019 16:49:29 +0100 -Subject: [PATCH 126/347] softirq: Avoid "local_softirq_pending" messages if +Subject: [PATCH 126/342] softirq: Avoid "local_softirq_pending" messages if task is in cpu_chill() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=29f30ebce0eb689baf7f7b34e71797872822a58d If the softirq thread enters cpu_chill() then ->state is UNINTERRUPTIBLE and has no ->pi_blocked_on set and so its mask is not taken into account. @@ -36,6 +35,3 @@ index 1920985eeb09..27a4bb2303d0 100644 /* Clear all bits pending in that task */ *pending &= ~(tsk->softirqs_raised); ret = true; --- -2.36.1 - diff --git a/debian/patches-rt/0127-rtmutex-trylock-is-okay-on-RT.patch b/debian/patches-rt/0127-rtmutex-trylock-is-okay-on-RT.patch index 292becc02..291d8d372 100644 --- a/debian/patches-rt/0127-rtmutex-trylock-is-okay-on-RT.patch +++ b/debian/patches-rt/0127-rtmutex-trylock-is-okay-on-RT.patch @@ -1,8 +1,7 @@ -From 0b94209cb7e2a97538d5f7cf08c0d1433cc83b05 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 2 Dec 2015 11:34:07 +0100 -Subject: [PATCH 127/347] rtmutex: trylock is okay on -RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 127/342] rtmutex: trylock is okay on -RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f76f4735aed998bb2c03c61a89230b757a4fe952 non-RT kernel could deadlock on rt_mutex_trylock() in softirq context. On -RT we don't run softirqs in IRQ context but in thread context so it is @@ -29,6 +28,3 @@ index a5ec4f68527e..4bec24dfafc6 100644 return 0; ret = rt_mutex_fasttrylock(lock, rt_mutex_slowtrylock); --- -2.36.1 - diff --git a/debian/patches-rt/0128-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch b/debian/patches-rt/0128-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch index 4ff90ed43..bf211c1b5 100644 --- a/debian/patches-rt/0128-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch +++ b/debian/patches-rt/0128-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch @@ -1,8 +1,7 @@ -From dbfda01f7e6e30541e35b49f6972022917fd685a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 15 Sep 2016 10:51:27 +0200 -Subject: [PATCH 128/347] fs/nfs: turn rmdir_sem into a semaphore -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 128/342] fs/nfs: turn rmdir_sem into a semaphore +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6fb5ec130d9a1ccb20b3cea61c5b177c798e898c 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 @@ -146,6 +145,3 @@ index 8ea7ceed8285..d52dfae05d2a 100644 struct mutex commit_mutex; #if IS_ENABLED(CONFIG_NFS_V4) --- -2.36.1 - diff --git a/debian/patches-rt/0129-rtmutex-Handle-the-various-new-futex-race-conditions.patch b/debian/patches-rt/0129-rtmutex-Handle-the-various-new-futex-race-conditions.patch index bdf75c3c6..8befd5d3f 100644 --- a/debian/patches-rt/0129-rtmutex-Handle-the-various-new-futex-race-conditions.patch +++ b/debian/patches-rt/0129-rtmutex-Handle-the-various-new-futex-race-conditions.patch @@ -1,8 +1,7 @@ -From 9c83cf8ce7911f4f00f4fc71b365a30ebed5fdf4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 10 Jun 2011 11:04:15 +0200 -Subject: [PATCH 129/347] rtmutex: Handle the various new futex race conditions -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 129/342] rtmutex: Handle the various new futex race conditions +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7f36213e96b6be3d94dda72b8b3d6dbe386346a1 RT opens a few new interesting race conditions in the rtmutex/futex combo due to futex hash bucket lock being a 'sleeping' spinlock and @@ -249,6 +248,3 @@ index ca6fb489007b..8f39bc139735 100644 extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock); extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock, struct task_struct *proxy_owner); --- -2.36.1 - diff --git a/debian/patches-rt/0130-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch b/debian/patches-rt/0130-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch index 1b73b4e00..74ad7a1cb 100644 --- a/debian/patches-rt/0130-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch +++ b/debian/patches-rt/0130-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch @@ -1,8 +1,7 @@ -From e4bd34c056ee1cfe80dbe490977b5496ba5eeb70 Mon Sep 17 00:00:00 2001 From: Steven Rostedt <rostedt@goodmis.org> Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 130/347] 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.246-rt110.tar.xz +Subject: [PATCH 130/342] futex: Fix bug on when a requeued RT task times out +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a211a6391b03430c4bd22cf99ebe8e4412a76fc1 Requeue with timeout causes a bug with PREEMPT_RT_FULL. @@ -116,6 +115,3 @@ index 8f39bc139735..202e2b0d1251 100644 extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock); extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock, --- -2.36.1 - diff --git a/debian/patches-rt/0131-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch b/debian/patches-rt/0131-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch index 385cbe279..aecdc337a 100644 --- a/debian/patches-rt/0131-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch +++ b/debian/patches-rt/0131-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch @@ -1,9 +1,8 @@ -From be3ec67dc13250ace8bd04c65a4fb643d683c9c1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 1 Mar 2013 11:17:42 +0100 -Subject: [PATCH 131/347] futex: Ensure lock/unlock symetry versus pi_lock and +Subject: [PATCH 131/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9b9b23148e1ee440fb6709067736cfa33b4c4f27 In exit_pi_state_list() we have the following locking construct: @@ -45,6 +44,3 @@ index dc2d81d11b17..0e136045a720 100644 put_pi_state(pi_state); continue; } --- -2.36.1 - diff --git a/debian/patches-rt/0132-pid.h-include-atomic.h.patch b/debian/patches-rt/0132-pid.h-include-atomic.h.patch index 74e014526..25d9273ac 100644 --- a/debian/patches-rt/0132-pid.h-include-atomic.h.patch +++ b/debian/patches-rt/0132-pid.h-include-atomic.h.patch @@ -1,8 +1,7 @@ -From 4893375573fc1c881fe9d5f74f5c3199a8adafd7 Mon Sep 17 00:00:00 2001 From: Grygorii Strashko <Grygorii.Strashko@linaro.org> Date: Tue, 21 Jul 2015 19:43:56 +0300 -Subject: [PATCH 132/347] pid.h: include atomic.h -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 132/342] pid.h: include atomic.h +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ebc8e476657349538056e71e80aa977057972195 This patch fixes build error: CC kernel/pid_namespace.o @@ -38,6 +37,3 @@ index 14a9a39da9c7..a9026a5da196 100644 enum pid_type { --- -2.36.1 - diff --git a/debian/patches-rt/0133-arm-include-definition-for-cpumask_t.patch b/debian/patches-rt/0133-arm-include-definition-for-cpumask_t.patch index 770c1d0d6..1b2825108 100644 --- a/debian/patches-rt/0133-arm-include-definition-for-cpumask_t.patch +++ b/debian/patches-rt/0133-arm-include-definition-for-cpumask_t.patch @@ -1,8 +1,7 @@ -From 83a90ab3e2bccc269afe608919d57872e41d3518 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 22 Dec 2016 17:28:33 +0100 -Subject: [PATCH 133/347] arm: include definition for cpumask_t -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 133/342] arm: include definition for cpumask_t +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d65c1c9c5bf77db5005a8b99a0c703f5bb892fcb This definition gets pulled in by other files. With the (later) split of RCU and spinlock.h it won't compile anymore. @@ -26,6 +25,3 @@ index 46d41140df27..c421b5b81946 100644 struct irqaction; struct pt_regs; --- -2.36.1 - diff --git a/debian/patches-rt/0134-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch b/debian/patches-rt/0134-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch index 2777ffd6a..b548ef966 100644 --- a/debian/patches-rt/0134-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch +++ b/debian/patches-rt/0134-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch @@ -1,9 +1,8 @@ -From 651a6a4d30c878862e8ba912da5d7140d5e23a6e Mon Sep 17 00:00:00 2001 From: "Wolfgang M. Reimer" <linuxball@gmail.com> Date: Tue, 21 Jul 2015 16:20:07 +0200 -Subject: [PATCH 134/347] locking: locktorture: Do NOT include rwlock.h +Subject: [PATCH 134/342] locking: locktorture: Do NOT include rwlock.h directly -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cc9d1be680177e81b590286d422a410a747aaeb4 Including rwlock.h directly will cause kernel builds to fail if CONFIG_PREEMPT_RT_FULL is defined. The correct header file @@ -29,6 +28,3 @@ index 95395ef5922a..5748c1936edb 100644 #include <linux/mutex.h> #include <linux/rwsem.h> #include <linux/smp.h> --- -2.36.1 - diff --git a/debian/patches-rt/0135-rtmutex-Add-rtmutex_lock_killable.patch b/debian/patches-rt/0135-rtmutex-Add-rtmutex_lock_killable.patch index 92652b7a1..d97f3545b 100644 --- a/debian/patches-rt/0135-rtmutex-Add-rtmutex_lock_killable.patch +++ b/debian/patches-rt/0135-rtmutex-Add-rtmutex_lock_killable.patch @@ -1,8 +1,7 @@ -From 12727f37858de62d47250dc9fcee2ce4ea19dd66 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 9 Jun 2011 11:43:52 +0200 -Subject: [PATCH 135/347] rtmutex: Add rtmutex_lock_killable() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 135/342] rtmutex: Add rtmutex_lock_killable() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ab6b6c8bc1aabe6b845f3f27a2e1177591c6f619 Add "killable" type to rtmutex. We need this since rtmutex are used as "normal" mutexes which do use this type. @@ -55,6 +54,3 @@ index 069f025180b8..81bae2e3d82e 100644 /** * rt_mutex_timed_lock - lock a rt_mutex interruptible * the timeout structure is provided --- -2.36.1 - diff --git a/debian/patches-rt/0136-rtmutex-Make-lock_killable-work.patch b/debian/patches-rt/0136-rtmutex-Make-lock_killable-work.patch index 605d0286e..394058af8 100644 --- a/debian/patches-rt/0136-rtmutex-Make-lock_killable-work.patch +++ b/debian/patches-rt/0136-rtmutex-Make-lock_killable-work.patch @@ -1,8 +1,7 @@ -From 36064ed74738cac8ebb382e5ce34d55a8f2e24a8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 1 Apr 2017 12:50:59 +0200 -Subject: [PATCH 136/347] rtmutex: Make lock_killable work -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 136/342] rtmutex: Make lock_killable work +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=61fa01d84f2b1b35d66b69c4b7fda86f45ad7d50 Locking an rt mutex killable does not work because signal handling is restricted to TASK_INTERRUPTIBLE. @@ -46,6 +45,3 @@ index 81bae2e3d82e..333c4b7aa8e8 100644 } raw_spin_unlock_irq(&lock->wait_lock); --- -2.36.1 - diff --git a/debian/patches-rt/0137-spinlock-Split-the-lock-types-header.patch b/debian/patches-rt/0137-spinlock-Split-the-lock-types-header.patch index 472048028..1b5e85469 100644 --- a/debian/patches-rt/0137-spinlock-Split-the-lock-types-header.patch +++ b/debian/patches-rt/0137-spinlock-Split-the-lock-types-header.patch @@ -1,8 +1,7 @@ -From ea56713a6d4b07d5d16d350f989ea6e4575feb41 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 29 Jun 2011 19:34:01 +0200 -Subject: [PATCH 137/347] spinlock: Split the lock types header -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 137/342] spinlock: Split the lock types header +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c79f3fea34f5b6aa30f2e97c8d5dcb95fd161f64 Split raw_spinlock into its own file and the remaining spinlock_t into its own non-RT header. The non-RT header will be replaced later by sleeping @@ -216,6 +215,3 @@ index 000000000000..822bf64a61d3 +#define DEFINE_RAW_SPINLOCK(x) raw_spinlock_t x = __RAW_SPIN_LOCK_UNLOCKED(x) + +#endif --- -2.36.1 - diff --git a/debian/patches-rt/0138-rtmutex-Avoid-include-hell.patch b/debian/patches-rt/0138-rtmutex-Avoid-include-hell.patch index 7ffdecc51..44a5be729 100644 --- a/debian/patches-rt/0138-rtmutex-Avoid-include-hell.patch +++ b/debian/patches-rt/0138-rtmutex-Avoid-include-hell.patch @@ -1,8 +1,7 @@ -From b243e04054c677bb38c429d31e62f64af1db11fe Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 29 Jun 2011 20:06:39 +0200 -Subject: [PATCH 138/347] rtmutex: Avoid include hell -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 138/342] rtmutex: Avoid include hell +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c34fc8975a05f3be15d042b8e1a195fe2e406e7e Include only the required raw types. This avoids pulling in the complete spinlock header which in turn requires rtmutex.h at some point. @@ -25,6 +24,3 @@ index 81ece6a8291a..a355289b1fa1 100644 extern int max_lock_depth; /* for sysctl */ --- -2.36.1 - diff --git a/debian/patches-rt/0139-rbtree-don-t-include-the-rcu-header.patch b/debian/patches-rt/0139-rbtree-don-t-include-the-rcu-header.patch index e300e5d34..ef16640ab 100644 --- a/debian/patches-rt/0139-rbtree-don-t-include-the-rcu-header.patch +++ b/debian/patches-rt/0139-rbtree-don-t-include-the-rcu-header.patch @@ -1,11 +1,10 @@ -From 5bd4fe94ce198734cd4b23d3486b154486f137ae Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 26 Feb 2019 16:56:02 +0100 -Subject: [PATCH 139/347] rbtree: don't include the rcu header +Subject: [PATCH 139/342] rbtree: don't include the rcu header 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=89a313db5ff54e6ebe97cd147bc27e27e7448732 The RCU header pulls in spinlock.h and fails due not yet defined types: @@ -170,6 +169,3 @@ index 027c58cdbb6e..e6733d7911e9 100644 /** * rcu_swap_protected() - swap an RCU and a regular pointer * @rcu_ptr: RCU pointer --- -2.36.1 - diff --git a/debian/patches-rt/0140-rtmutex-Provide-rt_mutex_slowlock_locked.patch b/debian/patches-rt/0140-rtmutex-Provide-rt_mutex_slowlock_locked.patch index d63649047..17f0a56e5 100644 --- a/debian/patches-rt/0140-rtmutex-Provide-rt_mutex_slowlock_locked.patch +++ b/debian/patches-rt/0140-rtmutex-Provide-rt_mutex_slowlock_locked.patch @@ -1,8 +1,7 @@ -From 2263182a5f18a0abbe7ba2d582f42308580bbd31 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 12 Oct 2017 16:14:22 +0200 -Subject: [PATCH 140/347] rtmutex: Provide rt_mutex_slowlock_locked() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 140/342] rtmutex: Provide rt_mutex_slowlock_locked() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=53cb0c772c30a3f534246da306630892657aee07 This is the inner-part of rt_mutex_slowlock(), required for rwsem-rt. @@ -140,6 +139,3 @@ index 202e2b0d1251..66deb94765fb 100644 #ifdef CONFIG_DEBUG_RT_MUTEXES # include "rtmutex-debug.h" --- -2.36.1 - diff --git a/debian/patches-rt/0141-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch b/debian/patches-rt/0141-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch index 23300e884..41b28d266 100644 --- a/debian/patches-rt/0141-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch +++ b/debian/patches-rt/0141-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch @@ -1,9 +1,8 @@ -From 1b3711a9fe0b85e927a131441083be32b7879496 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 12 Oct 2017 16:36:39 +0200 -Subject: [PATCH 141/347] rtmutex: export lockdep-less version of rt_mutex's +Subject: [PATCH 141/342] rtmutex: export lockdep-less version of rt_mutex's lock, trylock and unlock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5dbdcffac97ac1a307e15a14592c3e8d837766c4 Required for lock implementation ontop of rtmutex. @@ -148,6 +147,3 @@ index 66deb94765fb..53a8c5d03d28 100644 int __sched rt_mutex_slowlock_locked(struct rt_mutex *lock, int state, struct hrtimer_sleeper *timeout, enum rtmutex_chainwalk chwalk, --- -2.36.1 - diff --git a/debian/patches-rt/0142-rtmutex-add-sleeping-lock-implementation.patch b/debian/patches-rt/0142-rtmutex-add-sleeping-lock-implementation.patch index 1e1934085..0891c9fa3 100644 --- a/debian/patches-rt/0142-rtmutex-add-sleeping-lock-implementation.patch +++ b/debian/patches-rt/0142-rtmutex-add-sleeping-lock-implementation.patch @@ -1,8 +1,7 @@ -From 16d4ed57212cef457bf87864ffb00f8b297f06e2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 12 Oct 2017 17:11:19 +0200 -Subject: [PATCH 142/347] rtmutex: add sleeping lock implementation -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 142/342] rtmutex: add sleeping lock implementation +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ba50c47e65ffab81bd256813390bbdf7f4c7ff22 Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> @@ -1204,6 +1203,3 @@ index ed79f921a84e..1f450a7649f0 100644 put_task_struct(task); } } --- -2.36.1 - diff --git a/debian/patches-rt/0143-rtmutex-add-mutex-implementation-based-on-rtmutex.patch b/debian/patches-rt/0143-rtmutex-add-mutex-implementation-based-on-rtmutex.patch index 268579aea..ab0dfe716 100644 --- a/debian/patches-rt/0143-rtmutex-add-mutex-implementation-based-on-rtmutex.patch +++ b/debian/patches-rt/0143-rtmutex-add-mutex-implementation-based-on-rtmutex.patch @@ -1,8 +1,7 @@ -From df07ee70a0dfe4c5f6c6b8a01afd04d748635c84 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 12 Oct 2017 17:17:03 +0200 -Subject: [PATCH 143/347] rtmutex: add mutex implementation based on rtmutex -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 143/342] rtmutex: add mutex implementation based on rtmutex +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0721909250ea1708b9a71d403791a6d0d1c847bf Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> @@ -378,6 +377,3 @@ index 000000000000..4f81595c0f52 + return 1; +} +EXPORT_SYMBOL(atomic_dec_and_mutex_lock); --- -2.36.1 - diff --git a/debian/patches-rt/0144-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch b/debian/patches-rt/0144-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch index b05b5ef45..b045cbb85 100644 --- a/debian/patches-rt/0144-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch +++ b/debian/patches-rt/0144-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch @@ -1,8 +1,7 @@ -From d5648fc940b9d669cad909970b95064ee3634612 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 12 Oct 2017 17:28:34 +0200 -Subject: [PATCH 144/347] rtmutex: add rwsem implementation based on rtmutex -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 144/342] rtmutex: add rwsem implementation based on rtmutex +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a50802f1a28bc3efc3da58b2dc02e2ce9e262bf7 The RT specific R/W semaphore implementation restricts the number of readers to one because a writer cannot block on multiple readers and inherit its @@ -422,6 +421,3 @@ index 000000000000..7d3c5cf3d23d + /* Release it and account current as reader */ + __up_write_unlock(sem, WRITER_BIAS - 1, flags); +} --- -2.36.1 - diff --git a/debian/patches-rt/0145-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch b/debian/patches-rt/0145-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch index 3045accc9..a23eb96df 100644 --- a/debian/patches-rt/0145-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch +++ b/debian/patches-rt/0145-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch @@ -1,8 +1,7 @@ -From f6a36a3573a2474292d6b6e71f206f52212b6cd5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 12 Oct 2017 17:18:06 +0200 -Subject: [PATCH 145/347] rtmutex: add rwlock implementation based on rtmutex -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 145/342] rtmutex: add rwlock implementation based on rtmutex +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=15018c2ebb240be9c688212d67e7ccef0a0b76c3 The implementation is bias-based, similar to the rwsem implementation. @@ -577,6 +576,3 @@ index 000000000000..aebb7ce25bc6 + do_rwlock_rt_init(rwlock, name, key); +} +EXPORT_SYMBOL(__rt_rwlock_init); --- -2.36.1 - diff --git a/debian/patches-rt/0146-rtmutex-rwlock-preserve-state-like-a-sleeping-lock.patch b/debian/patches-rt/0146-rtmutex-rwlock-preserve-state-like-a-sleeping-lock.patch index 44b53bba1..6eca4e175 100644 --- a/debian/patches-rt/0146-rtmutex-rwlock-preserve-state-like-a-sleeping-lock.patch +++ b/debian/patches-rt/0146-rtmutex-rwlock-preserve-state-like-a-sleeping-lock.patch @@ -1,8 +1,7 @@ -From 0e2b5eb41fc6820a80428de4a73ede6f47d74cf0 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 11 Jan 2019 21:16:31 +0100 -Subject: [PATCH 146/347] rtmutex/rwlock: preserve state like a sleeping lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 146/342] rtmutex/rwlock: preserve state like a sleeping lock +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a394b6d10212e9724d148f88c5ca736270ad2967 The rwlock is spinning while acquiring a lock. Therefore it must become a sleeping lock on RT and preserve its task state while sleeping and @@ -28,6 +27,3 @@ index aebb7ce25bc6..8f90afe111ce 100644 rt_spin_lock_slowlock_locked(m, &waiter, flags); /* * The slowlock() above is guaranteed to return with the rtmutex is --- -2.36.1 - diff --git a/debian/patches-rt/0147-rtmutex-wire-up-RT-s-locking.patch b/debian/patches-rt/0147-rtmutex-wire-up-RT-s-locking.patch index 8110605a3..30f210655 100644 --- a/debian/patches-rt/0147-rtmutex-wire-up-RT-s-locking.patch +++ b/debian/patches-rt/0147-rtmutex-wire-up-RT-s-locking.patch @@ -1,8 +1,7 @@ -From d334127aee6c64a7cdf5e5d3420666bcfdeb8ba6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 12 Oct 2017 17:31:14 +0200 -Subject: [PATCH 147/347] rtmutex: wire up RT's locking -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 147/342] rtmutex: wire up RT's locking +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=15d882ef5f548758242ab6f1ef81b06189619403 Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> @@ -266,6 +265,3 @@ index 03595c29c566..d63df281b495 100644 } + +#endif --- -2.36.1 - diff --git a/debian/patches-rt/0148-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch b/debian/patches-rt/0148-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch index 86e8aed22..6241aed37 100644 --- a/debian/patches-rt/0148-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch +++ b/debian/patches-rt/0148-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch @@ -1,8 +1,7 @@ -From d33397686c7cab5c3c263709534ec1e58ac42b54 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 12 Oct 2017 17:34:38 +0200 -Subject: [PATCH 148/347] rtmutex: add ww_mutex addon for mutex-rt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 148/342] rtmutex: add ww_mutex addon for mutex-rt +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=09033e8bd64e77065eceb62cd95fa1054dbd4b84 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- @@ -440,6 +439,3 @@ index 7d3c5cf3d23d..660e22caf709 100644 /* * The slowlock() above is guaranteed to return with the rtmutex (for * ret = 0) is now held, so there can't be a writer active. Increment --- -2.36.1 - diff --git a/debian/patches-rt/0149-kconfig-Add-PREEMPT_RT_FULL.patch b/debian/patches-rt/0149-kconfig-Add-PREEMPT_RT_FULL.patch index a9ee49334..4e04f34aa 100644 --- a/debian/patches-rt/0149-kconfig-Add-PREEMPT_RT_FULL.patch +++ b/debian/patches-rt/0149-kconfig-Add-PREEMPT_RT_FULL.patch @@ -1,8 +1,7 @@ -From 484511a754ae9320cc61d583c24e811d3cc476ff Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 29 Jun 2011 14:58:57 +0200 -Subject: [PATCH 149/347] kconfig: Add PREEMPT_RT_FULL -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 149/342] kconfig: Add PREEMPT_RT_FULL +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=602f4e43efe1b27b4acd0a6f09186d0d2aa71a24 Introduce the final symbol for PREEMPT_RT_FULL. @@ -64,6 +63,3 @@ index 662fe19da990..089200debc38 100755 UTS_VERSION="$UTS_VERSION $CONFIG_FLAGS $TIMESTAMP" # Truncate to maximum length --- -2.36.1 - diff --git a/debian/patches-rt/0150-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch b/debian/patches-rt/0150-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch index 5404d73d6..baf9bfc92 100644 --- a/debian/patches-rt/0150-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch +++ b/debian/patches-rt/0150-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch @@ -1,9 +1,8 @@ -From d6b1373a76eff772848ccbfed73baf94c807e464 Mon Sep 17 00:00:00 2001 From: Mikulas Patocka <mpatocka@redhat.com> Date: Mon, 13 Nov 2017 12:56:53 -0500 -Subject: [PATCH 150/347] locking/rt-mutex: fix deadlock in device mapper / +Subject: [PATCH 150/342] locking/rt-mutex: fix deadlock in device mapper / block-IO -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5d5e1d7efa41d6c8e4e40b2505c073c13555f8cf When some block device driver creates a bio and submits it to another block device driver, the bio is added to current->bio_list (in order to @@ -76,6 +75,3 @@ index cc47d5aa93a1..721e3a4916d9 100644 return slowfn(lock, state, timeout, chwalk, ww_ctx); } --- -2.36.1 - diff --git a/debian/patches-rt/0151-locking-rt-mutex-Flush-block-plug-on-__down_read.patch b/debian/patches-rt/0151-locking-rt-mutex-Flush-block-plug-on-__down_read.patch index 3128f971d..27c354d1d 100644 --- a/debian/patches-rt/0151-locking-rt-mutex-Flush-block-plug-on-__down_read.patch +++ b/debian/patches-rt/0151-locking-rt-mutex-Flush-block-plug-on-__down_read.patch @@ -1,8 +1,7 @@ -From 229f57115cd91a8632a85152d6e43e781ebd367e Mon Sep 17 00:00:00 2001 From: Scott Wood <swood@redhat.com> Date: Fri, 4 Jan 2019 15:33:21 -0500 -Subject: [PATCH 151/347] locking/rt-mutex: Flush block plug on __down_read() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 151/342] locking/rt-mutex: Flush block plug on __down_read() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0997f874d638be3d2f65de4bf3d9710d1e5bc2d8 __down_read() bypasses the rtmutex frontend to call rt_mutex_slowlock_locked() directly, and thus it needs to call @@ -41,6 +40,3 @@ index 660e22caf709..f518495bd6cc 100644 might_sleep(); raw_spin_lock_irq(&m->wait_lock); --- -2.36.1 - diff --git a/debian/patches-rt/0152-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch b/debian/patches-rt/0152-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch index d3b273dbb..d79f148a7 100644 --- a/debian/patches-rt/0152-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch +++ b/debian/patches-rt/0152-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch @@ -1,9 +1,8 @@ -From b30a729eace6fa1b27e10316b55cfe2d0c7dbf9a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 16 Nov 2017 16:48:48 +0100 -Subject: [PATCH 152/347] locking/rtmutex: re-init the wait_lock in +Subject: [PATCH 152/342] locking/rtmutex: re-init the wait_lock in rt_mutex_init_proxy_locked() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=33986efd8958c2bf3bbd528799dcb6cba9aaef50 We could provide a key-class for the lockdep (and fixup all callers) or move the init to all callers (like it was) in order to avoid lockdep @@ -34,6 +33,3 @@ index 721e3a4916d9..11bcae2184c4 100644 debug_rt_mutex_proxy_lock(lock, proxy_owner); rt_mutex_set_owner(lock, proxy_owner); } --- -2.36.1 - diff --git a/debian/patches-rt/0153-ptrace-fix-ptrace-vs-tasklist_lock-race.patch b/debian/patches-rt/0153-ptrace-fix-ptrace-vs-tasklist_lock-race.patch index fa509ce15..2fffa6e73 100644 --- a/debian/patches-rt/0153-ptrace-fix-ptrace-vs-tasklist_lock-race.patch +++ b/debian/patches-rt/0153-ptrace-fix-ptrace-vs-tasklist_lock-race.patch @@ -1,8 +1,7 @@ -From 590484060b22c2d41b6e33ab142e7bf68ad3d85a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 29 Aug 2013 18:21:04 +0200 -Subject: [PATCH 153/347] ptrace: fix ptrace vs tasklist_lock race -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 153/342] ptrace: fix ptrace vs tasklist_lock race +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cb675ae1b0511d73895bd276d65c88740717b40b As explained by Alexander Fyodorov <halcy@yandex.ru>: @@ -100,7 +99,7 @@ index e4e206a1e7dd..5374ade34b87 100644 * cond_resched() and cond_resched_lock(): latency reduction via * explicit rescheduling in places that are safe. The return diff --git a/kernel/ptrace.c b/kernel/ptrace.c -index 8a98e3e78c70..9c59e523f3cd 100644 +index bf8360e86f62..9078fdefc6e0 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c @@ -190,7 +190,14 @@ static bool ptrace_freeze_traced(struct task_struct *task) @@ -161,6 +160,3 @@ index 1f450a7649f0..9494e2007118 100644 ncsw = p->nvcsw | LONG_MIN; /* sets MSB */ task_rq_unlock(rq, p, &rf); --- -2.36.1 - diff --git a/debian/patches-rt/0154-rtmutex-annotate-sleeping-lock-context.patch b/debian/patches-rt/0154-rtmutex-annotate-sleeping-lock-context.patch index 916d8d802..0780d303e 100644 --- a/debian/patches-rt/0154-rtmutex-annotate-sleeping-lock-context.patch +++ b/debian/patches-rt/0154-rtmutex-annotate-sleeping-lock-context.patch @@ -1,8 +1,7 @@ -From ac520c8f628b0eeff2af71b77289199262510960 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 21 Sep 2017 14:25:13 +0200 -Subject: [PATCH 154/347] rtmutex: annotate sleeping lock context -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 154/342] rtmutex: annotate sleeping lock context +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=776ea97a6f953041a1ba42eafc4148ee1687f731 The RCU code complains on schedule() within a rcu_readlock() section. The valid scenario on -RT is if a sleeping is held. In order to suppress @@ -303,6 +302,3 @@ index 9494e2007118..555dea10764e 100644 +} +EXPORT_SYMBOL(migrate_enable); #endif --- -2.36.1 - diff --git a/debian/patches-rt/0155-sched-migrate_disable-fallback-to-preempt_disable-in.patch b/debian/patches-rt/0155-sched-migrate_disable-fallback-to-preempt_disable-in.patch index c471ea20d..4ed82ea97 100644 --- a/debian/patches-rt/0155-sched-migrate_disable-fallback-to-preempt_disable-in.patch +++ b/debian/patches-rt/0155-sched-migrate_disable-fallback-to-preempt_disable-in.patch @@ -1,9 +1,8 @@ -From e85e95b0e59b7d493402419e3a63a06978a06452 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 5 Jul 2018 14:44:51 +0200 -Subject: [PATCH 155/347] sched/migrate_disable: fallback to preempt_disable() +Subject: [PATCH 155/342] sched/migrate_disable: fallback to preempt_disable() instead barrier() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1e31f6ab66216ee3cd7976b73cf11a8f8f0ab55f On SMP + !RT migrate_disable() is still around. It is not part of spin_lock() anymore so it has almost no users. However the futex code has a workaround for @@ -199,6 +198,3 @@ index dc3f3e6fa0bd..169b98c12da7 100644 P(migrate_disable); #endif P(nr_cpus_allowed); --- -2.36.1 - diff --git a/debian/patches-rt/0156-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch b/debian/patches-rt/0156-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch index b8812e5b3..cca123ab3 100644 --- a/debian/patches-rt/0156-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch +++ b/debian/patches-rt/0156-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch @@ -1,9 +1,8 @@ -From af3f791cb33d8bb0c19a9057198100a3bae10cb9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 4 Aug 2017 17:40:42 +0200 -Subject: [PATCH 156/347] locking: don't check for __LINUX_SPINLOCK_TYPES_H on +Subject: [PATCH 156/342] locking: don't check for __LINUX_SPINLOCK_TYPES_H on -RT archs -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8ab0fecbe8b849e10b94a02f931ef52a238372cc Upstream uses arch_spinlock_t within spinlock_t and requests that spinlock_types.h header file is included first. @@ -177,6 +176,3 @@ index c09b6407ae1b..b0243ba07fb7 100644 /* * include/linux/spinlock_types_up.h - spinlock type definitions for UP * --- -2.36.1 - diff --git a/debian/patches-rt/0157-rcu-Frob-softirq-test.patch b/debian/patches-rt/0157-rcu-Frob-softirq-test.patch index f69f7c094..6598a1655 100644 --- a/debian/patches-rt/0157-rcu-Frob-softirq-test.patch +++ b/debian/patches-rt/0157-rcu-Frob-softirq-test.patch @@ -1,8 +1,7 @@ -From 638391362ce6f052267016840a592cad59ee3eef Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <a.p.zijlstra@chello.nl> Date: Sat, 13 Aug 2011 00:23:17 +0200 -Subject: [PATCH 157/347] rcu: Frob softirq test -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 157/342] rcu: Frob softirq test +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=628969206bda92fd3cb80f9a7f60d46f759f6ff3 With RT_FULL we get the below wreckage: @@ -168,6 +167,3 @@ index 35f3552b7463..e9ce51e19e87 100644 lockdep_rcu_suspicious(__FILE__, __LINE__, "rcu_read_unlock() from irq or softirq with blocking in critical section!!!\n"); pr_alert("->rcu_read_unlock_special: %#x (b: %d, enq: %d nq: %d)\n", --- -2.36.1 - diff --git a/debian/patches-rt/0158-rcu-Merge-RCU-bh-into-RCU-preempt.patch b/debian/patches-rt/0158-rcu-Merge-RCU-bh-into-RCU-preempt.patch index 1c3897d25..2b96eb9c6 100644 --- a/debian/patches-rt/0158-rcu-Merge-RCU-bh-into-RCU-preempt.patch +++ b/debian/patches-rt/0158-rcu-Merge-RCU-bh-into-RCU-preempt.patch @@ -1,8 +1,7 @@ -From d21751c3efb035a08326d8a28789b91cb769ea70 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 5 Oct 2011 11:59:38 -0700 -Subject: [PATCH 158/347] rcu: Merge RCU-bh into RCU-preempt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 158/342] rcu: Merge RCU-bh into RCU-preempt +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e8243820023d1864d3416ab5ecae7c3537625b9e The Linux kernel has long RCU-bh read-side critical sections that intolerably increase scheduling latency under mainline's RCU-bh rules, @@ -346,6 +345,3 @@ index 81688a133552..6ffafb1b1584 100644 #endif /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */ --- -2.36.1 - diff --git a/debian/patches-rt/0159-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch b/debian/patches-rt/0159-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch index 44b6d052a..e166211d1 100644 --- a/debian/patches-rt/0159-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch +++ b/debian/patches-rt/0159-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch @@ -1,8 +1,7 @@ -From 19f2644a64bbf80c134cc923b59d5448d76af806 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> Date: Wed, 5 Oct 2011 11:45:18 -0700 -Subject: [PATCH 159/347] rcu: Make ksoftirqd do RCU quiescent states -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 159/342] rcu: Make ksoftirqd do RCU quiescent states +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=910ed8de1b690c46028f322611f08647be22a46e Implementing RCU-bh in terms of RCU-preempt makes the system vulnerable to network-based denial-of-service attacks. This patch therefore @@ -112,6 +111,3 @@ index e9ce51e19e87..938e64c69d18 100644 /* * Prepare a CPU for idle from an RCU perspective. The first major task --- -2.36.1 - diff --git a/debian/patches-rt/0160-rcu-Eliminate-softirq-processing-from-rcutree.patch b/debian/patches-rt/0160-rcu-Eliminate-softirq-processing-from-rcutree.patch index d4a6e3195..00533902b 100644 --- a/debian/patches-rt/0160-rcu-Eliminate-softirq-processing-from-rcutree.patch +++ b/debian/patches-rt/0160-rcu-Eliminate-softirq-processing-from-rcutree.patch @@ -1,8 +1,7 @@ -From 4fa514eb294144f8698e721f4b5a4de0447be272 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> Date: Mon, 4 Nov 2013 13:21:10 -0800 -Subject: [PATCH 160/347] rcu: Eliminate softirq processing from rcutree -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 160/342] rcu: Eliminate softirq processing from rcutree +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e6956a4a5226c57030ab0f03a099961a7912622c Running RCU out of softirq is a problem for some workloads that would like to manage RCU core processing independently of other softirq work, @@ -418,6 +417,3 @@ index 938e64c69d18..56639c8ed550 100644 static bool rcu_is_callbacks_kthread(void) { return false; --- -2.36.1 - diff --git a/debian/patches-rt/0161-srcu-use-cpu_online-instead-custom-check.patch b/debian/patches-rt/0161-srcu-use-cpu_online-instead-custom-check.patch index 626188f7a..f59184c6f 100644 --- a/debian/patches-rt/0161-srcu-use-cpu_online-instead-custom-check.patch +++ b/debian/patches-rt/0161-srcu-use-cpu_online-instead-custom-check.patch @@ -1,8 +1,7 @@ -From 4ce509b22af5e28f62c90f342169dad726731a39 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 13 Sep 2017 14:43:41 +0200 -Subject: [PATCH 161/347] srcu: use cpu_online() instead custom check -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 161/342] srcu: use cpu_online() instead custom check +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=40f0daab09838e3cb2bb289fd81961d4b99a371b The current check via srcu_online is slightly racy because after looking at srcu_online there could be an interrupt that interrupted us long @@ -91,6 +90,3 @@ index ae716ca783bc..f162a4f54b05 100644 return 0; } --- -2.36.1 - diff --git a/debian/patches-rt/0162-srcu-replace-local_irqsave-with-a-locallock.patch b/debian/patches-rt/0162-srcu-replace-local_irqsave-with-a-locallock.patch index 5cdde2079..b6f85e0af 100644 --- a/debian/patches-rt/0162-srcu-replace-local_irqsave-with-a-locallock.patch +++ b/debian/patches-rt/0162-srcu-replace-local_irqsave-with-a-locallock.patch @@ -1,8 +1,7 @@ -From 62524e62d2f224889aee36c1c134f0efb2fba025 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 12 Oct 2017 18:37:12 +0200 -Subject: [PATCH 162/347] srcu: replace local_irqsave() with a locallock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 162/342] srcu: replace local_irqsave() with a locallock +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2fc8ab8893cf5d21d8f969355bfafef1e2d061f9 There are two instances which disable interrupts in order to become a stable this_cpu_ptr() pointer. The restore part is coupled with @@ -72,6 +71,3 @@ index df0375453ba1..0f09a1a9e17c 100644 if (needgp) srcu_funnel_gp_start(sp, sdp, s, do_norm); else if (needexp) --- -2.36.1 - diff --git a/debian/patches-rt/0163-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch b/debian/patches-rt/0163-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch index 495aa2d9d..deabd95f6 100644 --- a/debian/patches-rt/0163-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch +++ b/debian/patches-rt/0163-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch @@ -1,8 +1,7 @@ -From 4da02c2768978a9206e437ab36a1d6e9ed2641af Mon Sep 17 00:00:00 2001 From: Julia Cartwright <julia@ni.com> Date: Wed, 12 Oct 2016 11:21:14 -0500 -Subject: [PATCH 163/347] rcu: enable rcu_normal_after_boot by default for RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 163/342] rcu: enable rcu_normal_after_boot by default for RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2a0165d80207502259764b4e08ff9292ec282d14 The forcing of an expedited grace period is an expensive and very RT-application unfriendly operation, as it forcibly preempts all running @@ -32,6 +31,3 @@ index 6ffafb1b1584..16d8dba23329 100644 module_param(rcu_normal_after_boot, int, 0); #endif /* #ifndef CONFIG_TINY_RCU */ --- -2.36.1 - diff --git a/debian/patches-rt/0164-tty-serial-omap-Make-the-locking-RT-aware.patch b/debian/patches-rt/0164-tty-serial-omap-Make-the-locking-RT-aware.patch index 842a20687..34496fcb7 100644 --- a/debian/patches-rt/0164-tty-serial-omap-Make-the-locking-RT-aware.patch +++ b/debian/patches-rt/0164-tty-serial-omap-Make-the-locking-RT-aware.patch @@ -1,8 +1,7 @@ -From ebe8e211893ebd446569ab83eeb7277a77db835f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 28 Jul 2011 13:32:57 +0200 -Subject: [PATCH 164/347] tty/serial/omap: Make the locking RT aware -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 164/342] tty/serial/omap: Make the locking RT aware +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=21dad8bb64706a3b67bd55dc0e9bbc20e87e5975 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 @@ -44,6 +43,3 @@ index 6420ae581a80..0f4f41ed9ffa 100644 } static int __init --- -2.36.1 - diff --git a/debian/patches-rt/0165-tty-serial-pl011-Make-the-locking-work-on-RT.patch b/debian/patches-rt/0165-tty-serial-pl011-Make-the-locking-work-on-RT.patch index 6309f7e50..9bb7c51b0 100644 --- a/debian/patches-rt/0165-tty-serial-pl011-Make-the-locking-work-on-RT.patch +++ b/debian/patches-rt/0165-tty-serial-pl011-Make-the-locking-work-on-RT.patch @@ -1,8 +1,7 @@ -From e699af6cca35d036a6876b5c9ec0b1355cc16842 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 8 Jan 2013 21:36:51 +0100 -Subject: [PATCH 165/347] tty/serial/pl011: Make the locking work on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 165/342] tty/serial/pl011: Make the locking work on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4fdbc8d0d5cf770ae17bc4112cb279784d1e78de 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. @@ -13,10 +12,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 5edc3813a9b9..7d4aee4c5091 100644 +index 7de4bed1ddba..c93f742f1d9d 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -2196,13 +2196,19 @@ pl011_console_write(struct console *co, const char *s, unsigned int count) +@@ -2215,13 +2215,19 @@ pl011_console_write(struct console *co, const char *s, unsigned int count) clk_enable(uap->clk); @@ -39,7 +38,7 @@ index 5edc3813a9b9..7d4aee4c5091 100644 /* * First save the CR then disable the interrupts -@@ -2228,8 +2234,7 @@ pl011_console_write(struct console *co, const char *s, unsigned int count) +@@ -2247,8 +2253,7 @@ pl011_console_write(struct console *co, const char *s, unsigned int count) pl011_write(old_cr, uap, REG_CR); if (locked) @@ -49,6 +48,3 @@ index 5edc3813a9b9..7d4aee4c5091 100644 clk_disable(uap->clk); } --- -2.36.1 - diff --git a/debian/patches-rt/0166-tty-serial-pl011-explicitly-initialize-the-flags-var.patch b/debian/patches-rt/0166-tty-serial-pl011-explicitly-initialize-the-flags-var.patch index abf490978..963fe9faf 100644 --- a/debian/patches-rt/0166-tty-serial-pl011-explicitly-initialize-the-flags-var.patch +++ b/debian/patches-rt/0166-tty-serial-pl011-explicitly-initialize-the-flags-var.patch @@ -1,12 +1,11 @@ -From 59b39d4106f01f2ad2f1e7999490b5afc54f8b49 Mon Sep 17 00:00:00 2001 From: Kurt Kanzenbach <kurt@linutronix.de> Date: Mon, 24 Sep 2018 10:29:01 +0200 -Subject: [PATCH 166/347] tty: serial: pl011: explicitly initialize the flags +Subject: [PATCH 166/342] tty: serial: pl011: explicitly initialize the flags variable 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2a2684c06eb6b87c6cd8a915f01cd285ae4acec1 Silence the following gcc warning: @@ -28,10 +27,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 7d4aee4c5091..9666a20f23ec 100644 +index c93f742f1d9d..925c3556ffb9 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -2191,7 +2191,7 @@ pl011_console_write(struct console *co, const char *s, unsigned int count) +@@ -2210,7 +2210,7 @@ pl011_console_write(struct console *co, const char *s, unsigned int count) { struct uart_amba_port *uap = amba_ports[co->index]; unsigned int old_cr = 0, new_cr; @@ -40,6 +39,3 @@ index 7d4aee4c5091..9666a20f23ec 100644 int locked = 1; clk_enable(uap->clk); --- -2.36.1 - diff --git a/debian/patches-rt/0167-rt-Improve-the-serial-console-PASS_LIMIT.patch b/debian/patches-rt/0167-rt-Improve-the-serial-console-PASS_LIMIT.patch index aa552dbab..5fbfa68c3 100644 --- a/debian/patches-rt/0167-rt-Improve-the-serial-console-PASS_LIMIT.patch +++ b/debian/patches-rt/0167-rt-Improve-the-serial-console-PASS_LIMIT.patch @@ -1,11 +1,10 @@ -From 2ca7e055b4220689e58ff53c7e64caf5e8eadb37 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Wed, 14 Dec 2011 13:05:54 +0100 -Subject: [PATCH 167/347] rt: Improve the serial console PASS_LIMIT +Subject: [PATCH 167/342] rt: Improve the serial console PASS_LIMIT 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c489a37730ab7dc6711eaf529e620ffa4a040083 Beyond the warning: @@ -42,6 +41,3 @@ index d2df7d71d666..57fd29b2ddf5 100644 #include <asm/serial.h> /* --- -2.36.1 - diff --git a/debian/patches-rt/0168-tty-serial-8250-don-t-take-the-trylock-during-oops.patch b/debian/patches-rt/0168-tty-serial-8250-don-t-take-the-trylock-during-oops.patch index 8cb91d2aa..e80b1a15e 100644 --- a/debian/patches-rt/0168-tty-serial-8250-don-t-take-the-trylock-during-oops.patch +++ b/debian/patches-rt/0168-tty-serial-8250-don-t-take-the-trylock-during-oops.patch @@ -1,8 +1,7 @@ -From bf2010a260b11e805d39d0d1a6d0302b1d3e7210 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 11 Apr 2016 16:55:02 +0200 -Subject: [PATCH 168/347] tty: serial: 8250: don't take the trylock during oops -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 168/342] tty: serial: 8250: don't take the trylock during oops +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9baedf4a77e41542731e04db12fe39ec29b3f547 An oops with irqs off (panic() from irqsafe hrtimer like the watchdog timer) will lead to a lockdep warning on each invocation and as such @@ -15,10 +14,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c -index 34687c354f5e..ef8bccc0823c 100644 +index f11d1202566e..33d489691fdf 100644 --- a/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c -@@ -3294,10 +3294,8 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s, +@@ -3298,10 +3298,8 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s, serial8250_rpm_get(up); @@ -30,6 +29,3 @@ index 34687c354f5e..ef8bccc0823c 100644 else spin_lock_irqsave(&port->lock, flags); --- -2.36.1 - diff --git a/debian/patches-rt/0169-locking-percpu-rwsem-Remove-preempt_disable-variants.patch b/debian/patches-rt/0169-locking-percpu-rwsem-Remove-preempt_disable-variants.patch index a6a0cd7c4..2691f7f99 100644 --- a/debian/patches-rt/0169-locking-percpu-rwsem-Remove-preempt_disable-variants.patch +++ b/debian/patches-rt/0169-locking-percpu-rwsem-Remove-preempt_disable-variants.patch @@ -1,8 +1,7 @@ -From 80adc8fb1dabebcc9d41cb6c0f122860061c12a3 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <peterz@infradead.org> Date: Wed, 23 Nov 2016 16:29:32 +0100 -Subject: [PATCH 169/347] locking/percpu-rwsem: Remove preempt_disable variants -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 169/342] locking/percpu-rwsem: Remove preempt_disable variants +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a6144b3d320a51f37923f97565c2075acfa272e2 Effective revert commit: @@ -221,6 +220,3 @@ index 79b99d653e03..fb44e237316d 100644 extern void percpu_down_write(struct percpu_rw_semaphore *); extern void percpu_up_write(struct percpu_rw_semaphore *); --- -2.36.1 - diff --git a/debian/patches-rt/0170-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch b/debian/patches-rt/0170-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch index f39bdbeba..efb35b78d 100644 --- a/debian/patches-rt/0170-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch +++ b/debian/patches-rt/0170-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch @@ -1,9 +1,8 @@ -From 67c3a14d6fbac8e692c9e7a999b7fe8d062529bc Mon Sep 17 00:00:00 2001 From: Yong Zhang <yong.zhang0@gmail.com> Date: Tue, 15 May 2012 13:53:56 +0800 -Subject: [PATCH 170/347] mm: Protect activate_mm() by +Subject: [PATCH 170/342] mm: Protect activate_mm() by preempt_[disable&enable]_rt() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9c267b77756364bd7e03dfa8c35b44e8aac88a92 User preempt_*_rt instead of local_irq_*_rt or otherwise there will be warning on ARM like below: @@ -77,6 +76,3 @@ index 3e612ae748e9..d0ccc070979f 100644 task_unlock(tsk); #ifdef finish_arch_post_lock_switch finish_arch_post_lock_switch(); --- -2.36.1 - diff --git a/debian/patches-rt/0171-fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-ini.patch b/debian/patches-rt/0171-fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-ini.patch index c6db9639d..fd867af3a 100644 --- a/debian/patches-rt/0171-fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-ini.patch +++ b/debian/patches-rt/0171-fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-ini.patch @@ -1,9 +1,8 @@ -From 54729c769ee68192a795377f27cc479b959ca152 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 13 Sep 2017 12:32:34 +0200 -Subject: [PATCH 171/347] fs/dcache: bring back explicit INIT_HLIST_BL_HEAD +Subject: [PATCH 171/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=16d7e388305072fa331ed9314f101642caf833df 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 @@ -56,6 +55,3 @@ index 1897833a4668..b5e53587d14b 100644 d_hash_shift = 32 - d_hash_shift; } --- -2.36.1 - diff --git a/debian/patches-rt/0172-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch b/debian/patches-rt/0172-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch index 83ac5e6c0..5e95883cd 100644 --- a/debian/patches-rt/0172-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch +++ b/debian/patches-rt/0172-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch @@ -1,9 +1,8 @@ -From 44eeab3501a8354ba4c3fe6414168df6ccf60b74 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 20 Oct 2017 11:29:53 +0200 -Subject: [PATCH 172/347] fs/dcache: disable preemption on i_dir_seq's write +Subject: [PATCH 172/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e5aa3cd1fb61377548b05992478366fa06df648a 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 @@ -94,6 +93,3 @@ index 86f884e78b6b..029870aca4ff 100644 }; __u32 i_generation; --- -2.36.1 - diff --git a/debian/patches-rt/0173-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch b/debian/patches-rt/0173-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch index e885134f9..a8c04adce 100644 --- a/debian/patches-rt/0173-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch +++ b/debian/patches-rt/0173-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch @@ -1,9 +1,8 @@ -From 98873b747e4321516bb428c214fde307593e19f8 Mon Sep 17 00:00:00 2001 From: Julia Cartwright <julia@ni.com> Date: Mon, 7 May 2018 08:58:57 -0500 -Subject: [PATCH 173/347] squashfs: make use of local lock in multi_cpu +Subject: [PATCH 173/342] squashfs: make use of local lock in multi_cpu decompressor -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cd15b8ea0b373f60c52fd336a51db28780e51ddf Currently, the squashfs multi_cpu decompressor makes use of get_cpu_ptr()/put_cpu_ptr(), which unconditionally disable preemption @@ -67,6 +66,3 @@ index 23a9c28ad8ea..6a73c4fa88e7 100644 if (res < 0) ERROR("%s decompression failed, data probably corrupt\n", --- -2.36.1 - diff --git a/debian/patches-rt/0174-thermal-Defer-thermal-wakups-to-threads.patch b/debian/patches-rt/0174-thermal-Defer-thermal-wakups-to-threads.patch index 87e9fc777..55f25516b 100644 --- a/debian/patches-rt/0174-thermal-Defer-thermal-wakups-to-threads.patch +++ b/debian/patches-rt/0174-thermal-Defer-thermal-wakups-to-threads.patch @@ -1,8 +1,7 @@ -From add227c3c4d74e71f3d02036aed9c6ceae6a6f6c Mon Sep 17 00:00:00 2001 From: Daniel Wagner <wagi@monom.org> Date: Tue, 17 Feb 2015 09:37:44 +0100 -Subject: [PATCH 174/347] thermal: Defer thermal wakups to threads -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 174/342] thermal: Defer thermal wakups to threads +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=80d2debabf144ce9ed2ba4ef7be880809eb9415e On RT the spin lock in pkg_temp_thermal_platfrom_thermal_notify will call schedule while we run in irq context. @@ -132,6 +131,3 @@ index 1ef937d799e4..a5991cbb408f 100644 } module_exit(pkg_temp_thermal_exit) --- -2.36.1 - diff --git a/debian/patches-rt/0175-x86-fpu-Disable-preemption-around-local_bh_disable.patch b/debian/patches-rt/0175-x86-fpu-Disable-preemption-around-local_bh_disable.patch index 1aaf1d6d1..83ea602c2 100644 --- a/debian/patches-rt/0175-x86-fpu-Disable-preemption-around-local_bh_disable.patch +++ b/debian/patches-rt/0175-x86-fpu-Disable-preemption-around-local_bh_disable.patch @@ -1,8 +1,7 @@ -From b666ce0515d1940495c2bbb0ca0f32c1fea9ef38 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 11 Dec 2018 15:10:33 +0100 -Subject: [PATCH 175/347] x86/fpu: Disable preemption around local_bh_disable() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 175/342] x86/fpu: Disable preemption around local_bh_disable() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=71e8b8cd3f9e13bcfed104c93718b61839917f12 __fpu__restore_sig() restores the content of the FPU state in the CPUs and in order to avoid concurency it disbles BH. On !RT it also disables @@ -33,6 +32,3 @@ index 86a231338bbf..e5c8d5245289 100644 /* Failure is already handled */ return err; --- -2.36.1 - diff --git a/debian/patches-rt/0176-fs-epoll-Do-not-disable-preemption-on-RT.patch b/debian/patches-rt/0176-fs-epoll-Do-not-disable-preemption-on-RT.patch index bf911af26..a38bf0919 100644 --- a/debian/patches-rt/0176-fs-epoll-Do-not-disable-preemption-on-RT.patch +++ b/debian/patches-rt/0176-fs-epoll-Do-not-disable-preemption-on-RT.patch @@ -1,8 +1,7 @@ -From 6507a3f1c5cfe4486efb5aada6114437dd6d099f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 8 Jul 2011 16:35:35 +0200 -Subject: [PATCH 176/347] fs/epoll: Do not disable preemption on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 176/342] fs/epoll: Do not disable preemption on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=39465cb875c530ab48723b2d7631fd7f39e0a332 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 @@ -32,6 +31,3 @@ index a4a32b79e832..8569db5eceb0 100644 } #else --- -2.36.1 - diff --git a/debian/patches-rt/0177-mm-vmalloc-Another-preempt-disable-region-which-suck.patch b/debian/patches-rt/0177-mm-vmalloc-Another-preempt-disable-region-which-suck.patch index 54171e08f..a0fd78510 100644 --- a/debian/patches-rt/0177-mm-vmalloc-Another-preempt-disable-region-which-suck.patch +++ b/debian/patches-rt/0177-mm-vmalloc-Another-preempt-disable-region-which-suck.patch @@ -1,9 +1,8 @@ -From 1bb6422feb2c5d6c151b91f71dac97b33685af69 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 12 Jul 2011 11:39:36 +0200 -Subject: [PATCH 177/347] mm/vmalloc: Another preempt disable region which +Subject: [PATCH 177/342] mm/vmalloc: Another preempt disable region which sucks -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=08f4a1f48722a9046148340af70b3e2fcde3eb75 Avoid the preempt disable version of get_cpu_var(). The inner-lock should provide enough serialisation. @@ -68,6 +67,3 @@ index 1817871b0239..aa06badc76f4 100644 rcu_read_unlock(); /* Allocate new block if nothing was found */ --- -2.36.1 - diff --git a/debian/patches-rt/0178-block-mq-use-cpu_light.patch b/debian/patches-rt/0178-block-mq-use-cpu_light.patch index 127e4aeb1..ed3ebd629 100644 --- a/debian/patches-rt/0178-block-mq-use-cpu_light.patch +++ b/debian/patches-rt/0178-block-mq-use-cpu_light.patch @@ -1,8 +1,7 @@ -From 0d89852edf5dc2169659eb46bba1b5dc4f92444b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 9 Apr 2014 10:37:23 +0200 -Subject: [PATCH 178/347] block: mq: use cpu_light() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 178/342] block: mq: use cpu_light() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ceaaa62b2d57cc6c4ea2ea7dba6f6c266bd208b5 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(). @@ -31,6 +30,3 @@ index 5ad9251627f8..5a96c97991b6 100644 } struct blk_mq_alloc_data { --- -2.36.1 - diff --git a/debian/patches-rt/0179-block-mq-do-not-invoke-preempt_disable.patch b/debian/patches-rt/0179-block-mq-do-not-invoke-preempt_disable.patch index c6d47b2d4..859ff09e8 100644 --- a/debian/patches-rt/0179-block-mq-do-not-invoke-preempt_disable.patch +++ b/debian/patches-rt/0179-block-mq-do-not-invoke-preempt_disable.patch @@ -1,8 +1,7 @@ -From 438290ebaac377f499a9c17e07ffa735ff6db1c2 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 179/347] block/mq: do not invoke preempt_disable() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 179/342] block/mq: do not invoke preempt_disable() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fb97e375c69de88bac89ad2d4b152f3ae23637ad preempt_disable() and get_cpu() don't play well together with the sleeping locks it tries to allocate later. @@ -53,6 +52,3 @@ index ffa97d90bde9..ea41d67e4db5 100644 } kblockd_mod_delayed_work_on(blk_mq_hctx_next_cpu(hctx), &hctx->run_work, --- -2.36.1 - diff --git a/debian/patches-rt/0180-block-mq-don-t-complete-requests-via-IPI.patch b/debian/patches-rt/0180-block-mq-don-t-complete-requests-via-IPI.patch index b29ad2ead..207cd80ff 100644 --- a/debian/patches-rt/0180-block-mq-don-t-complete-requests-via-IPI.patch +++ b/debian/patches-rt/0180-block-mq-don-t-complete-requests-via-IPI.patch @@ -1,8 +1,7 @@ -From 229760413c4138a40587def4f9420bdb432fa502 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 29 Jan 2015 15:10:08 +0100 -Subject: [PATCH 180/347] block/mq: don't complete requests via IPI -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 180/342] block/mq: don't complete requests via IPI +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4e9380971f8b08119840af917fb3d20b44697363 The IPI runs in hardirq context and there are sleeping locks. This patch moves the completion into a workqueue. @@ -114,6 +113,3 @@ index 56fe682d9beb..39d90bf9b5fa 100644 struct blk_mq_ctx *mq_ctx; int cpu; --- -2.36.1 - diff --git a/debian/patches-rt/0181-md-raid5-Make-raid5_percpu-handling-RT-aware.patch b/debian/patches-rt/0181-md-raid5-Make-raid5_percpu-handling-RT-aware.patch index e1f7c3fce..148b94e4b 100644 --- a/debian/patches-rt/0181-md-raid5-Make-raid5_percpu-handling-RT-aware.patch +++ b/debian/patches-rt/0181-md-raid5-Make-raid5_percpu-handling-RT-aware.patch @@ -1,8 +1,7 @@ -From 17db75361d2ecbea4026acde76a744fdecc4c475 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 6 Apr 2010 16:51:31 +0200 -Subject: [PATCH 181/347] md: raid5: Make raid5_percpu handling RT aware -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 181/342] md: raid5: Make raid5_percpu handling RT aware +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ee5b72719d2eaaef95179f02ba27140ecc010e87 __raid_run_ops() disables preemption with get_cpu() around the access to the raid5_percpu variables. That causes scheduling while atomic @@ -20,7 +19,7 @@ Tested-by: Udo van den Heuvel <udovdh@xs4all.nl> 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c -index c7bda4b0bced..8eb234732c9b 100644 +index dad426cc0f90..73083d826cb5 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -2069,8 +2069,9 @@ static void raid_run_ops(struct stripe_head *sh, unsigned long ops_request) @@ -72,6 +71,3 @@ index 8474c224127b..a3bf907ab2af 100644 struct page *spare_page; /* Used when checking P/Q in raid6 */ struct flex_array *scribble; /* space for constructing buffer * lists and performing address --- -2.36.1 - diff --git a/debian/patches-rt/0182-rt-Introduce-cpu_chill.patch b/debian/patches-rt/0182-rt-Introduce-cpu_chill.patch index 4980e8e7b..45763af0f 100644 --- a/debian/patches-rt/0182-rt-Introduce-cpu_chill.patch +++ b/debian/patches-rt/0182-rt-Introduce-cpu_chill.patch @@ -1,8 +1,7 @@ -From 7c3cf849b26619430967542431dbe55c30629824 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 7 Mar 2012 20:51:03 +0100 -Subject: [PATCH 182/347] rt: Introduce cpu_chill() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 182/342] rt: Introduce cpu_chill() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1a90e8a8114c8293b082950723f161fb291c9a98 Retry loops on RT might loop forever when the modifying side was preempted. Add cpu_chill() to replace cpu_relax(). cpu_chill() @@ -108,6 +107,3 @@ index 009001f06d33..0b94f54453ef 100644 /* * Functions related to boot-time initialization: */ --- -2.36.1 - diff --git a/debian/patches-rt/0183-hrtimer-Don-t-lose-state-in-cpu_chill.patch b/debian/patches-rt/0183-hrtimer-Don-t-lose-state-in-cpu_chill.patch index bb9264a1f..f559f43c0 100644 --- a/debian/patches-rt/0183-hrtimer-Don-t-lose-state-in-cpu_chill.patch +++ b/debian/patches-rt/0183-hrtimer-Don-t-lose-state-in-cpu_chill.patch @@ -1,8 +1,7 @@ -From f5a443f1a8355f1e2aca72d20e931d136b979ac9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 19 Feb 2019 16:59:15 +0100 -Subject: [PATCH 183/347] hrtimer: Don't lose state in cpu_chill() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 183/342] hrtimer: Don't lose state in cpu_chill() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=97dde541f771635fac327fcb3c43579f5a62e644 In cpu_chill() the state is set to TASK_UNINTERRUPTIBLE and a timer is programmed. On return the state is always TASK_RUNNING which means we @@ -43,6 +42,3 @@ index 0b94f54453ef..96e505abf939 100644 } EXPORT_SYMBOL(cpu_chill); #endif --- -2.36.1 - diff --git a/debian/patches-rt/0184-hrtimer-cpu_chill-save-task-state-in-saved_state.patch b/debian/patches-rt/0184-hrtimer-cpu_chill-save-task-state-in-saved_state.patch index 6917a5783..7c2b86a09 100644 --- a/debian/patches-rt/0184-hrtimer-cpu_chill-save-task-state-in-saved_state.patch +++ b/debian/patches-rt/0184-hrtimer-cpu_chill-save-task-state-in-saved_state.patch @@ -1,9 +1,8 @@ -From 351c688963d6bfafec5cf05168e195effc77811c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 26 Feb 2019 12:31:10 +0100 -Subject: [PATCH 184/347] hrtimer: cpu_chill(): save task state in +Subject: [PATCH 184/342] hrtimer: cpu_chill(): save task state in ->saved_state() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=250017b35e442ec3f0c0de915bc759b7c09970a4 In the previous change I saved the current task state on stack. This was bad because while the task is scheduled-out it might receive a wake-up. @@ -58,6 +57,3 @@ index 96e505abf939..aa8f3177580a 100644 } EXPORT_SYMBOL(cpu_chill); #endif --- -2.36.1 - diff --git a/debian/patches-rt/0185-block-blk-mq-move-blk_queue_usage_counter_release-in.patch b/debian/patches-rt/0185-block-blk-mq-move-blk_queue_usage_counter_release-in.patch index 802e53619..a408a43f9 100644 --- a/debian/patches-rt/0185-block-blk-mq-move-blk_queue_usage_counter_release-in.patch +++ b/debian/patches-rt/0185-block-blk-mq-move-blk_queue_usage_counter_release-in.patch @@ -1,9 +1,8 @@ -From 3c180d9b5b9620bc5c18e0a7fb9f02059b333db3 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 13 Mar 2018 13:49:16 +0100 -Subject: [PATCH 185/347] block: blk-mq: move blk_queue_usage_counter_release() +Subject: [PATCH 185/342] block: blk-mq: move blk_queue_usage_counter_release() into process context -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6a7adb1b98617edcc96b31d7e0540fa0c3e0028e | 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 @@ -115,6 +114,3 @@ index 39d90bf9b5fa..0313098a428d 100644 struct percpu_ref q_usage_counter; struct list_head all_q_node; --- -2.36.1 - diff --git a/debian/patches-rt/0186-block-Use-cpu_chill-for-retry-loops.patch b/debian/patches-rt/0186-block-Use-cpu_chill-for-retry-loops.patch index 1e0c86edd..96077e1de 100644 --- a/debian/patches-rt/0186-block-Use-cpu_chill-for-retry-loops.patch +++ b/debian/patches-rt/0186-block-Use-cpu_chill-for-retry-loops.patch @@ -1,8 +1,7 @@ -From f13997a9d1ad83528116e8daabc9b2247530ec63 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 20 Dec 2012 18:28:26 +0100 -Subject: [PATCH 186/347] block: Use cpu_chill() for retry loops -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 186/342] block: Use cpu_chill() for retry loops +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=09fd64566fb6662245eaad575fa0c9639974f404 Retry loops on RT might loop forever when the modifying side was preempted. Steven also observed a live lock when there was a @@ -46,6 +45,3 @@ index 4c810969c3e2..48089f5bcc11 100644 goto retry; } } --- -2.36.1 - diff --git a/debian/patches-rt/0187-fs-dcache-Use-cpu_chill-in-trylock-loops.patch b/debian/patches-rt/0187-fs-dcache-Use-cpu_chill-in-trylock-loops.patch index 2df32b031..e25f891db 100644 --- a/debian/patches-rt/0187-fs-dcache-Use-cpu_chill-in-trylock-loops.patch +++ b/debian/patches-rt/0187-fs-dcache-Use-cpu_chill-in-trylock-loops.patch @@ -1,8 +1,7 @@ -From d12da2a9ddfd2e6803327ef9856a63caedb4c653 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 7 Mar 2012 21:00:34 +0100 -Subject: [PATCH 187/347] fs: dcache: Use cpu_chill() in trylock loops -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 187/342] fs: dcache: Use cpu_chill() in trylock loops +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e02df13d5d60689b59c3c616e8d5e8b0b590f5ac Retry loops on RT might loop forever when the modifying side was preempted. Use cpu_chill() instead of cpu_relax() to let the system @@ -61,6 +60,3 @@ index 396ff1bcfdad..2c0ff275e978 100644 /* * After the slowpath clears MNT_WRITE_HOLD, mnt_is_readonly will * be set to match its requirements. So we must not load that until --- -2.36.1 - diff --git a/debian/patches-rt/0188-net-Use-cpu_chill-instead-of-cpu_relax.patch b/debian/patches-rt/0188-net-Use-cpu_chill-instead-of-cpu_relax.patch index eace39fdc..842d973e9 100644 --- a/debian/patches-rt/0188-net-Use-cpu_chill-instead-of-cpu_relax.patch +++ b/debian/patches-rt/0188-net-Use-cpu_chill-instead-of-cpu_relax.patch @@ -1,8 +1,7 @@ -From 6113e8d5c66aab6927b9d8656e1c5b1e8d7e35fb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 7 Mar 2012 21:10:04 +0100 -Subject: [PATCH 188/347] net: Use cpu_chill() instead of cpu_relax() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 188/342] net: Use cpu_chill() instead of cpu_relax() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=08d2287893d5effd32a2d1c8821c3cf55702d8c2 Retry loops on RT might loop forever when the modifying side was preempted. Use cpu_chill() instead of cpu_relax() to let the system @@ -65,6 +64,3 @@ index 0b347f46b2f4..f395f06031bc 100644 } } --- -2.36.1 - diff --git a/debian/patches-rt/0189-fs-dcache-use-swait_queue-instead-of-waitqueue.patch b/debian/patches-rt/0189-fs-dcache-use-swait_queue-instead-of-waitqueue.patch index 70a3b56d9..5e37f719f 100644 --- a/debian/patches-rt/0189-fs-dcache-use-swait_queue-instead-of-waitqueue.patch +++ b/debian/patches-rt/0189-fs-dcache-use-swait_queue-instead-of-waitqueue.patch @@ -1,8 +1,7 @@ -From c6039e4946aa32ae6b790148a5a7357380e4a998 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 14 Sep 2016 14:35:49 +0200 -Subject: [PATCH 189/347] fs/dcache: use swait_queue instead of waitqueue -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 189/342] fs/dcache: use swait_queue instead of waitqueue +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d7dde6c012afca804e922a5e807f06908f9170fe __d_lookup_done() invokes wake_up_all() while holding a hlist_bl_lock() which disables preemption. As a workaround convert it to swait. @@ -236,6 +235,3 @@ index c7cb30cdd1b7..119a56d7f739 100644 raw_spin_lock_irq(&q->lock); list_splice_init(&q->task_list, &tmp); while (!list_empty(&tmp)) { --- -2.36.1 - diff --git a/debian/patches-rt/0190-workqueue-Use-normal-rcu.patch b/debian/patches-rt/0190-workqueue-Use-normal-rcu.patch index ca3010992..da306db75 100644 --- a/debian/patches-rt/0190-workqueue-Use-normal-rcu.patch +++ b/debian/patches-rt/0190-workqueue-Use-normal-rcu.patch @@ -1,8 +1,7 @@ -From 8a58c9e05c039f23a1192df034ad9f56961ba52d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 24 Jul 2013 15:26:54 +0200 -Subject: [PATCH 190/347] workqueue: Use normal rcu -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 190/342] workqueue: Use normal rcu +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=320456e9c705d27e54f3896084adce4fc4930f86 There is no need for sched_rcu. The undocumented reason why sched_rcu is used is to avoid a few explicit rcu_read_lock()/unlock() pairs by @@ -355,6 +354,3 @@ index b1bb6cb5802e..3e2f67b77ab8 100644 return written; } --- -2.36.1 - diff --git a/debian/patches-rt/0191-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch b/debian/patches-rt/0191-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch index d77219e80..af0123dec 100644 --- a/debian/patches-rt/0191-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch +++ b/debian/patches-rt/0191-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch @@ -1,9 +1,8 @@ -From c05bd3f09ed30bc24aa6a2fe5cfc0abd2fe883b3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 17 Jul 2011 21:42:26 +0200 -Subject: [PATCH 191/347] workqueue: Use local irq lock instead of irq disable +Subject: [PATCH 191/342] workqueue: Use local irq lock instead of irq disable regions -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=db677b16afffaae08d8aa77b72025ae6155646ca Use a local_irq_lock as a replacement for irq off regions. We keep the semantic of irq-off in regard to the pool->lock and remain preemptible. @@ -181,6 +180,3 @@ index 3e2f67b77ab8..2b4c052c51b3 100644 return ret; } --- -2.36.1 - diff --git a/debian/patches-rt/0192-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch b/debian/patches-rt/0192-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch index 28a95db99..998f230b3 100644 --- a/debian/patches-rt/0192-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch +++ b/debian/patches-rt/0192-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch @@ -1,8 +1,7 @@ -From c86179fe263e888b8dcffa0f1956e2b170b36b48 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 1 Jul 2013 11:02:42 +0200 -Subject: [PATCH 192/347] workqueue: Prevent workqueue versus ata-piix livelock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 192/342] workqueue: Prevent workqueue versus ata-piix livelock +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7e44200efbc637bb4e2d7632e624fae8d13d050f An Intel i7 system regularly detected rcu_preempt stalls after the kernel was upgraded from 3.6-rt to 3.8-rt. When the stall happened, disk I/O was no @@ -134,6 +133,3 @@ index 2b4c052c51b3..6e73e3eaca5e 100644 return -EAGAIN; } --- -2.36.1 - diff --git a/debian/patches-rt/0193-sched-Distangle-worker-accounting-from-rqlock.patch b/debian/patches-rt/0193-sched-Distangle-worker-accounting-from-rqlock.patch index 5347efe07..a973153f3 100644 --- a/debian/patches-rt/0193-sched-Distangle-worker-accounting-from-rqlock.patch +++ b/debian/patches-rt/0193-sched-Distangle-worker-accounting-from-rqlock.patch @@ -1,8 +1,7 @@ -From a446a9e4a93ca3245891dbdac928195f604ee473 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 22 Jun 2011 19:47:03 +0200 -Subject: [PATCH 193/347] sched: Distangle worker accounting from rqlock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 193/342] sched: Distangle worker accounting from rqlock +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8ca2a73886fa457834e49ae8f2488d39428f7a6b The worker accounting for cpu bound workers is plugged into the core scheduler code and the wakeup code. This is not a hard requirement and @@ -286,6 +285,3 @@ index 66fbb5a9e633..30cfed226b39 100644 +void wq_worker_sleeping(struct task_struct *task); #endif /* _KERNEL_WORKQUEUE_INTERNAL_H */ --- -2.36.1 - diff --git a/debian/patches-rt/0194-debugobjects-Make-RT-aware.patch b/debian/patches-rt/0194-debugobjects-Make-RT-aware.patch index 3fd87b158..84ba1e2bb 100644 --- a/debian/patches-rt/0194-debugobjects-Make-RT-aware.patch +++ b/debian/patches-rt/0194-debugobjects-Make-RT-aware.patch @@ -1,8 +1,7 @@ -From eaad8379256de9e0327feb6fac10f692aaee4498 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 17 Jul 2011 21:41:35 +0200 -Subject: [PATCH 194/347] debugobjects: Make RT aware -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 194/342] debugobjects: Make RT aware +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3f4b31a6cffe2e681eb6631ee488dfb405b2cd8c Avoid filling the pool / allocating memory with irqs off(). @@ -27,6 +26,3 @@ index 14afeeb7d6ef..e28481c402ae 100644 db = get_bucket((unsigned long) addr); --- -2.36.1 - diff --git a/debian/patches-rt/0195-seqlock-Prevent-rt-starvation.patch b/debian/patches-rt/0195-seqlock-Prevent-rt-starvation.patch index 6398461d7..9be672971 100644 --- a/debian/patches-rt/0195-seqlock-Prevent-rt-starvation.patch +++ b/debian/patches-rt/0195-seqlock-Prevent-rt-starvation.patch @@ -1,8 +1,7 @@ -From d2adc15afeaebd45ad21834295e100c5627a7fa2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 22 Feb 2012 12:03:30 +0100 -Subject: [PATCH 195/347] seqlock: Prevent rt starvation -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 195/342] seqlock: Prevent rt starvation +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8072825488181a21a2f501d13d57d3220abcb7f3 If a low prio writer gets preempted while holding the seqlock write locked, a high prio reader spins forever on RT. @@ -190,6 +189,3 @@ index 5ce035984a4d..1166fc17b757 100644 const struct net_device *dev) { unsigned int seq; --- -2.36.1 - diff --git a/debian/patches-rt/0196-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch b/debian/patches-rt/0196-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch index e55b80bd6..c5f235d1e 100644 --- a/debian/patches-rt/0196-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch +++ b/debian/patches-rt/0196-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch @@ -1,9 +1,8 @@ -From f1452101ff124dd5a82d5345b6f92f98d891054f Mon Sep 17 00:00:00 2001 From: Mike Galbraith <umgwanakikbuti@gmail.com> Date: Wed, 18 Feb 2015 16:05:28 +0100 -Subject: [PATCH 196/347] sunrpc: Make svc_xprt_do_enqueue() use +Subject: [PATCH 196/342] sunrpc: Make svc_xprt_do_enqueue() use get_cpu_light() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=228ab644582c29253ee82c543e2ebb2e63f1d55b |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915 |in_atomic(): 1, irqs_disabled(): 0, pid: 3194, name: rpc.nfsd @@ -56,6 +55,3 @@ index 4b56b949a463..83a4a0a13a1c 100644 trace_svc_xprt_do_enqueue(xprt, rqstp); } EXPORT_SYMBOL_GPL(svc_xprt_do_enqueue); --- -2.36.1 - diff --git a/debian/patches-rt/0197-net-Use-skbufhead-with-raw-lock.patch b/debian/patches-rt/0197-net-Use-skbufhead-with-raw-lock.patch index f54ab15b6..4625d57cb 100644 --- a/debian/patches-rt/0197-net-Use-skbufhead-with-raw-lock.patch +++ b/debian/patches-rt/0197-net-Use-skbufhead-with-raw-lock.patch @@ -1,22 +1,20 @@ -From 8c4af88efcc296bc2daa2be90fbea82190799883 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 12 Jul 2011 15:38:34 +0200 -Subject: [PATCH 197/347] net: Use skbufhead with raw lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 197/342] net: Use skbufhead with raw lock +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f524a61883a8ae93a669bc5d257d7bd5ecb25b4f Use the rps lock as rawlock so we can keep irq-off regions. It looks low latency. However we can't kfree() from this context therefore we defer this to the softirq and use the tofree_queue list for it (similar to process_queue). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +[bwh: Adjust context to apply on top of 4.19.257] --- include/linux/netdevice.h | 1 + include/linux/skbuff.h | 7 +++++++ net/core/dev.c | 26 ++++++++++++++++++++------ 3 files changed, 28 insertions(+), 6 deletions(-) -diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h -index 8d48b352ee74..d893dc112afc 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -2990,6 +2990,7 @@ struct softnet_data { @@ -27,8 +25,6 @@ index 8d48b352ee74..d893dc112afc 100644 }; -diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h -index f97734f34746..3ede4f0eac10 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -287,6 +287,7 @@ struct sk_buff_head { @@ -39,7 +35,7 @@ index f97734f34746..3ede4f0eac10 100644 }; struct sk_buff; -@@ -1735,6 +1736,12 @@ static inline void skb_queue_head_init(struct sk_buff_head *list) +@@ -1735,6 +1736,12 @@ static inline void skb_queue_head_init(s __skb_queue_head_init(list); } @@ -52,11 +48,9 @@ index f97734f34746..3ede4f0eac10 100644 static inline void skb_queue_head_init_class(struct sk_buff_head *list, struct lock_class_key *class) { -diff --git a/net/core/dev.c b/net/core/dev.c -index 315bdaf00ac8..c279375fa5b9 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -219,14 +219,14 @@ static inline struct hlist_head *dev_index_hash(struct net *net, int ifindex) +@@ -219,14 +219,14 @@ static inline struct hlist_head *dev_ind static inline void rps_lock(struct softnet_data *sd) { #ifdef CONFIG_RPS @@ -73,7 +67,7 @@ index 315bdaf00ac8..c279375fa5b9 100644 #endif } -@@ -5858,7 +5858,9 @@ static int process_backlog(struct napi_struct *napi, int quota) +@@ -5858,7 +5858,9 @@ static int process_backlog(struct napi_s while (again) { struct sk_buff *skb; @@ -83,7 +77,7 @@ index 315bdaf00ac8..c279375fa5b9 100644 rcu_read_lock(); __netif_receive_skb(skb); rcu_read_unlock(); -@@ -5866,9 +5868,9 @@ static int process_backlog(struct napi_struct *napi, int quota) +@@ -5866,9 +5868,9 @@ static int process_backlog(struct napi_s if (++work >= quota) return work; @@ -94,10 +88,10 @@ index 315bdaf00ac8..c279375fa5b9 100644 rps_lock(sd); if (skb_queue_empty(&sd->input_pkt_queue)) { /* -@@ -6341,13 +6343,21 @@ static __latent_entropy void net_rx_action(struct softirq_action *h) +@@ -6341,13 +6343,21 @@ static __latent_entropy void net_rx_acti unsigned long time_limit = jiffies + - usecs_to_jiffies(netdev_budget_usecs); - int budget = netdev_budget; + usecs_to_jiffies(READ_ONCE(netdev_budget_usecs)); + int budget = READ_ONCE(netdev_budget); + struct sk_buff_head tofree_q; + struct sk_buff *skb; LIST_HEAD(list); @@ -116,7 +110,7 @@ index 315bdaf00ac8..c279375fa5b9 100644 for (;;) { struct napi_struct *n; -@@ -9545,10 +9555,13 @@ static int dev_cpu_dead(unsigned int oldcpu) +@@ -9545,10 +9555,13 @@ static int dev_cpu_dead(unsigned int old netif_rx_ni(skb); input_queue_head_incr(oldsd); } @@ -143,6 +137,3 @@ index 315bdaf00ac8..c279375fa5b9 100644 #ifdef CONFIG_XFRM_OFFLOAD skb_queue_head_init(&sd->xfrm_backlog); #endif --- -2.36.1 - diff --git a/debian/patches-rt/0198-net-move-xmit_recursion-to-per-task-variable-on-RT.patch b/debian/patches-rt/0198-net-move-xmit_recursion-to-per-task-variable-on-RT.patch index 242d9fd91..8bcd7bc6b 100644 --- a/debian/patches-rt/0198-net-move-xmit_recursion-to-per-task-variable-on-RT.patch +++ b/debian/patches-rt/0198-net-move-xmit_recursion-to-per-task-variable-on-RT.patch @@ -1,8 +1,7 @@ -From 5b1c12f86da1a979d45cda068adc9b597bc37e53 Mon Sep 17 00:00:00 2001 From: Clark Williams <williams@redhat.com> Date: Fri, 17 Dec 2021 14:31:31 -0600 -Subject: [PATCH 198/347] net: move xmit_recursion to per-task variable on -RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 198/342] net: move xmit_recursion to per-task variable on -RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=94836799f3c24696f98f3517a0681f167007fd18 A softirq on -RT can be preempted. That means one task is in __dev_queue_xmit(), gets preempted and another task may enter @@ -184,6 +183,3 @@ index c279375fa5b9..a59b1db02f8b 100644 netdev_queue_numa_node_write(queue, NUMA_NO_NODE); queue->dev = dev; #ifdef CONFIG_BQL --- -2.36.1 - diff --git a/debian/patches-rt/0199-net-provide-a-way-to-delegate-processing-a-softirq-t.patch b/debian/patches-rt/0199-net-provide-a-way-to-delegate-processing-a-softirq-t.patch index ad68c8b6d..ab1e08c6b 100644 --- a/debian/patches-rt/0199-net-provide-a-way-to-delegate-processing-a-softirq-t.patch +++ b/debian/patches-rt/0199-net-provide-a-way-to-delegate-processing-a-softirq-t.patch @@ -1,9 +1,8 @@ -From e035c89c203c5d80fa945338da5efe3ec563c7f7 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 20 Jan 2016 15:39:05 +0100 -Subject: [PATCH 199/347] net: provide a way to delegate processing a softirq +Subject: [PATCH 199/342] net: provide a way to delegate processing a softirq to ksoftirqd -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9c6bc0e0c15e8990049af42ea7f423c9057c262d If the NET_RX uses up all of his budget it moves the following NAPI invocations into the `ksoftirqd`. On -RT it does not do so. Instead it @@ -84,6 +83,3 @@ index a59b1db02f8b..2bf357d5602b 100644 net_rps_action_and_irq_enable(sd); out: --- -2.36.1 - diff --git a/debian/patches-rt/0200-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch b/debian/patches-rt/0200-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch index 026e263e5..ad802bb69 100644 --- a/debian/patches-rt/0200-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch +++ b/debian/patches-rt/0200-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch @@ -1,9 +1,8 @@ -From e58c64de87f7c5ae3df17d3f8c9615e1655176eb Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 30 Mar 2016 13:36:29 +0200 -Subject: [PATCH 200/347] net: dev: always take qdisc's busylock in +Subject: [PATCH 200/342] net: dev: always take qdisc's busylock in __dev_xmit_skb() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1722e39cfe183bfcf871f6e35ffcf2b3f1738b3e The root-lock is dropped before dev_hard_start_xmit() is invoked and after setting the __QDISC___STATE_RUNNING bit. If this task is now pushed away @@ -37,6 +36,3 @@ index 2bf357d5602b..7c59fa4d3ecf 100644 if (unlikely(contended)) spin_lock(&q->busylock); --- -2.36.1 - diff --git a/debian/patches-rt/0201-net-Qdisc-use-a-seqlock-instead-seqcount.patch b/debian/patches-rt/0201-net-Qdisc-use-a-seqlock-instead-seqcount.patch index 8d15d62a7..dac59a0ed 100644 --- a/debian/patches-rt/0201-net-Qdisc-use-a-seqlock-instead-seqcount.patch +++ b/debian/patches-rt/0201-net-Qdisc-use-a-seqlock-instead-seqcount.patch @@ -1,8 +1,7 @@ -From 561eb0fa2d08a2b919983a6deaaef8022a6d0707 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 14 Sep 2016 17:36:35 +0200 -Subject: [PATCH 201/347] net/Qdisc: use a seqlock instead seqcount -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 201/342] net/Qdisc: use a seqlock instead seqcount +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b3887369aebc1200946b977b1291a1226f40613d The seqcount disables preemption on -RT while it is held which can't remove. Also we don't want the reader to spin for ages if the writer is @@ -255,7 +254,7 @@ index 424e70907b96..6b4ee7c98d69 100644 err = -EOPNOTSUPP; if (sch->flags & TCQ_F_MQROOT) { diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c -index 42a776abdf2f..cc4c4309a2b8 100644 +index 8d8a9ac2562f..cc777abd16da 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c @@ -576,7 +576,11 @@ struct Qdisc noop_qdisc = { @@ -288,6 +287,3 @@ index 42a776abdf2f..cc4c4309a2b8 100644 sch->ops = ops; sch->flags = ops->static_flags; --- -2.36.1 - diff --git a/debian/patches-rt/0202-net-add-back-the-missing-serialization-in-ip_send_un.patch b/debian/patches-rt/0202-net-add-back-the-missing-serialization-in-ip_send_un.patch index b6925c62f..7201414d9 100644 --- a/debian/patches-rt/0202-net-add-back-the-missing-serialization-in-ip_send_un.patch +++ b/debian/patches-rt/0202-net-add-back-the-missing-serialization-in-ip_send_un.patch @@ -1,12 +1,11 @@ -From 3254a7bf68224051974bf79f76549e4592e45262 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 31 Aug 2016 17:21:56 +0200 -Subject: [PATCH 202/347] net: add back the missing serialization in +Subject: [PATCH 202/342] net: add back the missing serialization in ip_send_unicast_reply() 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=513fe58b8aa1cf9e2d118103cc28854c01e83ab1 Some time ago Sami Pietikäinen reported a crash on -RT in ip_send_unicast_reply() which was later fixed by Nicholas Mc Guire @@ -43,7 +42,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> 1 file changed, 6 insertions(+) diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c -index 2719c60f285b..8e2db5007f59 100644 +index ddc1af8731e3..2a080d70d64c 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -62,6 +62,7 @@ @@ -94,6 +93,3 @@ index 2719c60f285b..8e2db5007f59 100644 local_bh_enable(); } --- -2.36.1 - diff --git a/debian/patches-rt/0203-net-add-a-lock-around-icmp_sk.patch b/debian/patches-rt/0203-net-add-a-lock-around-icmp_sk.patch index fa2ad051e..4ee80f7e7 100644 --- a/debian/patches-rt/0203-net-add-a-lock-around-icmp_sk.patch +++ b/debian/patches-rt/0203-net-add-a-lock-around-icmp_sk.patch @@ -1,8 +1,7 @@ -From 95179968fe9e7b7b6484facb14b8ac985cc0d779 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 31 Aug 2016 17:54:09 +0200 -Subject: [PATCH 203/347] net: add a lock around icmp_sk() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 203/342] net: add a lock around icmp_sk() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0034f22f94d4dda2d9486dfb4e8acabc8f947c17 It looks like the this_cpu_ptr() access in icmp_sk() is protected with local_bh_disable(). To avoid missing serialization in -RT I am adding @@ -15,7 +14,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> 1 file changed, 8 insertions(+) diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c -index fe10a565b7d8..d35719e08aef 100644 +index aa179e6461e1..47ebb0e0445c 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c @@ -77,6 +77,7 @@ @@ -60,6 +59,3 @@ index fe10a565b7d8..d35719e08aef 100644 } int sysctl_icmp_msgs_per_sec __read_mostly = 1000; --- -2.36.1 - diff --git a/debian/patches-rt/0204-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch b/debian/patches-rt/0204-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch index 5a4aed73f..11f3b2b95 100644 --- a/debian/patches-rt/0204-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch +++ b/debian/patches-rt/0204-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch @@ -1,9 +1,8 @@ -From 2faaff72af2ce49a00236dbfe09246e3099229ec Mon Sep 17 00:00:00 2001 From: Steven Rostedt <rostedt@goodmis.org> Date: Tue, 6 Dec 2016 17:50:30 -0500 -Subject: [PATCH 204/347] net: Have __napi_schedule_irqoff() disable interrupts +Subject: [PATCH 204/342] net: Have __napi_schedule_irqoff() disable interrupts on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4171dffd1a3b19e920140745da11771243ac3631 A customer hit a crash where the napi sd->poll_list became corrupted. The customer had the bnx2x driver, which does a @@ -72,6 +71,3 @@ index 7c59fa4d3ecf..e65dc7a7cc13 100644 bool napi_complete_done(struct napi_struct *n, int work_done) { --- -2.36.1 - diff --git a/debian/patches-rt/0205-irqwork-push-most-work-into-softirq-context.patch b/debian/patches-rt/0205-irqwork-push-most-work-into-softirq-context.patch index 964c52d2e..314809d7b 100644 --- a/debian/patches-rt/0205-irqwork-push-most-work-into-softirq-context.patch +++ b/debian/patches-rt/0205-irqwork-push-most-work-into-softirq-context.patch @@ -1,8 +1,7 @@ -From c0405a2b67942dd7f8564a25fa5580c8f2774765 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 23 Jun 2015 15:32:51 +0200 -Subject: [PATCH 205/347] irqwork: push most work into softirq context -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 205/342] irqwork: push most work into softirq context +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3b91447711938ba1aee8c66249408ab12ba1b8f2 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. @@ -259,6 +258,3 @@ index 3cb79167852f..c7bd68db6f63 100644 __run_timers(base); if (IS_ENABLED(CONFIG_NO_HZ_COMMON)) __run_timers(this_cpu_ptr(&timer_bases[BASE_DEF])); --- -2.36.1 - diff --git a/debian/patches-rt/0206-printk-Make-rt-aware.patch b/debian/patches-rt/0206-printk-Make-rt-aware.patch index 0ca16f202..0a5220da2 100644 --- a/debian/patches-rt/0206-printk-Make-rt-aware.patch +++ b/debian/patches-rt/0206-printk-Make-rt-aware.patch @@ -1,8 +1,7 @@ -From fe512f6331aa2cda166c08988965010dd06d68e3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 19 Sep 2012 14:50:37 +0200 -Subject: [PATCH 206/347] printk: Make rt aware -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 206/342] printk: Make rt aware +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=338dc05ea3a9f2fc4900771ff722965bf1a72427 Drop the lock before calling the console driver and do not disable interrupts while printing to a serial console. @@ -109,6 +108,3 @@ index 7b774743e1ac..c06b1e00448d 100644 if (do_cond_resched) cond_resched(); --- -2.36.1 - diff --git a/debian/patches-rt/0207-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch b/debian/patches-rt/0207-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch index 75627e24f..b7e92b8c4 100644 --- a/debian/patches-rt/0207-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch +++ b/debian/patches-rt/0207-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch @@ -1,8 +1,7 @@ -From 5ff42463701b87deff98424f5417e808d69fd327 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 19 May 2016 17:45:27 +0200 -Subject: [PATCH 207/347] 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.246-rt110.tar.xz +Subject: [PATCH 207/342] kernel/printk: Don't try to print from IRQ/NMI region +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5d98d6ee2ef71f23a1efd1f0a393f41b7329acfd 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 @@ -43,6 +42,3 @@ index c06b1e00448d..273f2c7864b5 100644 /* * console_unblank can no longer be called in interrupt context unless * oops_in_progress is set to 1.. --- -2.36.1 - diff --git a/debian/patches-rt/0208-printk-Drop-the-logbuf_lock-more-often.patch b/debian/patches-rt/0208-printk-Drop-the-logbuf_lock-more-often.patch index bc4f44f50..07a845599 100644 --- a/debian/patches-rt/0208-printk-Drop-the-logbuf_lock-more-often.patch +++ b/debian/patches-rt/0208-printk-Drop-the-logbuf_lock-more-often.patch @@ -1,8 +1,7 @@ -From b4bf7654e00cd7da0d18577698e25eb199de2d57 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 21 Mar 2013 19:01:05 +0100 -Subject: [PATCH 208/347] printk: Drop the logbuf_lock more often -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 208/342] printk: Drop the logbuf_lock more often +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=51849f67a7bf243a541853e4d207d4e94fd82a78 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. @@ -78,6 +77,3 @@ index 273f2c7864b5..1e0988a0bb97 100644 logbuf_unlock_irq(); kfree(text); --- -2.36.1 - diff --git a/debian/patches-rt/0209-ARM-enable-irq-in-translation-section-permission-fau.patch b/debian/patches-rt/0209-ARM-enable-irq-in-translation-section-permission-fau.patch index 58d59fbae..94a0637df 100644 --- a/debian/patches-rt/0209-ARM-enable-irq-in-translation-section-permission-fau.patch +++ b/debian/patches-rt/0209-ARM-enable-irq-in-translation-section-permission-fau.patch @@ -1,12 +1,11 @@ -From c4bff0275d502012b7673069a3d2da755e67cdfb Mon Sep 17 00:00:00 2001 From: "Yadi.hu" <yadi.hu@windriver.com> Date: Wed, 10 Dec 2014 10:32:09 +0800 -Subject: [PATCH 209/347] ARM: enable irq in translation/section permission +Subject: [PATCH 209/342] ARM: enable irq in translation/section permission fault handlers 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=339dbf4f42b071e7f56b9dcb8e219d4d4e0656d6 Probably happens on all ARM, with CONFIG_PREEMPT_RT_FULL @@ -91,6 +90,3 @@ index a9ee0d9dc740..20b0e146de98 100644 do_bad_area(addr, fsr, regs); return 0; } --- -2.36.1 - diff --git a/debian/patches-rt/0210-genirq-update-irq_set_irqchip_state-documentation.patch b/debian/patches-rt/0210-genirq-update-irq_set_irqchip_state-documentation.patch index 587d4cec5..dd1b4df51 100644 --- a/debian/patches-rt/0210-genirq-update-irq_set_irqchip_state-documentation.patch +++ b/debian/patches-rt/0210-genirq-update-irq_set_irqchip_state-documentation.patch @@ -1,8 +1,7 @@ -From ab960649ff425bcc7910011a0f591a4673e76df6 Mon Sep 17 00:00:00 2001 From: Josh Cartwright <joshc@ni.com> Date: Thu, 11 Feb 2016 11:54:00 -0600 -Subject: [PATCH 210/347] genirq: update irq_set_irqchip_state documentation -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 210/342] genirq: update irq_set_irqchip_state documentation +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fd9790f0effc20eb941a4073134c21ca951f238c On -rt kernels, the use of migrate_disable()/migrate_enable() is sufficient to guarantee a task isn't moved to another CPU. Update the @@ -27,6 +26,3 @@ index 2bb77b0ebac8..683debac6759 100644 * interrupt controller has per-cpu registers. */ int irq_set_irqchip_state(unsigned int irq, enum irqchip_irq_state which, --- -2.36.1 - diff --git a/debian/patches-rt/0211-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch b/debian/patches-rt/0211-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch index a49a4c01e..2ab74f6ae 100644 --- a/debian/patches-rt/0211-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch +++ b/debian/patches-rt/0211-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch @@ -1,9 +1,8 @@ -From e3788b349ef7d4161dc666a0aca9fc054c913c04 Mon Sep 17 00:00:00 2001 From: Josh Cartwright <joshc@ni.com> Date: Thu, 11 Feb 2016 11:54:01 -0600 -Subject: [PATCH 211/347] KVM: arm/arm64: downgrade preempt_disable()d region +Subject: [PATCH 211/342] 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3da26421c3fe48964d225679c51bda781c92b5e2 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 @@ -54,6 +53,3 @@ index b943ec5345cb..ddc6db1e8cd2 100644 ret = handle_exit(vcpu, run, ret); } --- -2.36.1 - diff --git a/debian/patches-rt/0212-arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch b/debian/patches-rt/0212-arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch index 5ac88e5fe..bf251dfc5 100644 --- a/debian/patches-rt/0212-arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch +++ b/debian/patches-rt/0212-arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch @@ -1,9 +1,8 @@ -From e6eac38976a1eebb792eb6a02fd95ed0868576fc Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 25 Jul 2018 14:02:38 +0200 -Subject: [PATCH 212/347] arm64: fpsimd: use preemp_disable in addition to +Subject: [PATCH 212/342] arm64: fpsimd: use preemp_disable in addition to local_bh_disable() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=008f9bc0512899030ddd5356f45dae391302fa9b 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 @@ -166,6 +165,3 @@ index 89ab68cb35bb..481793a5adc1 100644 } EXPORT_SYMBOL(kernel_neon_begin); --- -2.36.1 - diff --git a/debian/patches-rt/0213-kgdb-serial-Short-term-workaround.patch b/debian/patches-rt/0213-kgdb-serial-Short-term-workaround.patch index 464f4b0d7..71f829e94 100644 --- a/debian/patches-rt/0213-kgdb-serial-Short-term-workaround.patch +++ b/debian/patches-rt/0213-kgdb-serial-Short-term-workaround.patch @@ -1,8 +1,7 @@ -From 63a68f078dbbdde2ffc3a7cb2928cef6b17a38a3 Mon Sep 17 00:00:00 2001 From: Jason Wessel <jason.wessel@windriver.com> Date: Thu, 28 Jul 2011 12:42:23 -0500 -Subject: [PATCH 213/347] kgdb/serial: Short term workaround -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 213/342] kgdb/serial: Short term workaround +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=85172618f0e8bf15a8cf9029d0eca810de4ce722 On 07/27/2011 04:37 PM, Thomas Gleixner wrote: > - KGDB (not yet disabled) is reportedly unusable on -rt right now due @@ -25,7 +24,7 @@ Jason. 3 files changed, 7 insertions(+) diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c -index ef8bccc0823c..418b9c818b2e 100644 +index 33d489691fdf..8f6239892d39 100644 --- a/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c @@ -31,6 +31,7 @@ @@ -36,7 +35,7 @@ index ef8bccc0823c..418b9c818b2e 100644 #include <linux/uaccess.h> #include <linux/pm_runtime.h> #include <linux/ktime.h> -@@ -3296,6 +3297,8 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s, +@@ -3300,6 +3301,8 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s, if (port->sysrq || oops_in_progress) locked = 0; @@ -81,6 +80,3 @@ index b45576ca3b0d..ad1a3bc7908f 100644 return r; } --- -2.36.1 - diff --git a/debian/patches-rt/0214-sysfs-Add-sys-kernel-realtime-entry.patch b/debian/patches-rt/0214-sysfs-Add-sys-kernel-realtime-entry.patch index b477086ae..f9b72b5dd 100644 --- a/debian/patches-rt/0214-sysfs-Add-sys-kernel-realtime-entry.patch +++ b/debian/patches-rt/0214-sysfs-Add-sys-kernel-realtime-entry.patch @@ -1,8 +1,7 @@ -From c48c3a32632d4b467e3609a87b4149f9136afff6 Mon Sep 17 00:00:00 2001 From: Clark Williams <williams@redhat.com> Date: Sat, 30 Jul 2011 21:55:53 -0500 -Subject: [PATCH 214/347] sysfs: Add /sys/kernel/realtime entry -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 214/342] sysfs: Add /sys/kernel/realtime entry +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=377be180fa8ca554fbf62d9c8c01fe9e4d007f47 Add a /sys/kernel entry to indicate that the kernel is a realtime kernel. @@ -49,6 +48,3 @@ index 46ba853656f6..9a23632b6294 100644 #endif NULL }; --- -2.36.1 - diff --git a/debian/patches-rt/0215-mm-rt-kmap_atomic-scheduling.patch b/debian/patches-rt/0215-mm-rt-kmap_atomic-scheduling.patch index fe9e29581..fc23f6506 100644 --- a/debian/patches-rt/0215-mm-rt-kmap_atomic-scheduling.patch +++ b/debian/patches-rt/0215-mm-rt-kmap_atomic-scheduling.patch @@ -1,8 +1,7 @@ -From 6ffc40164236bf03b6c7c3c8dc826f5f96d8d797 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <peterz@infradead.org> Date: Thu, 28 Jul 2011 10:43:51 +0200 -Subject: [PATCH 215/347] mm, rt: kmap_atomic scheduling -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 215/342] mm, rt: kmap_atomic scheduling +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=92ff3d2e6bfe3adeccf410f7b9e9a95ce2bf8d53 In fact, with migrate_disable() existing one could play games with kmap_atomic. You could save/restore the kmap_atomic slots on context @@ -320,6 +319,3 @@ index 59db3223a5d6..22aa3ddbd87b 100644 unsigned int nr_free_highpages (void) { --- -2.36.1 - diff --git a/debian/patches-rt/0216-x86-highmem-Add-a-already-used-pte-check.patch b/debian/patches-rt/0216-x86-highmem-Add-a-already-used-pte-check.patch index 1ed131e93..b04db4e0c 100644 --- a/debian/patches-rt/0216-x86-highmem-Add-a-already-used-pte-check.patch +++ b/debian/patches-rt/0216-x86-highmem-Add-a-already-used-pte-check.patch @@ -1,8 +1,7 @@ -From 0aa2a1e54dccb65560925aedd34406b867f182ce Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 11 Mar 2013 17:09:55 +0100 -Subject: [PATCH 216/347] x86/highmem: Add a "already used pte" check -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 216/342] x86/highmem: Add a "already used pte" check +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7f6be1300407789b3a66f5ca8fa2bceef903b897 This is a copy from kmap_atomic_prot(). @@ -24,6 +23,3 @@ index d5a48210d0f6..c0ec8d430c02 100644 #ifdef CONFIG_PREEMPT_RT_FULL current->kmap_pte[type] = pte; #endif --- -2.36.1 - diff --git a/debian/patches-rt/0217-arm-highmem-Flush-tlb-on-unmap.patch b/debian/patches-rt/0217-arm-highmem-Flush-tlb-on-unmap.patch index 12a3a9b1e..47cc179f0 100644 --- a/debian/patches-rt/0217-arm-highmem-Flush-tlb-on-unmap.patch +++ b/debian/patches-rt/0217-arm-highmem-Flush-tlb-on-unmap.patch @@ -1,8 +1,7 @@ -From 83b4c6d1975b6bbcc60751fc7150c6bda6b460a7 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 11 Mar 2013 21:37:27 +0100 -Subject: [PATCH 217/347] arm/highmem: Flush tlb on unmap -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 217/342] arm/highmem: Flush tlb on unmap +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=176869557b04f77d08189ccf8f2acf9f07da4b26 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 @@ -29,6 +28,3 @@ index d02f8187b1cc..eb4b225d28c9 100644 kmap_atomic_idx_pop(); } else if (vaddr >= PKMAP_ADDR(0) && vaddr < PKMAP_ADDR(LAST_PKMAP)) { /* this address was obtained through kmap_high_get() */ --- -2.36.1 - diff --git a/debian/patches-rt/0218-arm-Enable-highmem-for-rt.patch b/debian/patches-rt/0218-arm-Enable-highmem-for-rt.patch index 6d37c0670..3b7aa387a 100644 --- a/debian/patches-rt/0218-arm-Enable-highmem-for-rt.patch +++ b/debian/patches-rt/0218-arm-Enable-highmem-for-rt.patch @@ -1,8 +1,7 @@ -From d8647f71379a704607e15bb3a7fd5d84b3f10a6d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 13 Feb 2013 11:03:11 +0100 -Subject: [PATCH 218/347] arm: Enable highmem for rt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 218/342] arm: Enable highmem for rt +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9a34408767001844806b3b8225682c8afdc6c17a fixup highmem for ARM. @@ -179,6 +178,3 @@ index 1ac89e4718bf..eaa2ef9bc10e 100644 #include <asm/cacheflush.h> --- -2.36.1 - diff --git a/debian/patches-rt/0219-scsi-fcoe-Make-RT-aware.patch b/debian/patches-rt/0219-scsi-fcoe-Make-RT-aware.patch index e64e58af6..068b8f620 100644 --- a/debian/patches-rt/0219-scsi-fcoe-Make-RT-aware.patch +++ b/debian/patches-rt/0219-scsi-fcoe-Make-RT-aware.patch @@ -1,8 +1,7 @@ -From de388c8a89d8d509914406a15bb839cc95b1eb06 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 12 Nov 2011 14:00:48 +0100 -Subject: [PATCH 219/347] scsi/fcoe: Make RT aware. -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 219/342] scsi/fcoe: Make RT aware. +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4940a288f7cc4f9cf09fbdb0084921be93d92152 Do not disable preemption while taking sleeping locks. All user look safe for migrate_diable() only. @@ -73,7 +72,7 @@ index 6768b2e8148a..c20f51af6bdf 100644 } diff --git a/drivers/scsi/fcoe/fcoe_ctlr.c b/drivers/scsi/fcoe/fcoe_ctlr.c -index 658c0726581f..bceab74eecf7 100644 +index 1e087a206f48..27624aac530f 100644 --- a/drivers/scsi/fcoe/fcoe_ctlr.c +++ b/drivers/scsi/fcoe/fcoe_ctlr.c @@ -838,7 +838,7 @@ static unsigned long fcoe_ctlr_age_fcfs(struct fcoe_ctlr *fip) @@ -111,6 +110,3 @@ index 9fa0aa235cb4..ed538164320a 100644 /* peek cache of free slot */ if (pool->left != FC_XID_UNKNOWN) { --- -2.36.1 - diff --git a/debian/patches-rt/0220-x86-crypto-Reduce-preempt-disabled-regions.patch b/debian/patches-rt/0220-x86-crypto-Reduce-preempt-disabled-regions.patch index eeb0ae4e6..38357c7ba 100644 --- a/debian/patches-rt/0220-x86-crypto-Reduce-preempt-disabled-regions.patch +++ b/debian/patches-rt/0220-x86-crypto-Reduce-preempt-disabled-regions.patch @@ -1,8 +1,7 @@ -From 795856da132e0e41e6ba20d6020b7016f23159cf Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <peterz@infradead.org> Date: Mon, 14 Nov 2011 18:19:27 +0100 -Subject: [PATCH 220/347] x86: crypto: Reduce preempt disabled regions -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 220/342] x86: crypto: Reduce preempt disabled regions +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d4fad8b937dfa74e2ccba8a8e492be8f8249cc9c Restrict the preempt disabled regions to the actual floating point operations and enable preemption for the administrative actions. @@ -113,6 +112,3 @@ index 917f25e4d0a8..58d8c03fc32d 100644 return err; } --- -2.36.1 - diff --git a/debian/patches-rt/0221-crypto-Reduce-preempt-disabled-regions-more-algos.patch b/debian/patches-rt/0221-crypto-Reduce-preempt-disabled-regions-more-algos.patch index ed1ebcb6d..f2dda2f5b 100644 --- a/debian/patches-rt/0221-crypto-Reduce-preempt-disabled-regions-more-algos.patch +++ b/debian/patches-rt/0221-crypto-Reduce-preempt-disabled-regions-more-algos.patch @@ -1,8 +1,7 @@ -From ae835a4684737b3c2efebe8bcbb5e0348eefa1eb Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 21 Feb 2014 17:24:04 +0100 -Subject: [PATCH 221/347] crypto: Reduce preempt disabled regions, more algos -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 221/342] crypto: Reduce preempt disabled regions, more algos +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ceb1792fc68a494695be3551b6a796af177f2f30 Don Estabrook reported | kernel: WARNING: CPU: 2 PID: 858 at kernel/sched/core.c:2428 migrate_disable+0xed/0x100() @@ -258,6 +257,3 @@ index a78ef99a9981..dac489a1c4da 100644 return err; } EXPORT_SYMBOL_GPL(glue_xts_req_128bit); --- -2.36.1 - diff --git a/debian/patches-rt/0222-crypto-limit-more-FPU-enabled-sections.patch b/debian/patches-rt/0222-crypto-limit-more-FPU-enabled-sections.patch index e615a446d..57c9a4d1c 100644 --- a/debian/patches-rt/0222-crypto-limit-more-FPU-enabled-sections.patch +++ b/debian/patches-rt/0222-crypto-limit-more-FPU-enabled-sections.patch @@ -1,11 +1,10 @@ -From 8e09b2bca6f9a8364bba581fb391a85b500095bb Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 30 Nov 2017 13:40:10 +0100 -Subject: [PATCH 222/347] crypto: limit more FPU-enabled sections +Subject: [PATCH 222/342] crypto: limit more FPU-enabled sections 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d77f41fea4c23bf15b65b4703f0a70c3e8c633c2 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 @@ -103,6 +102,3 @@ index 2e5003fef51a..768c53767bb2 100644 /* * Save the FPU state (mark it for reload if necessary): * --- -2.36.1 - diff --git a/debian/patches-rt/0223-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch b/debian/patches-rt/0223-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch index e7be12f3f..eb8b1dde8 100644 --- a/debian/patches-rt/0223-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch +++ b/debian/patches-rt/0223-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch @@ -1,9 +1,8 @@ -From fe05a8e53c2f5560f734ab76a4527bab302e88c0 Mon Sep 17 00:00:00 2001 From: Mike Galbraith <efault@gmx.de> Date: Wed, 11 Jul 2018 17:14:47 +0200 -Subject: [PATCH 223/347] crypto: scompress - serialize RT percpu scratch +Subject: [PATCH 223/342] crypto: scompress - serialize RT percpu scratch buffer access with a local lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3ded7053ca92ed84c6a4aa9392ce406faaca6e12 | BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:974 | in_atomic(): 1, irqs_disabled(): 0, pid: 1401, name: cryptomgr_test @@ -78,6 +77,3 @@ index 968bbcf65c94..c2f0077e0801 100644 return ret; } --- -2.36.1 - diff --git a/debian/patches-rt/0224-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch b/debian/patches-rt/0224-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch index 85f584f79..883b1e747 100644 --- a/debian/patches-rt/0224-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch +++ b/debian/patches-rt/0224-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch @@ -1,9 +1,8 @@ -From 7a1d28b6b70837f1554c28799195274823fc1e72 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 26 Jul 2018 18:52:00 +0200 -Subject: [PATCH 224/347] crypto: cryptd - add a lock instead +Subject: [PATCH 224/342] crypto: cryptd - add a lock instead preempt_disable/local_bh_disable -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a65b405a299e90f7a3a0de278af917a86e2c1f07 cryptd has a per-CPU lock which protected with local_bh_disable() and preempt_disable(). @@ -80,6 +79,3 @@ index e0c8e907b086..e079f9a70201 100644 if (!req) return; --- -2.36.1 - diff --git a/debian/patches-rt/0225-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch b/debian/patches-rt/0225-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch index 855ce6928..4104ddf50 100644 --- a/debian/patches-rt/0225-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch +++ b/debian/patches-rt/0225-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch @@ -1,9 +1,8 @@ -From bc8c16173e79b830e1fb430fc0169dd04b8bbee8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 225/347] panic: skip get_random_bytes for RT_FULL in +Subject: [PATCH 225/342] panic: skip get_random_bytes for RT_FULL in init_oops_id -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4859e3416b599547296a1970d9b8fef5c72bb671 Disable on -RT. If this is invoked from irq-context we will have problems to acquire the sleeping lock. @@ -29,6 +28,3 @@ index 8138a676fb7d..fa114be5c30f 100644 oops_id++; return 0; --- -2.36.1 - diff --git a/debian/patches-rt/0226-x86-stackprotector-Avoid-random-pool-on-rt.patch b/debian/patches-rt/0226-x86-stackprotector-Avoid-random-pool-on-rt.patch index f9db1d99d..3021c7916 100644 --- a/debian/patches-rt/0226-x86-stackprotector-Avoid-random-pool-on-rt.patch +++ b/debian/patches-rt/0226-x86-stackprotector-Avoid-random-pool-on-rt.patch @@ -1,8 +1,7 @@ -From b70b05c554fb10c5bccff5b27a1d5ed73d054313 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 16 Dec 2010 14:25:18 +0100 -Subject: [PATCH 226/347] x86: stackprotector: Avoid random pool on rt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 226/342] x86: stackprotector: Avoid random pool on rt +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=899dd6a87172ba4ef8839115bce7f4393a0274bc CPU bringup calls into the random pool to initialize the stack canary. During boot that works nicely even on RT as the might sleep @@ -46,6 +45,3 @@ index 9c556ea2eaa7..b136992beb1b 100644 tsc = rdtsc(); canary += tsc + (tsc << 32UL); canary &= CANARY_MASK; --- -2.36.1 - diff --git a/debian/patches-rt/0228-cpu-hotplug-Implement-CPU-pinning.patch b/debian/patches-rt/0227-cpu-hotplug-Implement-CPU-pinning.patch index 9a3b2430f..1a1ee7954 100644 --- a/debian/patches-rt/0228-cpu-hotplug-Implement-CPU-pinning.patch +++ b/debian/patches-rt/0227-cpu-hotplug-Implement-CPU-pinning.patch @@ -1,8 +1,7 @@ -From 784e4a9806842dc64aa0902210fe4e11984d868a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 19 Jul 2017 17:31:20 +0200 -Subject: [PATCH 228/347] cpu/hotplug: Implement CPU pinning -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 227/342] cpu/hotplug: Implement CPU pinning +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6fa443c6c513b0e160a42bfbc0a4f3023fdf4edb Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- @@ -23,10 +22,10 @@ index 577045ae8693..7523c0786a63 100644 int migrate_disable_atomic; # endif diff --git a/kernel/cpu.c b/kernel/cpu.c -index 89a96cc14b39..797216a0b4c6 100644 +index f4c49bbc3fa3..56cb58fce84c 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -77,6 +77,11 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { +@@ -78,6 +78,11 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { .fail = CPUHP_INVALID, }; @@ -38,7 +37,7 @@ index 89a96cc14b39..797216a0b4c6 100644 #if defined(CONFIG_LOCKDEP) && defined(CONFIG_SMP) static struct lockdep_map cpuhp_state_up_map = STATIC_LOCKDEP_MAP_INIT("cpuhp_state-up", &cpuhp_state_up_map); -@@ -288,7 +293,28 @@ static int cpu_hotplug_disabled; +@@ -289,7 +294,28 @@ static int cpu_hotplug_disabled; */ void pin_current_cpu(void) { @@ -67,7 +66,7 @@ index 89a96cc14b39..797216a0b4c6 100644 } /** -@@ -296,6 +322,13 @@ void pin_current_cpu(void) +@@ -297,6 +323,13 @@ void pin_current_cpu(void) */ void unpin_current_cpu(void) { @@ -81,7 +80,7 @@ index 89a96cc14b39..797216a0b4c6 100644 } DEFINE_STATIC_PERCPU_RWSEM(cpu_hotplug_lock); -@@ -920,6 +953,7 @@ static int take_cpu_down(void *_param) +@@ -921,6 +954,7 @@ static int take_cpu_down(void *_param) static int takedown_cpu(unsigned int cpu) { @@ -89,7 +88,7 @@ index 89a96cc14b39..797216a0b4c6 100644 struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu); int err; -@@ -932,11 +966,14 @@ static int takedown_cpu(unsigned int cpu) +@@ -933,11 +967,14 @@ static int takedown_cpu(unsigned int cpu) */ irq_lock_sparse(); @@ -104,7 +103,7 @@ index 89a96cc14b39..797216a0b4c6 100644 /* CPU refused to die */ irq_unlock_sparse(); /* Unpark the hotplug thread so we can rollback there */ -@@ -955,6 +992,7 @@ static int takedown_cpu(unsigned int cpu) +@@ -956,6 +993,7 @@ static int takedown_cpu(unsigned int cpu) wait_for_ap_thread(st, false); BUG_ON(st->state != CPUHP_AP_IDLE_DEAD); @@ -112,6 +111,3 @@ index 89a96cc14b39..797216a0b4c6 100644 /* Interrupts are moved away from the dying cpu, reenable alloc/free */ irq_unlock_sparse(); --- -2.36.1 - diff --git a/debian/patches-rt/0229-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch b/debian/patches-rt/0228-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch index 2c10d0def..817e0736d 100644 --- a/debian/patches-rt/0229-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch +++ b/debian/patches-rt/0228-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch @@ -1,9 +1,8 @@ -From 1e7afdc27ed9146e30dc69cdc8fcdc2ce334430e Mon Sep 17 00:00:00 2001 From: Mike Galbraith <efault@gmx.de> Date: Sun, 19 Aug 2018 08:28:35 +0200 -Subject: [PATCH 229/347] sched: Allow pinned user tasks to be awakened to the +Subject: [PATCH 228/342] sched: Allow pinned user tasks to be awakened to the CPU they pinned -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1a7a03ac5f6eb866ddd317630b747d6e8f81013b Since commit 7af443ee16976 ("sched/core: Require cpu_active() in select_task_rq(), for user tasks") select_fallback_rq() will BUG() if @@ -34,6 +33,3 @@ index 11afaa2c618a..dba425296275 100644 return cpu_online(cpu); return cpu_active(cpu); --- -2.36.1 - diff --git a/debian/patches-rt/0230-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch b/debian/patches-rt/0229-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch index f60b81343..357c70d07 100644 --- a/debian/patches-rt/0230-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch +++ b/debian/patches-rt/0229-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch @@ -1,8 +1,7 @@ -From 3ed5cb0e7f86a61b58b20f64a79148a2a80dac29 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 4 Aug 2017 18:31:00 +0200 -Subject: [PATCH 230/347] 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.246-rt110.tar.xz +Subject: [PATCH 229/342] hotplug: duct-tape RT-rwlock usage for non-RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c925857dee98daf7eea5dd1e206a94a9d9cd72cf 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 @@ -14,10 +13,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/kernel/cpu.c b/kernel/cpu.c -index 797216a0b4c6..f6511c62c9a4 100644 +index 56cb58fce84c..6ae5b18bf3a5 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -77,7 +77,7 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { +@@ -78,7 +78,7 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { .fail = CPUHP_INVALID, }; @@ -26,7 +25,7 @@ index 797216a0b4c6..f6511c62c9a4 100644 static DEFINE_PER_CPU(struct rt_rw_lock, cpuhp_pin_lock) = \ __RWLOCK_RT_INITIALIZER(cpuhp_pin_lock); #endif -@@ -293,6 +293,7 @@ static int cpu_hotplug_disabled; +@@ -294,6 +294,7 @@ static int cpu_hotplug_disabled; */ void pin_current_cpu(void) { @@ -34,7 +33,7 @@ index 797216a0b4c6..f6511c62c9a4 100644 struct rt_rw_lock *cpuhp_pin; unsigned int cpu; int ret; -@@ -315,6 +316,7 @@ void pin_current_cpu(void) +@@ -316,6 +317,7 @@ void pin_current_cpu(void) goto again; } current->pinned_on_cpu = cpu; @@ -42,7 +41,7 @@ index 797216a0b4c6..f6511c62c9a4 100644 } /** -@@ -322,6 +324,7 @@ void pin_current_cpu(void) +@@ -323,6 +325,7 @@ void pin_current_cpu(void) */ void unpin_current_cpu(void) { @@ -50,7 +49,7 @@ index 797216a0b4c6..f6511c62c9a4 100644 struct rt_rw_lock *cpuhp_pin = this_cpu_ptr(&cpuhp_pin_lock); if (WARN_ON(current->pinned_on_cpu != smp_processor_id())) -@@ -329,6 +332,7 @@ void unpin_current_cpu(void) +@@ -330,6 +333,7 @@ void unpin_current_cpu(void) current->pinned_on_cpu = -1; __read_rt_unlock(cpuhp_pin); @@ -58,7 +57,7 @@ index 797216a0b4c6..f6511c62c9a4 100644 } DEFINE_STATIC_PERCPU_RWSEM(cpu_hotplug_lock); -@@ -953,7 +957,9 @@ static int take_cpu_down(void *_param) +@@ -954,7 +958,9 @@ static int take_cpu_down(void *_param) static int takedown_cpu(unsigned int cpu) { @@ -68,7 +67,7 @@ index 797216a0b4c6..f6511c62c9a4 100644 struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu); int err; -@@ -966,14 +972,18 @@ static int takedown_cpu(unsigned int cpu) +@@ -967,14 +973,18 @@ static int takedown_cpu(unsigned int cpu) */ irq_lock_sparse(); @@ -87,7 +86,7 @@ index 797216a0b4c6..f6511c62c9a4 100644 /* CPU refused to die */ irq_unlock_sparse(); /* Unpark the hotplug thread so we can rollback there */ -@@ -992,7 +1002,9 @@ static int takedown_cpu(unsigned int cpu) +@@ -993,7 +1003,9 @@ static int takedown_cpu(unsigned int cpu) wait_for_ap_thread(st, false); BUG_ON(st->state != CPUHP_AP_IDLE_DEAD); @@ -97,6 +96,3 @@ index 797216a0b4c6..f6511c62c9a4 100644 /* Interrupts are moved away from the dying cpu, reenable alloc/free */ irq_unlock_sparse(); --- -2.36.1 - diff --git a/debian/patches-rt/0231-net-Remove-preemption-disabling-in-netif_rx.patch b/debian/patches-rt/0230-net-Remove-preemption-disabling-in-netif_rx.patch index 5575db994..190c702a6 100644 --- a/debian/patches-rt/0231-net-Remove-preemption-disabling-in-netif_rx.patch +++ b/debian/patches-rt/0230-net-Remove-preemption-disabling-in-netif_rx.patch @@ -1,8 +1,7 @@ -From 455243ba6a0787a8a8ed109e5af4e0cb42d90fbf Mon Sep 17 00:00:00 2001 From: Priyanka Jain <Priyanka.Jain@freescale.com> Date: Thu, 17 May 2012 09:35:11 +0530 -Subject: [PATCH 231/347] net: Remove preemption disabling in netif_rx() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 230/342] net: Remove preemption disabling in netif_rx() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=857d0eea97c02863c4283d4ece826762ed4ae3f3 1)enqueue_to_backlog() (called from netif_rx) should be bind to a particluar CPU. This can be achieved by @@ -66,6 +65,3 @@ index e65dc7a7cc13..3df1fe052863 100644 } return ret; } --- -2.36.1 - diff --git a/debian/patches-rt/0232-net-Another-local_irq_disable-kmalloc-headache.patch b/debian/patches-rt/0231-net-Another-local_irq_disable-kmalloc-headache.patch index 374593ebd..14d695001 100644 --- a/debian/patches-rt/0232-net-Another-local_irq_disable-kmalloc-headache.patch +++ b/debian/patches-rt/0231-net-Another-local_irq_disable-kmalloc-headache.patch @@ -1,8 +1,7 @@ -From b83d94e087c52b96575acd87c8ecaff00a418d02 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 26 Sep 2012 16:21:08 +0200 -Subject: [PATCH 232/347] net: Another local_irq_disable/kmalloc headache -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 231/342] net: Another local_irq_disable/kmalloc headache +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=10e37587e11821472945b3a1cfe2306a3ca12b8f Replace it by a local lock. Though that's pretty inefficient :( @@ -60,6 +59,3 @@ index c623c129d0ab..0696d3cb809d 100644 if (unlikely(!data)) return NULL; --- -2.36.1 - diff --git a/debian/patches-rt/0233-net-core-protect-users-of-napi_alloc_cache-against-r.patch b/debian/patches-rt/0232-net-core-protect-users-of-napi_alloc_cache-against-r.patch index 58878036d..137625f8c 100644 --- a/debian/patches-rt/0233-net-core-protect-users-of-napi_alloc_cache-against-r.patch +++ b/debian/patches-rt/0232-net-core-protect-users-of-napi_alloc_cache-against-r.patch @@ -1,9 +1,8 @@ -From e8e3e8f9d02d605ac0820c51015b248d4c4a0873 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 15 Jan 2016 16:33:34 +0100 -Subject: [PATCH 233/347] net/core: protect users of napi_alloc_cache against +Subject: [PATCH 232/342] net/core: protect users of napi_alloc_cache against reentrance -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2a676f69c03cd2c988d61efa9af4089f653fd83f On -RT the code running in BH can not be moved to another CPU so CPU local variable remain local. However the code can be preempted @@ -110,6 +109,3 @@ index 0696d3cb809d..58f78205585c 100644 } void __kfree_skb_defer(struct sk_buff *skb) { --- -2.36.1 - diff --git a/debian/patches-rt/0234-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch b/debian/patches-rt/0233-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch index 615fae013..3f6319ef4 100644 --- a/debian/patches-rt/0234-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch +++ b/debian/patches-rt/0233-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch @@ -1,9 +1,8 @@ -From 1eb35887a41aa67c6e796dc4f7097e1b08c82a38 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 28 Oct 2012 11:18:08 +0100 -Subject: [PATCH 234/347] net: netfilter: Serialize xt_write_recseq sections on +Subject: [PATCH 233/342] net: netfilter: Serialize xt_write_recseq sections on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a9374258672d870fd9fa14c86167cf3fb4186859 The netfilter code relies only on the implicit semantics of local_bh_disable() for serializing wt_write_recseq sections. RT breaks @@ -79,6 +78,3 @@ index 722d1b057f61..5b8ebd8abcb0 100644 const struct nf_ipv6_ops __rcu *nf_ipv6_ops __read_mostly; EXPORT_SYMBOL_GPL(nf_ipv6_ops); --- -2.36.1 - diff --git a/debian/patches-rt/0235-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch b/debian/patches-rt/0234-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch index 4b7bc1086..5b9098659 100644 --- a/debian/patches-rt/0235-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch +++ b/debian/patches-rt/0234-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch @@ -1,9 +1,8 @@ -From 8e7150c0542da06cffef7097a59911e86fbfe15e Mon Sep 17 00:00:00 2001 From: Yong Zhang <yong.zhang@windriver.com> Date: Mon, 16 Apr 2012 15:01:56 +0800 -Subject: [PATCH 235/347] lockdep: selftest: Only do hardirq context test for +Subject: [PATCH 234/342] lockdep: selftest: Only do hardirq context test for raw spinlock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f4f917f2cf46718b42d1954b657f756852896a52 On -rt there is no softirq context any more and rwlock is sleepable, disable softirq context test and rwlock+irq test. @@ -57,6 +56,3 @@ index 1e1bbf171eca..5cdf3809905e 100644 ww_tests(); --- -2.36.1 - diff --git a/debian/patches-rt/0236-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch b/debian/patches-rt/0235-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch index 35eb70ae6..22b6ac89b 100644 --- a/debian/patches-rt/0236-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch +++ b/debian/patches-rt/0235-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch @@ -1,9 +1,8 @@ -From 8ad69a9f55b91025e0c0db41575ffe79d52fdb7b Mon Sep 17 00:00:00 2001 From: Josh Cartwright <josh.cartwright@ni.com> Date: Wed, 28 Jan 2015 13:08:45 -0600 -Subject: [PATCH 236/347] lockdep: selftest: fix warnings due to missing +Subject: [PATCH 235/342] lockdep: selftest: fix warnings due to missing PREEMPT_RT conditionals -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=55b0653e2c4e3159bdfece0f545e959b2583de30 "lockdep: Selftest: Only do hardirq context test for raw spinlock" disabled the execution of certain tests with PREEMPT_RT_FULL, but did @@ -144,6 +143,3 @@ index 5cdf3809905e..32db9532ddd4 100644 /* * read-lock / write-lock recursion that is unsafe. */ --- -2.36.1 - diff --git a/debian/patches-rt/0237-sched-Add-support-for-lazy-preemption.patch b/debian/patches-rt/0236-sched-Add-support-for-lazy-preemption.patch index cc0305fdc..0c7ff0691 100644 --- a/debian/patches-rt/0237-sched-Add-support-for-lazy-preemption.patch +++ b/debian/patches-rt/0236-sched-Add-support-for-lazy-preemption.patch @@ -1,8 +1,7 @@ -From a8be86e68c8a8706268f9765c7e4eba79d265e70 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 26 Oct 2012 18:50:54 +0100 -Subject: [PATCH 237/347] sched: Add support for lazy preemption -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 236/342] sched: Add support for lazy preemption +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f58baddb785517ba67a7470fb9278fcf919590ff It has become an obsession to mitigate the determinism vs. throughput loss of RT. Looking at the mainline semantics of preemption points @@ -245,10 +244,10 @@ index 907d72b3ba95..306567f72a3e 100644 prompt "Preemption Model" default PREEMPT_NONE diff --git a/kernel/cpu.c b/kernel/cpu.c -index f6511c62c9a4..11f48774b129 100644 +index 6ae5b18bf3a5..396394ebbc5b 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -306,11 +306,13 @@ void pin_current_cpu(void) +@@ -307,11 +307,13 @@ void pin_current_cpu(void) return; } cpu = smp_processor_id(); @@ -530,7 +529,7 @@ index 637c408fb2dc..87a05bb90124 100644 extern void init_rt_bandwidth(struct rt_bandwidth *rt_b, u64 period, u64 runtime); diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index 2a8b830d42f1..f36b954d2e30 100644 +index 5cb37fa71316..50eee8dcf85c 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -2153,6 +2153,7 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags, @@ -666,6 +665,3 @@ index 46c96744f09d..3f78b0afb729 100644 if (entry->migrate_disable) trace_seq_printf(s, "%x", entry->migrate_disable); else --- -2.36.1 - diff --git a/debian/patches-rt/0238-ftrace-Fix-trace-header-alignment.patch b/debian/patches-rt/0237-ftrace-Fix-trace-header-alignment.patch index 37c7a1fee..45a8800f7 100644 --- a/debian/patches-rt/0238-ftrace-Fix-trace-header-alignment.patch +++ b/debian/patches-rt/0237-ftrace-Fix-trace-header-alignment.patch @@ -1,8 +1,7 @@ -From 4462a16fd2c2a84dcf4ff6f574044ed4cafd7860 Mon Sep 17 00:00:00 2001 From: Mike Galbraith <umgwanakikbuti@gmail.com> Date: Sun, 16 Oct 2016 05:08:30 +0200 -Subject: [PATCH 238/347] ftrace: Fix trace header alignment -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 237/342] ftrace: Fix trace header alignment +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b5e921de659bd00cd76e89aded2b7d6b63533a6a Line up helper arrows to the right column. @@ -15,7 +14,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index f36b954d2e30..87bce59fa340 100644 +index 50eee8dcf85c..e1db56edeb0d 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -3366,17 +3366,17 @@ get_total_entries(struct trace_buffer *buf, @@ -47,6 +46,3 @@ index f36b954d2e30..87bce59fa340 100644 } static void print_event_info(struct trace_buffer *buf, struct seq_file *m) --- -2.36.1 - diff --git a/debian/patches-rt/0239-x86-Support-for-lazy-preemption.patch b/debian/patches-rt/0238-x86-Support-for-lazy-preemption.patch index a1c901aff..563d97c84 100644 --- a/debian/patches-rt/0239-x86-Support-for-lazy-preemption.patch +++ b/debian/patches-rt/0238-x86-Support-for-lazy-preemption.patch @@ -1,8 +1,7 @@ -From 0a855342d92f9b1b29ba2616d4d50637087cd955 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 1 Nov 2012 11:03:47 +0100 -Subject: [PATCH 239/347] x86: Support for lazy preemption -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 238/342] x86: Support for lazy preemption +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ebf6918cf9f47fbdd3414aacbc7091e776654392 Implement the x86 pieces for lazy preempt. @@ -235,6 +234,3 @@ index 01de31db300d..ce1c5b9fbd8c 100644 /* TLB state for the entry code */ OFFSET(TLB_STATE_user_pcid_flush_mask, tlb_state, user_pcid_flush_mask); --- -2.36.1 - diff --git a/debian/patches-rt/0240-x86-lazy-preempt-properly-check-against-preempt-mask.patch b/debian/patches-rt/0239-x86-lazy-preempt-properly-check-against-preempt-mask.patch index df8346c2d..2c287d8e1 100644 --- a/debian/patches-rt/0240-x86-lazy-preempt-properly-check-against-preempt-mask.patch +++ b/debian/patches-rt/0239-x86-lazy-preempt-properly-check-against-preempt-mask.patch @@ -1,9 +1,8 @@ -From 87b957ebbe16c81c7a72161e8d1ab55d0746bd83 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 18 Feb 2019 16:57:09 +0100 -Subject: [PATCH 240/347] x86: lazy-preempt: properly check against +Subject: [PATCH 239/342] x86: lazy-preempt: properly check against preempt-mask -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=62de1107905ffc4ce432b5192aa4e86cba2ea98b should_resched() should check against preempt_offset after unmasking the need-resched-bit. Otherwise should_resched() won't work for @@ -28,6 +27,3 @@ index 22992c837795..f66708779274 100644 return false; if (current_thread_info()->preempt_lazy_count) return false; --- -2.36.1 - diff --git a/debian/patches-rt/0241-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch b/debian/patches-rt/0240-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch index 430b7295c..2d6a1424f 100644 --- a/debian/patches-rt/0241-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch +++ b/debian/patches-rt/0240-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch @@ -1,9 +1,8 @@ -From 6f0e27cbe8c66801cdad07e48be779eff3301cc1 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 26 Feb 2019 14:53:49 +0100 -Subject: [PATCH 241/347] x86: lazy-preempt: use proper return label on +Subject: [PATCH 240/342] x86: lazy-preempt: use proper return label on 32bit-x86 -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=af7aacae59cd66ea1a797fb9f9e333423d3d7c71 The lazy-preempt uses the wrong return label in case preemption isn't possible. This results crash while returning to the kernel. @@ -40,6 +39,3 @@ index 324b7539eaab..d8b40085c2b8 100644 #endif testl $X86_EFLAGS_IF, PT_EFLAGS(%esp) # interrupts off (exception path) ? jz restore_all_kernel --- -2.36.1 - diff --git a/debian/patches-rt/0242-arm-Add-support-for-lazy-preemption.patch b/debian/patches-rt/0241-arm-Add-support-for-lazy-preemption.patch index af7fd9bc3..477fe5af0 100644 --- a/debian/patches-rt/0242-arm-Add-support-for-lazy-preemption.patch +++ b/debian/patches-rt/0241-arm-Add-support-for-lazy-preemption.patch @@ -1,8 +1,7 @@ -From 3845cb2e5f05561da9e363932c9373f45b5fa6a4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 31 Oct 2012 12:04:11 +0100 -Subject: [PATCH 242/347] arm: Add support for lazy preemption -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 241/342] arm: Add support for lazy preemption +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=33e85292f4a1b6620af83c5904889dfba4732126 Implement the arm pieces for lazy preempt. @@ -163,6 +162,3 @@ index 1c01358b9b6d..263b0321dc50 100644 schedule(); } else { if (unlikely(!user_mode(regs))) --- -2.36.1 - diff --git a/debian/patches-rt/0243-powerpc-Add-support-for-lazy-preemption.patch b/debian/patches-rt/0242-powerpc-Add-support-for-lazy-preemption.patch index 7c07610a1..45e464dee 100644 --- a/debian/patches-rt/0243-powerpc-Add-support-for-lazy-preemption.patch +++ b/debian/patches-rt/0242-powerpc-Add-support-for-lazy-preemption.patch @@ -1,8 +1,7 @@ -From 0fe19697678375c08da0c1d53231706a9df830d4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 1 Nov 2012 10:14:11 +0100 -Subject: [PATCH 243/347] powerpc: Add support for lazy preemption -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 242/342] powerpc: Add support for lazy preemption +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=807f60d61d5538e5acc319218a368950deb6fcdf Implement the powerpc pieces for lazy preempt. @@ -191,6 +190,3 @@ index 58b50967b3e5..ef02e41d5d96 100644 bne 1b /* --- -2.36.1 - diff --git a/debian/patches-rt/0244-arch-arm64-Add-lazy-preempt-support.patch b/debian/patches-rt/0243-arch-arm64-Add-lazy-preempt-support.patch index 204ee7168..385d63933 100644 --- a/debian/patches-rt/0244-arch-arm64-Add-lazy-preempt-support.patch +++ b/debian/patches-rt/0243-arch-arm64-Add-lazy-preempt-support.patch @@ -1,8 +1,7 @@ -From a8bd2b75bb41fc1acdebf6aa547a3e7cfa524445 Mon Sep 17 00:00:00 2001 From: Anders Roxell <anders.roxell@linaro.org> Date: Thu, 14 May 2015 17:52:17 +0200 -Subject: [PATCH 244/347] arch/arm64: Add lazy preempt support -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 243/342] arch/arm64: Add lazy preempt support +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d78ec4a3e861e9c07b84fa323cfd72f647808a23 arm64 is missing support for PREEMPT_RT. The main feature which is lacking is support for lazy preemption. The arch-specific entry code, @@ -128,6 +127,3 @@ index ca565853dea6..3f321daa7702 100644 /* Unmask Debug and SError for the next task */ local_daif_restore(DAIF_PROCCTX_NOIRQ); --- -2.36.1 - diff --git a/debian/patches-rt/0245-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch b/debian/patches-rt/0244-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch index 8ce25e4b2..038bec03d 100644 --- a/debian/patches-rt/0245-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch +++ b/debian/patches-rt/0244-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch @@ -1,9 +1,8 @@ -From 2d5d86f2a24500c2b02576c9d5de36bb90e86f10 Mon Sep 17 00:00:00 2001 From: Mike Galbraith <umgwanakikbuti@gmail.com> Date: Sun, 16 Oct 2016 05:11:54 +0200 -Subject: [PATCH 245/347] connector/cn_proc: Protect send_msg() with a local +Subject: [PATCH 244/342] connector/cn_proc: Protect send_msg() with a local lock on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b4f0ce722072d0e6ea67db8c7f6936abe9de0764 |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:931 |in_atomic(): 1, irqs_disabled(): 0, pid: 31807, name: sleep @@ -69,6 +68,3 @@ index ad48fd52cb53..c5264b3ee0b0 100644 } void proc_fork_connector(struct task_struct *task) --- -2.36.1 - diff --git a/debian/patches-rt/0246-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch b/debian/patches-rt/0245-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch index 04dcb13d9..b33d8a7a0 100644 --- a/debian/patches-rt/0246-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch +++ b/debian/patches-rt/0245-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch @@ -1,9 +1,8 @@ -From cdff10ec863d6d0e7d18beb8cb66adc86674bb2b Mon Sep 17 00:00:00 2001 From: Mike Galbraith <umgwanakikbuti@gmail.com> Date: Thu, 31 Mar 2016 04:08:28 +0200 -Subject: [PATCH 246/347] drivers/block/zram: Replace bit spinlocks with +Subject: [PATCH 245/342] drivers/block/zram: Replace bit spinlocks with rtmutex for -rt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e9c40001860ea506bbb2d75c4f9a704fdce8b98c They're nondeterministic, and lead to ___might_sleep() splats in -rt. OTOH, they're a lot less wasteful than an rtmutex per page. @@ -99,6 +98,3 @@ index d1095dfdffa8..144e91061df8 100644 #ifdef CONFIG_ZRAM_MEMORY_TRACKING ktime_t ac_time; #endif --- -2.36.1 - diff --git a/debian/patches-rt/0247-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch b/debian/patches-rt/0246-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch index e12dd3c3c..dfb12a9b2 100644 --- a/debian/patches-rt/0247-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch +++ b/debian/patches-rt/0246-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch @@ -1,9 +1,8 @@ -From fcbeb7ab5dc2a2e2f1243df805e9a4f0103b212b Mon Sep 17 00:00:00 2001 From: Mike Galbraith <umgwanakikbuti@gmail.com> Date: Thu, 20 Oct 2016 11:15:22 +0200 -Subject: [PATCH 247/347] drivers/zram: Don't disable preemption in +Subject: [PATCH 246/342] drivers/zram: Don't disable preemption in zcomp_stream_get/put() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2689fcbfe8b15a102ec207f5b8c94095333fae9c 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 @@ -102,6 +101,3 @@ index 04e4297f8318..2919ad13bce9 100644 zram_slot_unlock(zram, index); /* Should NEVER happen. Return bio error if it does. */ --- -2.36.1 - diff --git a/debian/patches-rt/0248-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch b/debian/patches-rt/0247-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch index 0ff366338..6c1508d32 100644 --- a/debian/patches-rt/0248-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch +++ b/debian/patches-rt/0247-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch @@ -1,9 +1,8 @@ -From 6b94039830863cbed6f161843e96e0cd79637353 Mon Sep 17 00:00:00 2001 From: Mike Galbraith <efault@gmx.de> Date: Wed, 23 Aug 2017 11:57:29 +0200 -Subject: [PATCH 248/347] drivers/zram: fix zcomp_stream_get() +Subject: [PATCH 247/342] drivers/zram: fix zcomp_stream_get() smp_processor_id() use in preemptible code -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8623e80cefb82edf752c74cb790d33a96410271d Use get_local_ptr() instead this_cpu_ptr() to avoid a warning regarding smp_processor_id() in preemptible code. @@ -39,6 +38,3 @@ index dd65a27ae2cc..eece02262000 100644 } int zcomp_compress(struct zcomp_strm *zstrm, --- -2.36.1 - diff --git a/debian/patches-rt/0249-tpm_tis-fix-stall-after-iowrite-s.patch b/debian/patches-rt/0248-tpm_tis-fix-stall-after-iowrite-s.patch index 0da4b19d0..97554882b 100644 --- a/debian/patches-rt/0249-tpm_tis-fix-stall-after-iowrite-s.patch +++ b/debian/patches-rt/0248-tpm_tis-fix-stall-after-iowrite-s.patch @@ -1,8 +1,7 @@ -From 4ef974ed9fe88d78a6e03689fab80c553fcf70df Mon Sep 17 00:00:00 2001 From: Haris Okanovic <haris.okanovic@ni.com> Date: Tue, 15 Aug 2017 15:13:08 -0500 -Subject: [PATCH 249/347] tpm_tis: fix stall after iowrite*()s -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 248/342] tpm_tis: fix stall after iowrite*()s +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=704fbd8b3a5c6a211e3b96b92a5a73ee0bba800c ioread8() operations to TPM MMIO addresses can stall the cpu when immediately following a sequence of iowrite*()'s to the same region. @@ -79,6 +78,3 @@ index 5a3a4f095391..5ecca6585049 100644 return 0; } --- -2.36.1 - diff --git a/debian/patches-rt/0250-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch b/debian/patches-rt/0249-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch index c9d461226..2a7057825 100644 --- a/debian/patches-rt/0250-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch +++ b/debian/patches-rt/0249-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch @@ -1,8 +1,7 @@ -From 2536bb24992f08158455b5ad1434f439f6543db5 Mon Sep 17 00:00:00 2001 From: Julia Cartwright <julia@ni.com> Date: Fri, 28 Sep 2018 21:03:51 +0000 -Subject: [PATCH 250/347] watchdog: prevent deferral of watchdogd wakeup on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 249/342] watchdog: prevent deferral of watchdogd wakeup on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2bdd12a025e0691b88a6b524a8bf4659f64211d0 When PREEMPT_RT_FULL is enabled, all hrtimer expiry functions are deferred for execution into the context of ktimersoftd unless otherwise @@ -76,6 +75,3 @@ index 8fe59b7d8eec..516782cff8d2 100644 else pr_info("watchdog%d running and kernel based pre-userspace handler disabled\n", wdd->id); --- -2.36.1 - diff --git a/debian/patches-rt/0251-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch b/debian/patches-rt/0250-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch index 898eacd8a..9dc4e81e3 100644 --- a/debian/patches-rt/0251-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch +++ b/debian/patches-rt/0250-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch @@ -1,9 +1,8 @@ -From f85948d1377d8e7d97d94d7d90250791825fc355 Mon Sep 17 00:00:00 2001 From: Mike Galbraith <umgwanakikbuti@gmail.com> Date: Sat, 27 Feb 2016 08:09:11 +0100 -Subject: [PATCH 251/347] drm,radeon,i915: Use preempt_disable/enable_rt() +Subject: [PATCH 250/342] drm,radeon,i915: Use preempt_disable/enable_rt() where recommended -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d94a37f0014c1bfccacffb6a70f731af4c289090 DRM folks identified the spots, so use them. @@ -56,6 +55,3 @@ index 5985efc5a1f3..de2552a40d36 100644 /* Decode into vertical and horizontal scanout position. */ *vpos = position & 0x1fff; --- -2.36.1 - diff --git a/debian/patches-rt/0252-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch b/debian/patches-rt/0251-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch index dde8a6cd7..9d529c66e 100644 --- a/debian/patches-rt/0252-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch +++ b/debian/patches-rt/0251-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch @@ -1,9 +1,8 @@ -From d4f3a1228c468da8962aa6b9742e67924796defd Mon Sep 17 00:00:00 2001 From: Mike Galbraith <umgwanakikbuti@gmail.com> Date: Sat, 27 Feb 2016 09:01:42 +0100 -Subject: [PATCH 252/347] drm,i915: Use local_lock/unlock_irq() in +Subject: [PATCH 251/342] drm,i915: Use local_lock/unlock_irq() in intel_pipe_update_start/end() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7f085a648643b652361155e0b483d114b769aaeb [ 8.014039] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:918 [ 8.014041] in_atomic(): 0, irqs_disabled(): 1, pid: 78, name: kworker/u4:4 @@ -123,6 +122,3 @@ index f7026e887fa9..07e4ddebdd80 100644 if (intel_vgpu_active(dev_priv)) return; --- -2.36.1 - diff --git a/debian/patches-rt/0253-drm-i915-disable-tracing-on-RT.patch b/debian/patches-rt/0252-drm-i915-disable-tracing-on-RT.patch index 78662975e..714ab87a8 100644 --- a/debian/patches-rt/0253-drm-i915-disable-tracing-on-RT.patch +++ b/debian/patches-rt/0252-drm-i915-disable-tracing-on-RT.patch @@ -1,8 +1,7 @@ -From 5e32c1ba695c3d32da799c26e267183a4516ffb8 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 6 Dec 2018 09:52:20 +0100 -Subject: [PATCH 253/347] drm/i915: disable tracing on -RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 252/342] drm/i915: disable tracing on -RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ac5ab95c075b23b5b71b8c9727bc0e4aabe64906 Luca Abeni reported this: | BUG: scheduling while atomic: kworker/u8:2/15203/0x00000003 @@ -42,6 +41,3 @@ index b50c6b829715..cc54ec0ef75c 100644 #include <linux/stringify.h> #include <linux/types.h> #include <linux/tracepoint.h> --- -2.36.1 - diff --git a/debian/patches-rt/0254-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch b/debian/patches-rt/0253-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch index 773a63282..b80f180b8 100644 --- a/debian/patches-rt/0254-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch +++ b/debian/patches-rt/0253-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch @@ -1,9 +1,8 @@ -From ce732f94a77dce31d3b008046d756121676cc0f4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 19 Dec 2018 10:47:02 +0100 -Subject: [PATCH 254/347] drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with +Subject: [PATCH 253/342] drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with NOTRACE -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a8537101898e867f331b1425ee9d3ed7c42e479d The order of the header files is important. If this header file is included after tracepoint.h was included then the NOTRACE here becomes a @@ -28,6 +27,3 @@ index cc54ec0ef75c..33028d8f470e 100644 DEFINE_EVENT(i915_request, i915_request_submit, TP_PROTO(struct i915_request *rq), TP_ARGS(rq) --- -2.36.1 - diff --git a/debian/patches-rt/0255-cgroups-use-simple-wait-in-css_release.patch b/debian/patches-rt/0254-cgroups-use-simple-wait-in-css_release.patch index 684e7bd06..dc69d3b4d 100644 --- a/debian/patches-rt/0255-cgroups-use-simple-wait-in-css_release.patch +++ b/debian/patches-rt/0254-cgroups-use-simple-wait-in-css_release.patch @@ -1,8 +1,7 @@ -From 8aa689c199e634af88b029260b92afed2a93b215 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 13 Feb 2015 15:52:24 +0100 -Subject: [PATCH 255/347] cgroups: use simple wait in css_release() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 254/342] cgroups: use simple wait in css_release() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5ac1545190c5a7071dc36c3dfda12707af3664c9 To avoid: |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:914 @@ -35,7 +34,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/include/linux/cgroup-defs.h b/include/linux/cgroup-defs.h -index f92264d1ed4f..cc912f3dc203 100644 +index 56442d3b651d..1d2275287f0e 100644 --- a/include/linux/cgroup-defs.h +++ b/include/linux/cgroup-defs.h @@ -20,6 +20,7 @@ @@ -55,10 +54,10 @@ index f92264d1ed4f..cc912f3dc203 100644 /* diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c -index 4e8284d8cacc..86b10cb1d68a 100644 +index a892a99eb4bf..992f0ee8dba1 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -4738,10 +4738,10 @@ static void css_free_rwork_fn(struct work_struct *work) +@@ -4747,10 +4747,10 @@ static void css_free_rwork_fn(struct work_struct *work) } } @@ -71,7 +70,7 @@ index 4e8284d8cacc..86b10cb1d68a 100644 struct cgroup_subsys *ss = css->ss; struct cgroup *cgrp = css->cgroup; -@@ -4803,8 +4803,8 @@ static void css_release(struct percpu_ref *ref) +@@ -4812,8 +4812,8 @@ static void css_release(struct percpu_ref *ref) struct cgroup_subsys_state *css = container_of(ref, struct cgroup_subsys_state, refcnt); @@ -82,7 +81,7 @@ index 4e8284d8cacc..86b10cb1d68a 100644 } static void init_and_link_css(struct cgroup_subsys_state *css, -@@ -5524,6 +5524,7 @@ static int __init cgroup_wq_init(void) +@@ -5533,6 +5533,7 @@ static int __init cgroup_wq_init(void) */ cgroup_destroy_wq = alloc_workqueue("cgroup_destroy", 0, 1); BUG_ON(!cgroup_destroy_wq); @@ -90,6 +89,3 @@ index 4e8284d8cacc..86b10cb1d68a 100644 return 0; } core_initcall(cgroup_wq_init); --- -2.36.1 - diff --git a/debian/patches-rt/0256-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch b/debian/patches-rt/0255-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch index 68ac442a9..0b163ce8b 100644 --- a/debian/patches-rt/0256-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch +++ b/debian/patches-rt/0255-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch @@ -1,8 +1,7 @@ -From fd27c495e357db5ecab593fc59617b9c3f39c770 Mon Sep 17 00:00:00 2001 From: Mike Galbraith <efault@gmx.de> Date: Sun, 8 Jan 2017 09:32:25 +0100 -Subject: [PATCH 256/347] cpuset: Convert callback_lock to raw_spinlock_t -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 255/342] cpuset: Convert callback_lock to raw_spinlock_t +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a75ea5624901308867ac5949e01e65b349192283 The two commits below add up to a cpuset might_sleep() splat for RT: @@ -288,6 +287,3 @@ index 35541e1dfad9..42ed4e497336 100644 return allowed; } --- -2.36.1 - diff --git a/debian/patches-rt/0257-apparmor-use-a-locallock-instead-preempt_disable.patch b/debian/patches-rt/0256-apparmor-use-a-locallock-instead-preempt_disable.patch index c00ea5391..2c7d17fea 100644 --- a/debian/patches-rt/0257-apparmor-use-a-locallock-instead-preempt_disable.patch +++ b/debian/patches-rt/0256-apparmor-use-a-locallock-instead-preempt_disable.patch @@ -1,8 +1,7 @@ -From bc99d234e02c1f42a9a71a2aca38406d1902582b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 11 Oct 2017 17:43:49 +0200 -Subject: [PATCH 257/347] apparmor: use a locallock instead preempt_disable() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 256/342] apparmor: use a locallock instead preempt_disable() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9f1cf26d60407ea931cff7f1be73bf279a69dd56 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 @@ -80,6 +79,3 @@ index 898752b818dc..690c8fccd0a0 100644 /* * LSM hook functions --- -2.36.1 - diff --git a/debian/patches-rt/0258-workqueue-Prevent-deadlock-stall-on-RT.patch b/debian/patches-rt/0257-workqueue-Prevent-deadlock-stall-on-RT.patch index 10fe17fc0..730a017ed 100644 --- a/debian/patches-rt/0258-workqueue-Prevent-deadlock-stall-on-RT.patch +++ b/debian/patches-rt/0257-workqueue-Prevent-deadlock-stall-on-RT.patch @@ -1,8 +1,7 @@ -From 95516b448b8dcc30ac9e5fc0e38c1c3d3f8ef930 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 27 Jun 2014 16:24:52 +0200 -Subject: [PATCH 258/347] workqueue: Prevent deadlock/stall on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 257/342] workqueue: Prevent deadlock/stall on RT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3250e54d2a2051a789ae9c8fe3a7191f56f4e205 Austin reported a XFS deadlock/stall on RT where scheduled work gets never exececuted and tasks are waiting for each other for ever. @@ -202,6 +201,3 @@ index 0c529f920232..91f5696cf335 100644 worker->flags |= WORKER_DIE; wake_up_process(worker->task); } --- -2.36.1 - diff --git a/debian/patches-rt/0259-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch b/debian/patches-rt/0258-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch index 271df4103..b4b502df1 100644 --- a/debian/patches-rt/0259-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch +++ b/debian/patches-rt/0258-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch @@ -1,8 +1,7 @@ -From 257506013947ed8b9b81885786294572a53a0a59 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:56 -0500 -Subject: [PATCH 259/347] signals: Allow rt tasks to cache one sigqueue struct -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 258/342] signals: Allow rt tasks to cache one sigqueue struct +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5aac397e1ae3068a8bef5c75bbfbdb268c95b2c5 To avoid allocation allow rt tasks to cache one sigqueue struct in task struct. @@ -67,7 +66,7 @@ index 51ec12803c0b..fdc61ac6a748 100644 p->utime = p->stime = p->gtime = 0; #ifdef CONFIG_ARCH_HAS_SCALED_CPUTIME diff --git a/kernel/signal.c b/kernel/signal.c -index 58bd3b3dd499..74f807bba0b8 100644 +index 708ee1bd4059..730ac7ff4637 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -19,6 +19,7 @@ @@ -208,6 +207,3 @@ index 58bd3b3dd499..74f807bba0b8 100644 if (q) q->flags |= SIGQUEUE_PREALLOC; --- -2.36.1 - diff --git a/debian/patches-rt/0260-Add-localversion-for-RT-release.patch b/debian/patches-rt/0259-Add-localversion-for-RT-release.patch index b4212f0a6..9b39dc39c 100644 --- a/debian/patches-rt/0260-Add-localversion-for-RT-release.patch +++ b/debian/patches-rt/0259-Add-localversion-for-RT-release.patch @@ -1,8 +1,7 @@ -From 0146607e465af932fed9f14bc6c3bd83e1723699 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 8 Jul 2011 20:25:16 +0200 -Subject: [PATCH 260/347] Add localversion for -RT release -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 259/342] Add localversion for -RT release +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=830df089aa5bd42afcc7733ada793ae405e532b0 Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- @@ -17,6 +16,3 @@ index 000000000000..1199ebade17b +++ b/localversion-rt @@ -0,0 +1 @@ +-rt16 --- -2.36.1 - diff --git a/debian/patches-rt/0261-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch b/debian/patches-rt/0260-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch index f86ebc321..b5d7da2d1 100644 --- a/debian/patches-rt/0261-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch +++ b/debian/patches-rt/0260-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch @@ -1,9 +1,8 @@ -From 0e0334043fc179c95449e93c201474b96f1f8656 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 26 Mar 2019 18:31:54 +0100 -Subject: [PATCH 261/347] powerpc/pseries/iommu: Use a locallock instead +Subject: [PATCH 260/342] powerpc/pseries/iommu: Use a locallock instead local_irq_save() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8c0eed1d8e078239e15aeb6ebf028c167f62c92f The locallock protects the per-CPU variable tce_page. The function attempts to allocate memory while tce_page is protected (by disabling @@ -92,6 +91,3 @@ index b1a08cb760e0..8ef818ad83ec 100644 return rc; } --- -2.36.1 - diff --git a/debian/patches-rt/0262-powerpc-reshuffle-TIF-bits.patch b/debian/patches-rt/0261-powerpc-reshuffle-TIF-bits.patch index 423525f91..dd5e0dafe 100644 --- a/debian/patches-rt/0262-powerpc-reshuffle-TIF-bits.patch +++ b/debian/patches-rt/0261-powerpc-reshuffle-TIF-bits.patch @@ -1,8 +1,7 @@ -From a32952376eefc4ff8ec9467ec77f2402c56491f5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 22 Mar 2019 17:15:58 +0100 -Subject: [PATCH 262/347] powerpc: reshuffle TIF bits -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 261/342] powerpc: reshuffle TIF bits +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e383507c4f1cd7ac67d8fa323e18757106326c37 Powerpc32/64 does not compile because TIF_SYSCALL_TRACE's bit is higher than 15 and the assembly instructions don't expect that. @@ -147,6 +146,3 @@ index ef02e41d5d96..229cdb04e9b0 100644 addi r12,r12,TI_FLAGS 3: ldarx r10,0,r12 andc r10,r10,r11 --- -2.36.1 - diff --git a/debian/patches-rt/0263-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch b/debian/patches-rt/0262-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch index 25b626e50..0c8bcf942 100644 --- a/debian/patches-rt/0263-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch +++ b/debian/patches-rt/0262-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch @@ -1,8 +1,7 @@ -From 80d2475bc6d0eacb1cf634c16818c86554fcee0c Mon Sep 17 00:00:00 2001 From: Julien Grall <julien.grall@arm.com> Date: Wed, 13 Mar 2019 11:40:34 +0000 -Subject: [PATCH 263/347] tty/sysrq: Convert show_lock to raw_spinlock_t -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 262/342] tty/sysrq: Convert show_lock to raw_spinlock_t +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bc471880b65be979c4ee19553ef62c6ab0af5b73 Systems which don't provide arch_trigger_cpumask_backtrace() will invoke showacpu() from a smp_call_function() function which is invoked @@ -58,6 +57,3 @@ index cee0274806c5..f785ca55fb85 100644 } static void sysrq_showregs_othercpus(struct work_struct *dummy) --- -2.36.1 - diff --git a/debian/patches-rt/0264-drm-i915-Don-t-disable-interrupts-independently-of-t.patch b/debian/patches-rt/0263-drm-i915-Don-t-disable-interrupts-independently-of-t.patch index e95fb336e..5e76fee9c 100644 --- a/debian/patches-rt/0264-drm-i915-Don-t-disable-interrupts-independently-of-t.patch +++ b/debian/patches-rt/0263-drm-i915-Don-t-disable-interrupts-independently-of-t.patch @@ -1,9 +1,8 @@ -From 31ae53586975d39dd03dabf5c944b498dcc73289 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 10 Apr 2019 11:01:37 +0200 -Subject: [PATCH 264/347] drm/i915: Don't disable interrupts independently of +Subject: [PATCH 263/342] drm/i915: Don't disable interrupts independently of the lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=11d12db319077ee47d28ed241e8947c5b86762b7 The locks (timeline->lock and rq->lock) need to be taken with disabled interrupts. This is done in __retire_engine_request() by disabling the @@ -46,6 +45,3 @@ index 5c2c93cbab12..7124510b9131 100644 /* * The backing object for the context is done after switching to the --- -2.36.1 - diff --git a/debian/patches-rt/0265-sched-completion-Fix-a-lockup-in-wait_for_completion.patch b/debian/patches-rt/0264-sched-completion-Fix-a-lockup-in-wait_for_completion.patch index bf5c14343..4174df41c 100644 --- a/debian/patches-rt/0265-sched-completion-Fix-a-lockup-in-wait_for_completion.patch +++ b/debian/patches-rt/0264-sched-completion-Fix-a-lockup-in-wait_for_completion.patch @@ -1,9 +1,8 @@ -From 055b27065070862af1438159975c51c824ed6db1 Mon Sep 17 00:00:00 2001 From: Corey Minyard <cminyard@mvista.com> Date: Thu, 9 May 2019 14:33:20 -0500 -Subject: [PATCH 265/347] sched/completion: Fix a lockup in +Subject: [PATCH 264/342] sched/completion: Fix a lockup in wait_for_completion() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=83dfd5e7c7759d10ab5260a4ed98cdd46efa7213 Consider following race: @@ -64,6 +63,3 @@ index 755a58084978..49c14137988e 100644 __set_current_state(state); raw_spin_unlock_irq(&x->wait.lock); timeout = action(timeout); --- -2.36.1 - diff --git a/debian/patches-rt/0266-kthread-add-a-global-worker-thread.patch b/debian/patches-rt/0265-kthread-add-a-global-worker-thread.patch index 467bba0ef..304316c46 100644 --- a/debian/patches-rt/0266-kthread-add-a-global-worker-thread.patch +++ b/debian/patches-rt/0265-kthread-add-a-global-worker-thread.patch @@ -1,8 +1,7 @@ -From 840c9b4ba91e8486a177aafa9089c694248955c7 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 12 Feb 2019 15:09:38 +0100 -Subject: [PATCH 266/347] kthread: add a global worker thread. -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 265/342] kthread: add a global worker thread. +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a3be1221a15666a2cca554da5c38c39d106bcbdf [ Upstream commit 0532e87d9d44795221aa921ba7024bde689cc894 ] @@ -132,10 +131,10 @@ index e0498e46d642..31140f0a6c2c 100644 + #endif /* _LINUX_KTHREAD_H */ diff --git a/init/main.c b/init/main.c -index 0d5763c5da28..f5d0917a4d4b 100644 +index 703b627a6060..8555afc3f3e1 100644 --- a/init/main.c +++ b/init/main.c -@@ -1132,6 +1132,7 @@ static noinline void __init kernel_init_freeable(void) +@@ -1136,6 +1136,7 @@ static noinline void __init kernel_init_freeable(void) smp_prepare_cpus(setup_max_cpus); workqueue_init(); @@ -175,6 +174,3 @@ index c8cf4731ced8..6bbd391f0d9c 100644 #ifdef CONFIG_BLK_CGROUP /** * kthread_associate_blkcg - associate blkcg to current kthread --- -2.36.1 - diff --git a/debian/patches-rt/0267-arm-imx6-cpuidle-Use-raw_spinlock_t.patch b/debian/patches-rt/0266-arm-imx6-cpuidle-Use-raw_spinlock_t.patch index 469d00fed..f4ab668e2 100644 --- a/debian/patches-rt/0267-arm-imx6-cpuidle-Use-raw_spinlock_t.patch +++ b/debian/patches-rt/0266-arm-imx6-cpuidle-Use-raw_spinlock_t.patch @@ -1,8 +1,7 @@ -From 2fba570810dc44f1b4e171167882ff311417e129 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 14 May 2019 17:07:44 +0200 -Subject: [PATCH 267/347] arm: imx6: cpuidle: Use raw_spinlock_t -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 266/342] arm: imx6: cpuidle: Use raw_spinlock_t +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=18215a774fb6f25e6044f44d0bb7285b03a1e151 [ Upstream commit 40d0332ec8312e9c090f0a5414d9c90e12b13611 ] @@ -47,6 +46,3 @@ index 326e870d7123..d9ac80aa1eb0 100644 return index; } --- -2.36.1 - diff --git a/debian/patches-rt/0268-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch b/debian/patches-rt/0267-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch index 3e9b760d5..6d0413f44 100644 --- a/debian/patches-rt/0268-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch +++ b/debian/patches-rt/0267-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch @@ -1,9 +1,8 @@ -From c06c2524bbfc1d9e9531a571fb86a03cd7965bd3 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 24 Jun 2019 18:29:13 +0200 -Subject: [PATCH 268/347] rcu: Don't allow to change rcu_normal_after_boot on +Subject: [PATCH 267/342] rcu: Don't allow to change rcu_normal_after_boot on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ab3e64d17f40661769b76ad4ec295ced23d15efd [ Upstream commit c6c058c10577815a2491ce661876cff00a4c3b15 ] @@ -31,6 +30,3 @@ index 16d8dba23329..ed75addd3ccd 100644 #endif /* #ifndef CONFIG_TINY_RCU */ #ifdef CONFIG_DEBUG_LOCK_ALLOC --- -2.36.1 - diff --git a/debian/patches-rt/0269-pci-switchtec-fix-stream_open.cocci-warnings.patch b/debian/patches-rt/0268-pci-switchtec-fix-stream_open.cocci-warnings.patch index b754add55..b31baf7b4 100644 --- a/debian/patches-rt/0269-pci-switchtec-fix-stream_open.cocci-warnings.patch +++ b/debian/patches-rt/0268-pci-switchtec-fix-stream_open.cocci-warnings.patch @@ -1,8 +1,7 @@ -From 088093ff4b48997a7b7ee99d8dcdfd02b47bf472 Mon Sep 17 00:00:00 2001 From: kbuild test robot <lkp@intel.com> Date: Sat, 13 Apr 2019 11:22:51 +0800 -Subject: [PATCH 269/347] pci/switchtec: fix stream_open.cocci warnings -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 268/342] pci/switchtec: fix stream_open.cocci warnings +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=69a465fae034c3aa1f134b2802bc4edfa7b60016 [ Upstream commit 9462c69e29307adc95c289f50839d5d683973891 ] @@ -35,6 +34,3 @@ index a8df847bedee..25d1f96cddc1 100644 dev_dbg(&stdev->dev, "%s: %p\n", __func__, stuser); --- -2.36.1 - diff --git a/debian/patches-rt/0270-sched-core-Drop-a-preempt_disable_rt-statement.patch b/debian/patches-rt/0269-sched-core-Drop-a-preempt_disable_rt-statement.patch index c1c54692c..a4b7753db 100644 --- a/debian/patches-rt/0270-sched-core-Drop-a-preempt_disable_rt-statement.patch +++ b/debian/patches-rt/0269-sched-core-Drop-a-preempt_disable_rt-statement.patch @@ -1,8 +1,7 @@ -From 3b0ab176baa325b6e2d909c3d2ce7860873c1726 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 24 Jun 2019 19:33:16 +0200 -Subject: [PATCH 270/347] sched/core: Drop a preempt_disable_rt() statement -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 269/342] sched/core: Drop a preempt_disable_rt() statement +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=74d2e1a7300ec02a7bea54ed43fbabaa4e8e1193 [ Upstream commit 761126efdcbe3fa3e99c9079fa0ad6eca2f251f2 ] @@ -45,6 +44,3 @@ index feaf4d5683af..3b0f62be3ece 100644 return cpu; } --- -2.36.1 - diff --git a/debian/patches-rt/0271-timers-Redo-the-notification-of-canceling-timers-on-.patch b/debian/patches-rt/0270-timers-Redo-the-notification-of-canceling-timers-on-.patch index 46b7ac22c..1f5b2ab81 100644 --- a/debian/patches-rt/0271-timers-Redo-the-notification-of-canceling-timers-on-.patch +++ b/debian/patches-rt/0270-timers-Redo-the-notification-of-canceling-timers-on-.patch @@ -1,9 +1,8 @@ -From abca2e3959b31be6e2cbc9d1e8d6ddebf31df3ea Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 24 Jun 2019 19:39:06 +0200 -Subject: [PATCH 271/347] timers: Redo the notification of canceling timers on +Subject: [PATCH 270/342] timers: Redo the notification of canceling timers on -RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e0d1c4cbc44a31f090ff94e4c029f31c97d2391d [ Upstream commit c71273154c2ad12e13333aada340ff30e826a11b ] @@ -645,6 +644,3 @@ index c7bd68db6f63..a2be2277506d 100644 } } --- -2.36.1 - diff --git a/debian/patches-rt/0272-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch b/debian/patches-rt/0271-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch index 82f8bb5db..c4309368f 100644 --- a/debian/patches-rt/0272-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch +++ b/debian/patches-rt/0271-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch @@ -1,9 +1,8 @@ -From 32f4aadb8254fd22b687cf1631c4859a2bf1b6bc Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 26 Jun 2019 17:44:13 +0200 -Subject: [PATCH 272/347] Revert "futex: Ensure lock/unlock symetry versus +Subject: [PATCH 271/342] Revert "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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d00bb8bbc139fe4cd03a34a820bc7ed395b791ea [ Upstream commit 6a773b70cf105b46298ed3b44e77c102ce31d9ec ] @@ -30,6 +29,3 @@ index a5a263a3efbf..3449a716a378 100644 put_pi_state(pi_state); continue; } --- -2.36.1 - diff --git a/debian/patches-rt/0273-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch b/debian/patches-rt/0272-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch index 8b7b98e81..d622e9bf3 100644 --- a/debian/patches-rt/0273-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch +++ b/debian/patches-rt/0272-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch @@ -1,9 +1,8 @@ -From 808788c03b3c849951c646819ad23ff2efaf78a9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 26 Jun 2019 17:44:18 +0200 -Subject: [PATCH 273/347] Revert "futex: Fix bug on when a requeued RT task +Subject: [PATCH 272/342] Revert "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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=424bdc4ecbdf891bb9781c66827c6552d45ec9c3 [ Upstream commit f1a170cb3289a48df26cae3c60d77608f7a988bb ] @@ -78,6 +77,3 @@ index 8e0c592273e6..627340e7427e 100644 extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock); extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock, --- -2.36.1 - diff --git a/debian/patches-rt/0274-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch b/debian/patches-rt/0273-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch index f8fd52438..391c7c48c 100644 --- a/debian/patches-rt/0274-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch +++ b/debian/patches-rt/0273-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch @@ -1,9 +1,8 @@ -From 206aee0eb3ade56ba7f62d90334791f6808738dc Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 26 Jun 2019 17:44:21 +0200 -Subject: [PATCH 274/347] Revert "rtmutex: Handle the various new futex race +Subject: [PATCH 273/342] Revert "rtmutex: Handle the various new futex race conditions" -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3cc6426a21b537ce05a7acb6a499a205559ae766 [ Upstream commit 9e0265c21af4d6388d47dcd5ce20f76ec3a2e468 ] @@ -244,6 +243,3 @@ index 627340e7427e..f587e0422d23 100644 extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock); extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock, struct task_struct *proxy_owner); --- -2.36.1 - diff --git a/debian/patches-rt/0275-Revert-futex-workaround-migrate_disable-enable-in-di.patch b/debian/patches-rt/0274-Revert-futex-workaround-migrate_disable-enable-in-di.patch index 6d5ad8916..b2f940fe5 100644 --- a/debian/patches-rt/0275-Revert-futex-workaround-migrate_disable-enable-in-di.patch +++ b/debian/patches-rt/0274-Revert-futex-workaround-migrate_disable-enable-in-di.patch @@ -1,9 +1,8 @@ -From 42f821c624f6605415eed76cbf5ece8a41b47ddf Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 26 Jun 2019 17:44:27 +0200 -Subject: [PATCH 275/347] Revert "futex: workaround migrate_disable/enable in +Subject: [PATCH 274/342] Revert "futex: workaround migrate_disable/enable in different context" -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=188a1d1aaac5e0288814560fad22b3c638bad3bd [ Upstream commit a71221d81cc4873891ae44f3aa02df596079b786 ] @@ -65,6 +64,3 @@ index bcd01b5a47df..9bcfdcffb2dd 100644 put_pi_state(pi_state); /* --- -2.36.1 - diff --git a/debian/patches-rt/0276-futex-Make-the-futex_hash_bucket-lock-raw.patch b/debian/patches-rt/0275-futex-Make-the-futex_hash_bucket-lock-raw.patch index da5c08609..b10825ac3 100644 --- a/debian/patches-rt/0276-futex-Make-the-futex_hash_bucket-lock-raw.patch +++ b/debian/patches-rt/0275-futex-Make-the-futex_hash_bucket-lock-raw.patch @@ -1,8 +1,7 @@ -From 07c4f7b101fb3ad4704efeda1f43246b289b62ad Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 26 Jun 2019 11:59:44 +0200 -Subject: [PATCH 276/347] futex: Make the futex_hash_bucket lock raw -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 275/342] futex: Make the futex_hash_bucket lock raw +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=26753445b4537710a56a34c3e43828b16269f682 [ Upstream commit f646521aadedab78801c9befe193e2e8a0c99298 ] @@ -335,6 +334,3 @@ index 9bcfdcffb2dd..8a49dd71b233 100644 } return 0; --- -2.36.1 - diff --git a/debian/patches-rt/0277-futex-Delay-deallocation-of-pi_state.patch b/debian/patches-rt/0276-futex-Delay-deallocation-of-pi_state.patch index d75a415e1..e041db583 100644 --- a/debian/patches-rt/0277-futex-Delay-deallocation-of-pi_state.patch +++ b/debian/patches-rt/0276-futex-Delay-deallocation-of-pi_state.patch @@ -1,8 +1,7 @@ -From 83bf13ff04d052ee07805956bae67c712bbb761b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 26 Jun 2019 13:35:36 +0200 -Subject: [PATCH 277/347] futex: Delay deallocation of pi_state -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 276/342] futex: Delay deallocation of pi_state +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=47e8761ab84ff28b2cbff2d64018bdedb9be7d11 [ Upstream commit d7c7cf8cb68b7df17e6e50be1f25f35d83e686c7 ] @@ -177,6 +176,3 @@ index 8a49dd71b233..2fc6bedb460e 100644 /* * Adjust the return value. It's either -EFAULT or * success (1) but the caller expects 0 for success. --- -2.36.1 - diff --git a/debian/patches-rt/0278-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch b/debian/patches-rt/0277-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch index b44e7ef6e..e85c24bc9 100644 --- a/debian/patches-rt/0278-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch +++ b/debian/patches-rt/0277-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch @@ -1,9 +1,8 @@ -From f41d5cdc361ba012b59e23b78fe3501b16cfda3d Mon Sep 17 00:00:00 2001 From: "Luis Claudio R. Goncalves" <lclaudio@uudg.org> Date: Tue, 25 Jun 2019 11:28:04 -0300 -Subject: [PATCH 278/347] mm/zswap: Do not disable preemption in +Subject: [PATCH 277/342] mm/zswap: Do not disable preemption in zswap_frontswap_store() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bf2f37b64408cdd6fd6be0309d0a7bfe88a20d29 [ Upstream commit 4e4cf4be79635e67144632d9135286381acbc95a ] @@ -122,6 +121,3 @@ index cd91fd9d96b8..420225d3ff0b 100644 zswap_pool_put(entry->pool); freepage: zswap_entry_cache_free(entry); --- -2.36.1 - diff --git a/debian/patches-rt/0279-revert-aio.patch b/debian/patches-rt/0278-revert-aio.patch index 2473add45..6cca2777c 100644 --- a/debian/patches-rt/0279-revert-aio.patch +++ b/debian/patches-rt/0278-revert-aio.patch @@ -1,8 +1,7 @@ -From f543c9a26aefcba7e267ea5d79ee00bcf6679b50 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" <rostedt@goodmis.org> Date: Fri, 20 Sep 2019 17:50:53 -0400 -Subject: [PATCH 279/347] revert-aio -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 278/342] revert-aio +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3385a4e70adb04e8ac905d0b889452f53b8348cd revert: fs/aio: simple simple work @@ -66,6 +65,3 @@ index 21eacb0f3f56..9635c29b83da 100644 static int ioctx_add_table(struct kioctx *ctx, struct mm_struct *mm) { unsigned i, new_nr; --- -2.36.1 - diff --git a/debian/patches-rt/0280-fs-aio-simple-simple-work.patch b/debian/patches-rt/0279-fs-aio-simple-simple-work.patch index 8bbb8340f..a7752d7d2 100644 --- a/debian/patches-rt/0280-fs-aio-simple-simple-work.patch +++ b/debian/patches-rt/0279-fs-aio-simple-simple-work.patch @@ -1,8 +1,7 @@ -From 238624153731bac8138142a9d688f5b51a5f70fe Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 16 Feb 2015 18:49:10 +0100 -Subject: [PATCH 280/347] fs/aio: simple simple work -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 279/342] fs/aio: simple simple work +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f620c96e59582f313de1000b3bebf41c6ee7d382 [ Upstream commit 1a142116f6435ef070ecebb66d2d599507c10601 ] @@ -71,6 +70,3 @@ index 9635c29b83da..303e85033965 100644 static int ioctx_add_table(struct kioctx *ctx, struct mm_struct *mm) { unsigned i, new_nr; --- -2.36.1 - diff --git a/debian/patches-rt/0281-revert-thermal.patch b/debian/patches-rt/0280-revert-thermal.patch index eb35b59a3..ef4bca6e0 100644 --- a/debian/patches-rt/0281-revert-thermal.patch +++ b/debian/patches-rt/0280-revert-thermal.patch @@ -1,8 +1,7 @@ -From 0e238fd1114bbb3f58ef4d2c32558d13f7ba6b75 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" <rostedt@goodmis.org> Date: Fri, 20 Sep 2019 17:50:53 -0400 -Subject: [PATCH 281/347] revert-thermal -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 280/342] revert-thermal +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=889019b2cc23787f62b86f2a97fdb25dd13861d5 Revert: thermal: Defer thermal wakups to threads @@ -115,6 +114,3 @@ index a5991cbb408f..1ef937d799e4 100644 } module_exit(pkg_temp_thermal_exit) --- -2.36.1 - diff --git a/debian/patches-rt/0282-thermal-Defer-thermal-wakups-to-threads.patch b/debian/patches-rt/0281-thermal-Defer-thermal-wakups-to-threads.patch index c87c2c1ee..8f7a05e42 100644 --- a/debian/patches-rt/0282-thermal-Defer-thermal-wakups-to-threads.patch +++ b/debian/patches-rt/0281-thermal-Defer-thermal-wakups-to-threads.patch @@ -1,8 +1,7 @@ -From 260167472319caeab60ece36de5dcd04ef245df5 Mon Sep 17 00:00:00 2001 From: Daniel Wagner <wagi@monom.org> Date: Tue, 17 Feb 2015 09:37:44 +0100 -Subject: [PATCH 282/347] thermal: Defer thermal wakups to threads -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 281/342] thermal: Defer thermal wakups to threads +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=37fb59a4561847466dd2ca567dfab731f99f9611 [ Upstream commit ad2408dc248fe58536eef5b2b5734d8f9d3a280b ] @@ -93,6 +92,3 @@ index 1ef937d799e4..82f21fd4afb0 100644 debugfs_remove_recursive(debugfs); kfree(packages); } --- -2.36.1 - diff --git a/debian/patches-rt/0283-revert-block.patch b/debian/patches-rt/0282-revert-block.patch index 71ddf1806..dd7be9b97 100644 --- a/debian/patches-rt/0283-revert-block.patch +++ b/debian/patches-rt/0282-revert-block.patch @@ -1,8 +1,7 @@ -From aceaba22f9a9db0bf15d1a63ca7d08080314f7b0 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" <rostedt@goodmis.org> Date: Fri, 20 Sep 2019 17:50:54 -0400 -Subject: [PATCH 283/347] revert-block -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 282/342] revert-block +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e13e0ac0a7e8bc9f08dae4cab727db6ad6ee35a4 Revert swork version of: block: blk-mq: move blk_queue_usage_counter_release() into process context @@ -78,6 +77,3 @@ index 0313098a428d..39d90bf9b5fa 100644 struct percpu_ref q_usage_counter; struct list_head all_q_node; --- -2.36.1 - diff --git a/debian/patches-rt/0284-block-blk-mq-move-blk_queue_usage_counter_release-in.patch b/debian/patches-rt/0283-block-blk-mq-move-blk_queue_usage_counter_release-in.patch index 97f2bf9b8..957d8d5d8 100644 --- a/debian/patches-rt/0284-block-blk-mq-move-blk_queue_usage_counter_release-in.patch +++ b/debian/patches-rt/0283-block-blk-mq-move-blk_queue_usage_counter_release-in.patch @@ -1,9 +1,8 @@ -From 8ba3db6f9244e6911ac88380cd133f39aaba95ab Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 13 Mar 2018 13:49:16 +0100 -Subject: [PATCH 284/347] block: blk-mq: move blk_queue_usage_counter_release() +Subject: [PATCH 283/342] block: blk-mq: move blk_queue_usage_counter_release() into process context -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=99bc7e0dc93da8bfa71231dc359276a09819c7e6 [ Upstream commit 61c928ecf4fe200bda9b49a0813b5ba0f43995b5 ] @@ -109,6 +108,3 @@ index 39d90bf9b5fa..5566d0049c22 100644 struct percpu_ref q_usage_counter; struct list_head all_q_node; --- -2.36.1 - diff --git a/debian/patches-rt/0285-workqueue-rework.patch b/debian/patches-rt/0284-workqueue-rework.patch index 056eb3a62..ea00e194a 100644 --- a/debian/patches-rt/0285-workqueue-rework.patch +++ b/debian/patches-rt/0284-workqueue-rework.patch @@ -1,8 +1,7 @@ -From 6fb18a4e40f7937eb1d0ab9dd2929a50d30d91f7 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 29 May 2019 18:52:27 +0200 -Subject: [PATCH 285/347] workqueue: rework -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 284/342] workqueue: rework +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ef48b1fd6691fa627afcf72bba3295c66c23da41 [ Upstream commit d15a862f24df983458533aebd6fa207ecdd1095a ] @@ -309,10 +308,10 @@ index 60d673e15632..546aa73fba6a 100644 extern bool queue_work_on(int cpu, struct workqueue_struct *wq, diff --git a/init/main.c b/init/main.c -index f5d0917a4d4b..0d5763c5da28 100644 +index 8555afc3f3e1..703b627a6060 100644 --- a/init/main.c +++ b/init/main.c -@@ -1132,7 +1132,6 @@ static noinline void __init kernel_init_freeable(void) +@@ -1136,7 +1136,6 @@ static noinline void __init kernel_init_freeable(void) smp_prepare_cpus(setup_max_cpus); workqueue_init(); @@ -1459,6 +1458,3 @@ index 91f5696cf335..4ed22776b2ee 100644 attrs->nice = std_nice[i]; attrs->no_numa = true; ordered_wq_attrs[i] = attrs; --- -2.36.1 - diff --git a/debian/patches-rt/0286-i2c-exynos5-Remove-IRQF_ONESHOT.patch b/debian/patches-rt/0285-i2c-exynos5-Remove-IRQF_ONESHOT.patch index 077cdff08..8291cc7fa 100644 --- a/debian/patches-rt/0286-i2c-exynos5-Remove-IRQF_ONESHOT.patch +++ b/debian/patches-rt/0285-i2c-exynos5-Remove-IRQF_ONESHOT.patch @@ -1,8 +1,7 @@ -From 6a0747038b36d84b3cb51152e09dda7db35fd222 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 13 Aug 2019 12:30:12 +0200 -Subject: [PATCH 286/347] i2c: exynos5: Remove IRQF_ONESHOT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 285/342] i2c: exynos5: Remove IRQF_ONESHOT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5d059b45c5670000931198afbd5e767ea166d2af [ Upstream commit 4b217df0ab3f7910c96e42091cc7d9f221d05f01 ] @@ -43,6 +42,3 @@ index c1ce2299a76e..5c57ecf4b79e 100644 if (ret != 0) { dev_err(&pdev->dev, "cannot request HS-I2C IRQ %d\n", i2c->irq); goto err_clk; --- -2.36.1 - diff --git a/debian/patches-rt/0287-i2c-hix5hd2-Remove-IRQF_ONESHOT.patch b/debian/patches-rt/0286-i2c-hix5hd2-Remove-IRQF_ONESHOT.patch index 72f7695b6..7ced2b106 100644 --- a/debian/patches-rt/0287-i2c-hix5hd2-Remove-IRQF_ONESHOT.patch +++ b/debian/patches-rt/0286-i2c-hix5hd2-Remove-IRQF_ONESHOT.patch @@ -1,8 +1,7 @@ -From d269babaefa33b4ea277b2a6033637b320c77f6f Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 13 Aug 2019 12:30:37 +0200 -Subject: [PATCH 287/347] i2c: hix5hd2: Remove IRQF_ONESHOT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 286/342] i2c: hix5hd2: Remove IRQF_ONESHOT +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=de0840ad000a4cd09abdbf0beb44a736108ecbf5 [ Upstream commit e88b481f3f86f11e3243e0808a830e5ca5782a9d ] @@ -37,6 +36,3 @@ index b5ad7696adf9..0f08ef1f7f41 100644 if (ret != 0) { dev_err(&pdev->dev, "cannot request HS-I2C IRQ %d\n", irq); goto err_clk; --- -2.36.1 - diff --git a/debian/patches-rt/0288-sched-deadline-Ensure-inactive_timer-runs-in-hardirq.patch b/debian/patches-rt/0287-sched-deadline-Ensure-inactive_timer-runs-in-hardirq.patch index 8e5e4c8de..b3668b2fe 100644 --- a/debian/patches-rt/0288-sched-deadline-Ensure-inactive_timer-runs-in-hardirq.patch +++ b/debian/patches-rt/0287-sched-deadline-Ensure-inactive_timer-runs-in-hardirq.patch @@ -1,9 +1,8 @@ -From 8161b3a85bed84a4cc75f68d048b35c2e09442ed Mon Sep 17 00:00:00 2001 From: Juri Lelli <juri.lelli@redhat.com> Date: Wed, 31 Jul 2019 12:37:15 +0200 -Subject: [PATCH 288/347] sched/deadline: Ensure inactive_timer runs in hardirq +Subject: [PATCH 287/342] sched/deadline: Ensure inactive_timer runs in hardirq context -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=428e3bd4726ac6ebbd987f67871d11fcb95f8369 [ Upstream commit ba94e7aed7405c58251b1380e6e7d73aa8284b41 ] @@ -45,6 +44,3 @@ index 1a285367081c..0bc1bad199c1 100644 timer->function = inactive_task_timer; } --- -2.36.1 - diff --git a/debian/patches-rt/0289-thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch b/debian/patches-rt/0288-thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch index 3fe37ca3c..889c850ef 100644 --- a/debian/patches-rt/0289-thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch +++ b/debian/patches-rt/0288-thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch @@ -1,9 +1,8 @@ -From 402252a8f4f986a5eb23639e3b9a1d9df4902d27 Mon Sep 17 00:00:00 2001 From: Clark Williams <williams@redhat.com> Date: Mon, 15 Jul 2019 15:25:00 -0500 -Subject: [PATCH 289/347] thermal/x86_pkg_temp: make pkg_temp_lock a raw +Subject: [PATCH 288/342] thermal/x86_pkg_temp: make pkg_temp_lock a raw spinlock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=592471e36b3b2ac61c32c4b93503fccbb7adab5b [ Upstream commit 8b03bb3ea7861b70b506199a69b1c8f81fe2d4d0 ] @@ -115,6 +114,3 @@ index 1ef937d799e4..540becb78a0f 100644 /* Final cleanup if this is the last cpu */ if (lastcpu) --- -2.36.1 - diff --git a/debian/patches-rt/0290-dma-buf-Use-seqlock_t-instread-disabling-preemption.patch b/debian/patches-rt/0289-dma-buf-Use-seqlock_t-instread-disabling-preemption.patch index 5376a0901..aef963401 100644 --- a/debian/patches-rt/0290-dma-buf-Use-seqlock_t-instread-disabling-preemption.patch +++ b/debian/patches-rt/0289-dma-buf-Use-seqlock_t-instread-disabling-preemption.patch @@ -1,8 +1,7 @@ -From f2b7bfd175503ed854870b368aaa9e1be2159cab Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 14 Aug 2019 16:38:43 +0200 -Subject: [PATCH 290/347] dma-buf: Use seqlock_t instread disabling preemption -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 289/342] dma-buf: Use seqlock_t instread disabling preemption +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=540c895b043eda1c43ae57fff6829d6e210ca69e [ Upstream commit 240610aa31094f51f299f06eb8dae8d4cd8d4500 ] @@ -291,6 +290,3 @@ index 02166e815afb..0b31df1af698 100644 RCU_INIT_POINTER(obj->fence, NULL); RCU_INIT_POINTER(obj->fence_excl, NULL); obj->staged = NULL; --- -2.36.1 - diff --git a/debian/patches-rt/0291-KVM-arm-arm64-Let-the-timer-expire-in-hardirq-contex.patch b/debian/patches-rt/0290-KVM-arm-arm64-Let-the-timer-expire-in-hardirq-contex.patch index d290086bf..8ce7e3d98 100644 --- a/debian/patches-rt/0291-KVM-arm-arm64-Let-the-timer-expire-in-hardirq-contex.patch +++ b/debian/patches-rt/0290-KVM-arm-arm64-Let-the-timer-expire-in-hardirq-contex.patch @@ -1,9 +1,8 @@ -From 1e93492b5c8f5b655d5c6e7c3867eef80ef38223 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 13 Aug 2019 14:29:41 +0200 -Subject: [PATCH 291/347] KVM: arm/arm64: Let the timer expire in hardirq +Subject: [PATCH 290/342] KVM: arm/arm64: Let the timer expire in hardirq context on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ee72e57437b6b664bd7784277353a5dfd529c67e [ Upstream commit 719cc080c914045a6e35787bf4dc3ba91cfd3efb ] @@ -49,6 +48,3 @@ index 17cecc96f735..217d39f40393 100644 timer->phys_timer.function = kvm_phys_timer_expire; vtimer->irq.irq = default_vtimer_irq.irq; --- -2.36.1 - diff --git a/debian/patches-rt/0292-x86-preempt-Check-preemption-level-before-looking-at.patch b/debian/patches-rt/0291-x86-preempt-Check-preemption-level-before-looking-at.patch index df53f3dd7..0101e802e 100644 --- a/debian/patches-rt/0292-x86-preempt-Check-preemption-level-before-looking-at.patch +++ b/debian/patches-rt/0291-x86-preempt-Check-preemption-level-before-looking-at.patch @@ -1,9 +1,8 @@ -From 3a7e827c42b01480e35997bdc722eaaa457840d1 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 14 Aug 2019 17:08:58 +0200 -Subject: [PATCH 292/347] x86: preempt: Check preemption level before looking +Subject: [PATCH 291/342] x86: preempt: Check preemption level before looking at lazy-preempt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cbcd32705234c16095b150867b2191151ca8a9be [ Upstream commit 19fc8557f2323c52b26561651ed4d51fc688a740 ] @@ -29,6 +28,3 @@ index f66708779274..afa0e42ccdd1 100644 if (current_thread_info()->preempt_lazy_count) return false; return test_thread_flag(TIF_NEED_RESCHED_LAZY); --- -2.36.1 - diff --git a/debian/patches-rt/0293-hrtimer-Use-READ_ONCE-to-access-timer-base-in-hrimer.patch b/debian/patches-rt/0292-hrtimer-Use-READ_ONCE-to-access-timer-base-in-hrimer.patch index 2f06144ba..96b0c6320 100644 --- a/debian/patches-rt/0293-hrtimer-Use-READ_ONCE-to-access-timer-base-in-hrimer.patch +++ b/debian/patches-rt/0292-hrtimer-Use-READ_ONCE-to-access-timer-base-in-hrimer.patch @@ -1,9 +1,8 @@ -From 656b33d3842f931f31f5149e458db52b85c4af3e Mon Sep 17 00:00:00 2001 From: Julien Grall <julien.grall@arm.com> Date: Wed, 21 Aug 2019 10:24:07 +0100 -Subject: [PATCH 293/347] hrtimer: Use READ_ONCE to access timer->base in +Subject: [PATCH 292/342] hrtimer: Use READ_ONCE to access timer->base in hrimer_grab_expiry_lock() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=651af665014e442103551831276cb17778ec5ffa [ Upstream commit 2c8fdbe7ef0ad06c1a326886c5954e117b5657d6 ] @@ -37,6 +36,3 @@ index eb2db7e6a241..dff440fd968b 100644 if (base && base->cpu_base) { spin_lock(&base->cpu_base->softirq_expiry_lock); --- -2.36.1 - diff --git a/debian/patches-rt/0294-hrtimer-Don-t-grab-the-expiry-lock-for-non-soft-hrti.patch b/debian/patches-rt/0293-hrtimer-Don-t-grab-the-expiry-lock-for-non-soft-hrti.patch index 2d81ae91d..74c1274db 100644 --- a/debian/patches-rt/0294-hrtimer-Don-t-grab-the-expiry-lock-for-non-soft-hrti.patch +++ b/debian/patches-rt/0293-hrtimer-Don-t-grab-the-expiry-lock-for-non-soft-hrti.patch @@ -1,9 +1,8 @@ -From cec8a994798fd0bebd900d555590ab684d4c7edc Mon Sep 17 00:00:00 2001 From: Julien Grall <julien.grall@arm.com> Date: Wed, 21 Aug 2019 10:24:08 +0100 -Subject: [PATCH 294/347] hrtimer: Don't grab the expiry lock for non-soft +Subject: [PATCH 293/342] hrtimer: Don't grab the expiry lock for non-soft hrtimer -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c08561e4507bece7acce0e54872524c3c670260c [ Upstream commit fd420354bea2f57c11f3de191dffdeea76531e76 ] @@ -36,6 +35,3 @@ index dff440fd968b..24bfae0e92e2 100644 spin_lock(&base->cpu_base->softirq_expiry_lock); spin_unlock(&base->cpu_base->softirq_expiry_lock); } --- -2.36.1 - diff --git a/debian/patches-rt/0295-hrtimer-Prevent-using-hrtimer_grab_expiry_lock-on-mi.patch b/debian/patches-rt/0294-hrtimer-Prevent-using-hrtimer_grab_expiry_lock-on-mi.patch index 66133c2af..8618d61b5 100644 --- a/debian/patches-rt/0295-hrtimer-Prevent-using-hrtimer_grab_expiry_lock-on-mi.patch +++ b/debian/patches-rt/0294-hrtimer-Prevent-using-hrtimer_grab_expiry_lock-on-mi.patch @@ -1,9 +1,8 @@ -From 7e9203de23a787ac491b8114acaf5a8c37f60d36 Mon Sep 17 00:00:00 2001 From: Julien Grall <julien.grall@arm.com> Date: Wed, 21 Aug 2019 10:24:09 +0100 -Subject: [PATCH 295/347] hrtimer: Prevent using hrtimer_grab_expiry_lock() on +Subject: [PATCH 294/342] hrtimer: Prevent using hrtimer_grab_expiry_lock() on migration_base -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=93b879f6d94c9ca346d233d70a5afdb03d97355f [ Upstream commit cef1b87f98823af923a386f3f69149acb212d4a1 ] @@ -38,6 +37,3 @@ index 24bfae0e92e2..3f9d156c36f1 100644 spin_lock(&base->cpu_base->softirq_expiry_lock); spin_unlock(&base->cpu_base->softirq_expiry_lock); } --- -2.36.1 - diff --git a/debian/patches-rt/0296-hrtimer-Add-a-missing-bracket-and-hide-migration_bas.patch b/debian/patches-rt/0295-hrtimer-Add-a-missing-bracket-and-hide-migration_bas.patch index 54806bcb2..f24fd1199 100644 --- a/debian/patches-rt/0296-hrtimer-Add-a-missing-bracket-and-hide-migration_bas.patch +++ b/debian/patches-rt/0295-hrtimer-Add-a-missing-bracket-and-hide-migration_bas.patch @@ -1,9 +1,8 @@ -From 1f69d8dae481d24ebdbd40717196cc8e36553976 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 4 Sep 2019 16:55:27 +0200 -Subject: [PATCH 296/347] hrtimer: Add a missing bracket and hide +Subject: [PATCH 295/342] hrtimer: Add a missing bracket and hide `migration_base' on !SMP -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=44e95bce9a5f97221e79be2d034fafe617dff0f7 [ Upstream commit 47b6de0b7f22c28b40275aeede3993d807668c3b ] @@ -70,6 +69,3 @@ index 3f9d156c36f1..0f841f18c363 100644 spin_lock(&base->cpu_base->softirq_expiry_lock); spin_unlock(&base->cpu_base->softirq_expiry_lock); } --- -2.36.1 - diff --git a/debian/patches-rt/0297-posix-timers-Unlock-expiry-lock-in-the-early-return.patch b/debian/patches-rt/0296-posix-timers-Unlock-expiry-lock-in-the-early-return.patch index 001c07c9c..c5827397e 100644 --- a/debian/patches-rt/0297-posix-timers-Unlock-expiry-lock-in-the-early-return.patch +++ b/debian/patches-rt/0296-posix-timers-Unlock-expiry-lock-in-the-early-return.patch @@ -1,8 +1,7 @@ -From 89d528d5fab49f30a5cbd2ef13e19d488a6e21ae Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 16 Sep 2019 12:33:59 +0200 -Subject: [PATCH 297/347] posix-timers: Unlock expiry lock in the early return -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 296/342] posix-timers: Unlock expiry lock in the early return +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6d94a6b1400f572d9acbb7e045afb65c8d8fa530 [ Upstream commit 356a2781375ec58521a9bc3f500488745990c242 ] @@ -36,6 +35,3 @@ index 54632ed51c65..b9e4ccbb60f3 100644 /* * Here we take off tsk->signal->cpu_timers[N] and * tsk->cpu_timers[N] all the timers that are firing, and --- -2.36.1 - diff --git a/debian/patches-rt/0298-sched-migrate_dis-enable-Use-sleeping_lock-to-annota.patch b/debian/patches-rt/0297-sched-migrate_dis-enable-Use-sleeping_lock-to-annota.patch index 6c1157424..11ce037e5 100644 --- a/debian/patches-rt/0298-sched-migrate_dis-enable-Use-sleeping_lock-to-annota.patch +++ b/debian/patches-rt/0297-sched-migrate_dis-enable-Use-sleeping_lock-to-annota.patch @@ -1,12 +1,11 @@ -From 813c54ab7d391f197cafdfef09b14958da328122 Mon Sep 17 00:00:00 2001 From: Scott Wood <swood@redhat.com> Date: Tue, 24 Sep 2019 14:36:41 +0200 -Subject: [PATCH 298/347] =?UTF-8?q?sched:=20migrate=5Fdis/enable:=20Use=20?= +Subject: [PATCH 297/342] =?UTF-8?q?sched:=20migrate=5Fdis/enable:=20Use=20?= =?UTF-8?q?sleeping=5Flock=E2=80=A6()=20to=20annotate=20sleeping=20points?= 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.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cb7f34c0ba155510ebd0db8410614eca88812750 [ Upstream commit 4230dd3824c3e1785504e6f757ce79a4b55651fa ] @@ -25,10 +24,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> 2 files changed, 5 insertions(+) diff --git a/kernel/cpu.c b/kernel/cpu.c -index 11f48774b129..c84a93f84164 100644 +index 396394ebbc5b..4bf82665f28c 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -309,7 +309,9 @@ void pin_current_cpu(void) +@@ -310,7 +310,9 @@ void pin_current_cpu(void) preempt_lazy_enable(); preempt_enable(); @@ -53,6 +52,3 @@ index 1d4d4780dd79..33c1ae19410e 100644 tlb_migrate_finish(p->mm); return; --- -2.36.1 - diff --git a/debian/patches-rt/0299-sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch b/debian/patches-rt/0298-sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch index 693556876..91f4c497c 100644 --- a/debian/patches-rt/0299-sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch +++ b/debian/patches-rt/0298-sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch @@ -1,9 +1,8 @@ -From a1f857c1918e1e9cf21358347d4f0bbd0c6da587 Mon Sep 17 00:00:00 2001 From: Scott Wood <swood@redhat.com> Date: Sat, 27 Jul 2019 00:56:32 -0500 -Subject: [PATCH 299/347] sched: __set_cpus_allowed_ptr: Check cpus_mask, not +Subject: [PATCH 298/342] sched: __set_cpus_allowed_ptr: Check cpus_mask, not cpus_ptr -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1cc9480667aa314a5de466bc624262f1aa2cf19a [ Upstream commit e5606fb7b042db634ed62b4dd733d62e050e468f ] @@ -34,6 +33,3 @@ index 33c1ae19410e..4f5242c9ca78 100644 goto out; dest_cpu = cpumask_any_and(cpu_valid_mask, new_mask); --- -2.36.1 - diff --git a/debian/patches-rt/0300-sched-Remove-dead-__migrate_disabled-check.patch b/debian/patches-rt/0299-sched-Remove-dead-__migrate_disabled-check.patch index 156d1ac5b..11109f24e 100644 --- a/debian/patches-rt/0300-sched-Remove-dead-__migrate_disabled-check.patch +++ b/debian/patches-rt/0299-sched-Remove-dead-__migrate_disabled-check.patch @@ -1,8 +1,7 @@ -From 5090ad8fa345caac33cc1dbdc60002b7264b8b59 Mon Sep 17 00:00:00 2001 From: Scott Wood <swood@redhat.com> Date: Sat, 27 Jul 2019 00:56:33 -0500 -Subject: [PATCH 300/347] sched: Remove dead __migrate_disabled() check -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 299/342] sched: Remove dead __migrate_disabled() check +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4abc9fbc0662890ad6eecb6b9daaf7d0544c7d22 [ Upstream commit 14d9272d534ea91262e15db99443fc5995c7c016 ] @@ -34,6 +33,3 @@ index 4f5242c9ca78..e64d2b2b3a69 100644 if (task_running(rq, p) || p->state == TASK_WAKING) { struct migration_arg arg = { p, dest_cpu }; /* Need help from migration thread: drop lock and wait. */ --- -2.36.1 - diff --git a/debian/patches-rt/0301-sched-migrate-disable-Protect-cpus_ptr-with-lock.patch b/debian/patches-rt/0300-sched-migrate-disable-Protect-cpus_ptr-with-lock.patch index 1f1822daf..98a2369c2 100644 --- a/debian/patches-rt/0301-sched-migrate-disable-Protect-cpus_ptr-with-lock.patch +++ b/debian/patches-rt/0300-sched-migrate-disable-Protect-cpus_ptr-with-lock.patch @@ -1,8 +1,7 @@ -From c4c6908e112c8368299d23485a921dcc83876ec2 Mon Sep 17 00:00:00 2001 From: Scott Wood <swood@redhat.com> Date: Sat, 27 Jul 2019 00:56:34 -0500 -Subject: [PATCH 301/347] sched: migrate disable: Protect cpus_ptr with lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 300/342] sched: migrate disable: Protect cpus_ptr with lock +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=51a9977c0b69716f9a2ca78d92686b134d5fe5e3 [ Upstream commit 27ee52a891ed2c7e2e2c8332ccae0de7c2674b09 ] @@ -42,6 +41,3 @@ index e64d2b2b3a69..6f91ee2b7e91 100644 p->nr_cpus_allowed = cpumask_weight(&p->cpus_mask); update_nr_migratory(p, 1); task_rq_unlock(rq, p, &rf); --- -2.36.1 - diff --git a/debian/patches-rt/0302-lib-smp_processor_id-Don-t-use-cpumask_equal.patch b/debian/patches-rt/0301-lib-smp_processor_id-Don-t-use-cpumask_equal.patch index ce14d4f68..456e9caae 100644 --- a/debian/patches-rt/0302-lib-smp_processor_id-Don-t-use-cpumask_equal.patch +++ b/debian/patches-rt/0301-lib-smp_processor_id-Don-t-use-cpumask_equal.patch @@ -1,8 +1,7 @@ -From 9f39347ad1257ec5ba912513bc7fda854af0bcd0 Mon Sep 17 00:00:00 2001 From: Waiman Long <longman@redhat.com> Date: Thu, 3 Oct 2019 16:36:08 -0400 -Subject: [PATCH 302/347] lib/smp_processor_id: Don't use cpumask_equal() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 301/342] lib/smp_processor_id: Don't use cpumask_equal() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=83c7d978aa1fe629e0c8c48204de93e5555cdc24 [ Upstream commit 659252061477862f45b79e1de169e6030f5c8918 ] @@ -40,6 +39,3 @@ index fb35c45b9421..b8a8a8db2d75 100644 goto out; /* --- -2.36.1 - diff --git a/debian/patches-rt/0303-futex-Make-the-futex_hash_bucket-spinlock_t-again-an.patch b/debian/patches-rt/0302-futex-Make-the-futex_hash_bucket-spinlock_t-again-an.patch index 480218133..224b6a81a 100644 --- a/debian/patches-rt/0303-futex-Make-the-futex_hash_bucket-spinlock_t-again-an.patch +++ b/debian/patches-rt/0302-futex-Make-the-futex_hash_bucket-spinlock_t-again-an.patch @@ -1,9 +1,8 @@ -From f7a1b76e65c0d79612a6f81b5afc8558b6256242 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Mon, 7 Oct 2019 16:45:18 +0200 -Subject: [PATCH 303/347] futex: Make the futex_hash_bucket spinlock_t again +Subject: [PATCH 302/342] futex: Make the futex_hash_bucket spinlock_t again and bring back its old state -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=db07179f5403257fab1645f3d1b5016389d2d3bb [ Upstream commit 954ad80c23edfe71f4e8ce70b961eac884320c3a ] @@ -730,6 +729,3 @@ index f587e0422d23..8e0c592273e6 100644 extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock); extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock, struct task_struct *proxy_owner); --- -2.36.1 - diff --git a/debian/patches-rt/0304-locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch b/debian/patches-rt/0303-locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch index 86fb4bb50..8ec5a16d0 100644 --- a/debian/patches-rt/0304-locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch +++ b/debian/patches-rt/0303-locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch @@ -1,9 +1,8 @@ -From 91bba7aa7f53d991fab4b00ba2bb333dc25dd2ee Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <peterz@infradead.org> Date: Mon, 30 Sep 2019 18:15:44 +0200 -Subject: [PATCH 304/347] locking/rtmutex: Clean ->pi_blocked_on in the error +Subject: [PATCH 303/342] locking/rtmutex: Clean ->pi_blocked_on in the error case -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=aa4169c26b331ce5542238710c17b2bfe9cab704 [ Upstream commit 0be4ea6e3ce693101be0fbd55a0cc7ce238ab2eb ] @@ -97,6 +96,3 @@ index ded2296f848a..dc95a81ae3a6 100644 raw_spin_unlock_irq(&lock->wait_lock); --- -2.36.1 - diff --git a/debian/patches-rt/0305-lib-ubsan-Don-t-seralize-UBSAN-report.patch b/debian/patches-rt/0304-lib-ubsan-Don-t-seralize-UBSAN-report.patch index 0d8dba5e3..d2b221679 100644 --- a/debian/patches-rt/0305-lib-ubsan-Don-t-seralize-UBSAN-report.patch +++ b/debian/patches-rt/0304-lib-ubsan-Don-t-seralize-UBSAN-report.patch @@ -1,8 +1,7 @@ -From 7310d776df7bc46b442c51d6b723b77ef6614830 Mon Sep 17 00:00:00 2001 From: Julien Grall <julien.grall@arm.com> Date: Fri, 20 Sep 2019 11:08:35 +0100 -Subject: [PATCH 305/347] lib/ubsan: Don't seralize UBSAN report -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 304/342] lib/ubsan: Don't seralize UBSAN report +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9d8814df58e1f97746fa2da50d282d631c11542d [ Upstream commit 4702c28ac777b27acb499cbd5e8e787ce1a7d82d ] @@ -303,6 +302,3 @@ index 1e9e2ab25539..5830cc9a2164 100644 + ubsan_epilogue(); } EXPORT_SYMBOL(__ubsan_handle_load_invalid_value); --- -2.36.1 - diff --git a/debian/patches-rt/0306-kmemleak-Change-the-lock-of-kmemleak_object-to-raw_s.patch b/debian/patches-rt/0305-kmemleak-Change-the-lock-of-kmemleak_object-to-raw_s.patch index ca08e2aca..81533bee0 100644 --- a/debian/patches-rt/0306-kmemleak-Change-the-lock-of-kmemleak_object-to-raw_s.patch +++ b/debian/patches-rt/0305-kmemleak-Change-the-lock-of-kmemleak_object-to-raw_s.patch @@ -1,9 +1,8 @@ -From 3d72712c05917c06303670565d51a308334595d6 Mon Sep 17 00:00:00 2001 From: Liu Haitao <haitao.liu@windriver.com> Date: Fri, 27 Sep 2019 16:22:30 +0800 -Subject: [PATCH 306/347] kmemleak: Change the lock of kmemleak_object to +Subject: [PATCH 305/342] kmemleak: Change the lock of kmemleak_object to raw_spinlock_t -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6b143bcf21b5a432f5fd03c79ff17188dfb00790 [ Upstream commit 217847f57119b5fdd377bfa3d344613ddb98d9fc ] @@ -288,6 +287,3 @@ index 5b6718dd3a64..23e2837501d6 100644 } rcu_read_unlock(); --- -2.36.1 - diff --git a/debian/patches-rt/0307-sched-migrate_enable-Use-select_fallback_rq.patch b/debian/patches-rt/0306-sched-migrate_enable-Use-select_fallback_rq.patch index 6de7f0383..8177c1f0a 100644 --- a/debian/patches-rt/0307-sched-migrate_enable-Use-select_fallback_rq.patch +++ b/debian/patches-rt/0306-sched-migrate_enable-Use-select_fallback_rq.patch @@ -1,8 +1,7 @@ -From 86ff244b7222b5d5734b2c195ba28c7bbb5b6b0a Mon Sep 17 00:00:00 2001 From: Scott Wood <swood@redhat.com> Date: Sat, 12 Oct 2019 01:52:12 -0500 -Subject: [PATCH 307/347] sched: migrate_enable: Use select_fallback_rq() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 306/342] sched: migrate_enable: Use select_fallback_rq() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b19de5d2c7678334eef4c5e764fcbe08f4fce1f6 [ Upstream commit adfa969d4cfcc995a9d866020124e50f1827d2d1 ] @@ -61,6 +60,3 @@ index 6f91ee2b7e91..7eb3037c0b35 100644 unpin_current_cpu(); preempt_lazy_enable(); --- -2.36.1 - diff --git a/debian/patches-rt/0308-sched-Lazy-migrate_disable-processing.patch b/debian/patches-rt/0307-sched-Lazy-migrate_disable-processing.patch index 973b6e870..0db42edaa 100644 --- a/debian/patches-rt/0308-sched-Lazy-migrate_disable-processing.patch +++ b/debian/patches-rt/0307-sched-Lazy-migrate_disable-processing.patch @@ -1,8 +1,7 @@ -From 34b182c6f6606c5a02a3ddea15356251ca28093b Mon Sep 17 00:00:00 2001 From: Scott Wood <swood@redhat.com> Date: Sat, 12 Oct 2019 01:52:13 -0500 -Subject: [PATCH 308/347] sched: Lazy migrate_disable processing -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 307/342] sched: Lazy migrate_disable processing +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=80bc8f45b65be158feec72e427e42b77fcf0745a [ Upstream commit 425c5b38779a860062aa62219dc920d374b13c17 ] @@ -45,10 +44,10 @@ Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> 7 files changed, 129 insertions(+), 182 deletions(-) diff --git a/include/linux/cpu.h b/include/linux/cpu.h -index e67645924404..87347ccbba0c 100644 +index a3c246214d28..81ce109caec3 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h -@@ -118,8 +118,6 @@ extern void cpu_hotplug_disable(void); +@@ -122,8 +122,6 @@ extern void cpu_hotplug_disable(void); extern void cpu_hotplug_enable(void); void clear_tasks_mm_cpumask(int cpu); int cpu_down(unsigned int cpu); @@ -57,7 +56,7 @@ index e67645924404..87347ccbba0c 100644 #else /* CONFIG_HOTPLUG_CPU */ -@@ -131,8 +129,6 @@ static inline int cpus_read_trylock(void) { return true; } +@@ -135,8 +133,6 @@ static inline int cpus_read_trylock(void) { return true; } static inline void lockdep_assert_cpus_held(void) { } static inline void cpu_hotplug_disable(void) { } static inline void cpu_hotplug_enable(void) { } @@ -121,10 +120,10 @@ index 634becebd713..45b84137c4b3 100644 .active_mm = &init_mm, .restart_block = { diff --git a/kernel/cpu.c b/kernel/cpu.c -index c84a93f84164..edd4fd8da726 100644 +index 4bf82665f28c..f603ea80af2e 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -77,11 +77,6 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { +@@ -78,11 +78,6 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { .fail = CPUHP_INVALID, }; @@ -136,7 +135,7 @@ index c84a93f84164..edd4fd8da726 100644 #if defined(CONFIG_LOCKDEP) && defined(CONFIG_SMP) static struct lockdep_map cpuhp_state_up_map = STATIC_LOCKDEP_MAP_INIT("cpuhp_state-up", &cpuhp_state_up_map); -@@ -288,57 +283,6 @@ static int cpu_hotplug_disabled; +@@ -289,57 +284,6 @@ static int cpu_hotplug_disabled; #ifdef CONFIG_HOTPLUG_CPU @@ -194,7 +193,7 @@ index c84a93f84164..edd4fd8da726 100644 DEFINE_STATIC_PERCPU_RWSEM(cpu_hotplug_lock); void cpus_read_lock(void) -@@ -932,6 +876,15 @@ static int take_cpu_down(void *_param) +@@ -933,6 +877,15 @@ static int take_cpu_down(void *_param) int err, cpu = smp_processor_id(); int ret; @@ -210,7 +209,7 @@ index c84a93f84164..edd4fd8da726 100644 /* Ensure this CPU doesn't handle any more interrupts. */ err = __cpu_disable(); if (err < 0) -@@ -959,11 +912,10 @@ static int take_cpu_down(void *_param) +@@ -960,11 +913,10 @@ static int take_cpu_down(void *_param) return 0; } @@ -224,7 +223,7 @@ index c84a93f84164..edd4fd8da726 100644 struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu); int err; -@@ -976,17 +928,38 @@ static int takedown_cpu(unsigned int cpu) +@@ -977,17 +929,38 @@ static int takedown_cpu(unsigned int cpu) */ irq_lock_sparse(); @@ -267,7 +266,7 @@ index c84a93f84164..edd4fd8da726 100644 #endif /* CPU refused to die */ irq_unlock_sparse(); -@@ -1006,8 +979,8 @@ static int takedown_cpu(unsigned int cpu) +@@ -1007,8 +980,8 @@ static int takedown_cpu(unsigned int cpu) wait_for_ap_thread(st, false); BUG_ON(st->state != CPUHP_AP_IDLE_DEAD); @@ -611,6 +610,3 @@ index b8a8a8db2d75..0c80992aa337 100644 if (current->nr_cpus_allowed == 1) goto out; --- -2.36.1 - diff --git a/debian/patches-rt/0309-sched-migrate_enable-Use-stop_one_cpu_nowait.patch b/debian/patches-rt/0308-sched-migrate_enable-Use-stop_one_cpu_nowait.patch index 21108241b..306caf6c4 100644 --- a/debian/patches-rt/0309-sched-migrate_enable-Use-stop_one_cpu_nowait.patch +++ b/debian/patches-rt/0308-sched-migrate_enable-Use-stop_one_cpu_nowait.patch @@ -1,8 +1,7 @@ -From 778702cffc4e8e3f002716b84944ddf23692639f Mon Sep 17 00:00:00 2001 From: Scott Wood <swood@redhat.com> Date: Sat, 12 Oct 2019 01:52:14 -0500 -Subject: [PATCH 309/347] sched: migrate_enable: Use stop_one_cpu_nowait() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 308/342] sched: migrate_enable: Use stop_one_cpu_nowait() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=519fb3634f6b249f1ffe9e72c3df31ac00b7797e [ Upstream commit 6b39a1fa8c53cae08dc03afdae193b7d3a78a173 ] @@ -116,6 +115,3 @@ index 067cb83f37ea..2d15c0d50625 100644 raw_spin_unlock_irqrestore(&stopper->lock, flags); wake_up_q(&wakeq); --- -2.36.1 - diff --git a/debian/patches-rt/0310-Revert-ARM-Initialize-split-page-table-locks-for-vec.patch b/debian/patches-rt/0309-Revert-ARM-Initialize-split-page-table-locks-for-vec.patch index 92464be91..511698c42 100644 --- a/debian/patches-rt/0310-Revert-ARM-Initialize-split-page-table-locks-for-vec.patch +++ b/debian/patches-rt/0309-Revert-ARM-Initialize-split-page-table-locks-for-vec.patch @@ -1,9 +1,8 @@ -From 24329bb57c5b6fae2c3360adcb2c69bbcd4314f4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 18 Oct 2019 13:04:15 +0200 -Subject: [PATCH 310/347] Revert "ARM: Initialize split page table locks for +Subject: [PATCH 309/342] Revert "ARM: Initialize split page table locks for vector page" -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=954608a19dde6afa6ee3fcbc50ad717c888a9050 [ Upstream commit 247074c44d8c3e619dfde6404a52295d8d671d38 ] @@ -82,6 +81,3 @@ index 8d3c7ce34c24..82ab015bf42b 100644 #ifdef CONFIG_KUSER_HELPERS /* * The vectors page is always readable from user space for the --- -2.36.1 - diff --git a/debian/patches-rt/0311-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch b/debian/patches-rt/0310-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch index b6096f1c2..fa066cce6 100644 --- a/debian/patches-rt/0311-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch +++ b/debian/patches-rt/0310-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch @@ -1,9 +1,8 @@ -From c0b7b36cdce411ac0992029c343d9fb8eb65c305 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 19 Nov 2019 09:25:04 +0100 -Subject: [PATCH 311/347] locking: Make spinlock_t and rwlock_t a RCU section +Subject: [PATCH 310/342] locking: Make spinlock_t and rwlock_t a RCU section on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5a4cb6344d94ce566d562e036d4fd69ead0338f3 [ Upstream commit 84440022a0e1c8c936d61f8f97593674a295d409 ] @@ -124,6 +123,3 @@ index c3b91205161c..0ae8c62ea832 100644 sleeping_lock_dec(); } EXPORT_SYMBOL(rt_write_unlock); --- -2.36.1 - diff --git a/debian/patches-rt/0312-sched-core-migrate_enable-must-access-takedown_cpu_t.patch b/debian/patches-rt/0311-sched-core-migrate_enable-must-access-takedown_cpu_t.patch index 2132d259a..b616edaed 100644 --- a/debian/patches-rt/0312-sched-core-migrate_enable-must-access-takedown_cpu_t.patch +++ b/debian/patches-rt/0311-sched-core-migrate_enable-must-access-takedown_cpu_t.patch @@ -1,9 +1,8 @@ -From 01f24622e993de73c028f4eaa067c421e4e0d851 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 29 Nov 2019 17:24:55 +0100 -Subject: [PATCH 312/347] sched/core: migrate_enable() must access +Subject: [PATCH 311/342] sched/core: migrate_enable() must access takedown_cpu_task on !HOTPLUG_CPU -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ea00648e17779a1d2d3f7f21bcc8f1d0455f20d4 [ Upstream commit a61d1977f692e46bad99a100f264981ba08cb4bd ] @@ -21,10 +20,10 @@ Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> 2 files changed, 4 insertions(+) diff --git a/kernel/cpu.c b/kernel/cpu.c -index edd4fd8da726..44245b35c09c 100644 +index f603ea80af2e..57bd32c83c9e 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -912,7 +912,9 @@ static int take_cpu_down(void *_param) +@@ -913,7 +913,9 @@ static int take_cpu_down(void *_param) return 0; } @@ -50,6 +49,3 @@ index dff9d26a8625..270adb525d93 100644 if (!p->migrate_disable_scheduled) goto out; --- -2.36.1 - diff --git a/debian/patches-rt/0313-lib-smp_processor_id-Adjust-check_preemption_disable.patch b/debian/patches-rt/0312-lib-smp_processor_id-Adjust-check_preemption_disable.patch index 54602a05d..106756de0 100644 --- a/debian/patches-rt/0313-lib-smp_processor_id-Adjust-check_preemption_disable.patch +++ b/debian/patches-rt/0312-lib-smp_processor_id-Adjust-check_preemption_disable.patch @@ -1,9 +1,8 @@ -From d66acdc1d09f10c3141286072a6c07ec47245926 Mon Sep 17 00:00:00 2001 From: Daniel Wagner <dwagner@suse.de> Date: Mon, 16 Dec 2019 16:15:57 +0100 -Subject: [PATCH 313/347] lib/smp_processor_id: Adjust +Subject: [PATCH 312/342] lib/smp_processor_id: Adjust check_preemption_disabled() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8234196f578cabadf98da643b83e2904de6a2ef4 [ Upstream commit af3c1c5fdf177870fb5e6e16b24e374696ab28f5 ] @@ -36,6 +35,3 @@ index 0c80992aa337..2e7398534b66 100644 if (current->nr_cpus_allowed == 1) goto out; --- -2.36.1 - diff --git a/debian/patches-rt/0314-sched-migrate_enable-Busy-loop-until-the-migration-r.patch b/debian/patches-rt/0313-sched-migrate_enable-Busy-loop-until-the-migration-r.patch index d51c9b637..fc1b7bd92 100644 --- a/debian/patches-rt/0314-sched-migrate_enable-Busy-loop-until-the-migration-r.patch +++ b/debian/patches-rt/0313-sched-migrate_enable-Busy-loop-until-the-migration-r.patch @@ -1,9 +1,8 @@ -From 090c26864ec17b496dea3397656b006550e31852 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 12 Dec 2019 10:53:59 +0100 -Subject: [PATCH 314/347] sched: migrate_enable: Busy loop until the migration +Subject: [PATCH 313/342] sched: migrate_enable: Busy loop until the migration request is completed -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f1f1be8e83c25527d3890d98c6e176bd41c63562 [ Upstream commit 140d7f54a5fff02898d2ca9802b39548bf7455f1 ] @@ -52,6 +51,3 @@ index 270adb525d93..d190d9e6b10f 100644 } out: --- -2.36.1 - diff --git a/debian/patches-rt/0315-userfaultfd-Use-a-seqlock-instead-of-seqcount.patch b/debian/patches-rt/0314-userfaultfd-Use-a-seqlock-instead-of-seqcount.patch index 227e20afd..89cafe5b9 100644 --- a/debian/patches-rt/0315-userfaultfd-Use-a-seqlock-instead-of-seqcount.patch +++ b/debian/patches-rt/0314-userfaultfd-Use-a-seqlock-instead-of-seqcount.patch @@ -1,8 +1,7 @@ -From 4639984350d5520c7268c26b6454c2f47cf139e4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 18 Dec 2019 12:25:09 +0100 -Subject: [PATCH 315/347] userfaultfd: Use a seqlock instead of seqcount -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 314/342] userfaultfd: Use a seqlock instead of seqcount +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3691ae6ce62505ebd9eaf9e6589a857b5eb5e4ea [ Upstream commit dc952a564d02997330654be9628bbe97ba2a05d3 ] @@ -75,6 +74,3 @@ index 23c8efc967af..3f79609511da 100644 } SYSCALL_DEFINE1(userfaultfd, int, flags) --- -2.36.1 - diff --git a/debian/patches-rt/0316-sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch b/debian/patches-rt/0315-sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch index fcff1b8a4..e14b98f42 100644 --- a/debian/patches-rt/0316-sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch +++ b/debian/patches-rt/0315-sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch @@ -1,8 +1,7 @@ -From 5595f7a45953987f56b3e64c3a20f6f90735d4a1 Mon Sep 17 00:00:00 2001 From: Scott Wood <swood@redhat.com> Date: Fri, 24 Jan 2020 06:11:46 -0500 -Subject: [PATCH 316/347] sched: migrate_enable: Use per-cpu cpu_stop_work -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 315/342] sched: migrate_enable: Use per-cpu cpu_stop_work +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=eb1e75f22c7c7fef03f9ff0441ae1e7d7275a470 [ Upstream commit 2dcd94b443c5dcbc20281666321b7f025f9cc85c ] @@ -78,6 +77,3 @@ index d190d9e6b10f..8b946353b1d7 100644 } out: --- -2.36.1 - diff --git a/debian/patches-rt/0317-sched-migrate_enable-Remove-__schedule-call.patch b/debian/patches-rt/0316-sched-migrate_enable-Remove-__schedule-call.patch index 2078fa5bb..a47b24169 100644 --- a/debian/patches-rt/0317-sched-migrate_enable-Remove-__schedule-call.patch +++ b/debian/patches-rt/0316-sched-migrate_enable-Remove-__schedule-call.patch @@ -1,8 +1,7 @@ -From 1742897c78e053379ae6bb15024026f01e0bac2d Mon Sep 17 00:00:00 2001 From: Scott Wood <swood@redhat.com> Date: Fri, 24 Jan 2020 06:11:47 -0500 -Subject: [PATCH 317/347] sched: migrate_enable: Remove __schedule() call -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 316/342] sched: migrate_enable: Remove __schedule() call +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f416311d786e940c55fab1dfcdbdd03188b6855f [ Upstream commit b8162e61e9a33bd1de6452eb838fbf50a93ddd9a ] @@ -36,6 +35,3 @@ index 8b946353b1d7..410882ff2007 100644 } out: --- -2.36.1 - diff --git a/debian/patches-rt/0318-mm-memcontrol-Move-misplaced-local_unlock_irqrestore.patch b/debian/patches-rt/0317-mm-memcontrol-Move-misplaced-local_unlock_irqrestore.patch index 87fb2dcd0..1ddd98611 100644 --- a/debian/patches-rt/0318-mm-memcontrol-Move-misplaced-local_unlock_irqrestore.patch +++ b/debian/patches-rt/0317-mm-memcontrol-Move-misplaced-local_unlock_irqrestore.patch @@ -1,9 +1,8 @@ -From 402c737918994231fbd205f2a7dcf06c5046a849 Mon Sep 17 00:00:00 2001 From: Matt Fleming <matt@codeblueprint.co.uk> Date: Sun, 26 Jan 2020 21:19:45 +0000 -Subject: [PATCH 318/347] mm/memcontrol: Move misplaced +Subject: [PATCH 317/342] mm/memcontrol: Move misplaced local_unlock_irqrestore() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e7a4f4c7b57d3592b7ea282256ec21e120299aae [ Upstream commit 071a1d6a6e14d0dec240a8c67b425140d7f92f6a ] @@ -37,6 +36,3 @@ index 239fec6eac9f..d5bda1449fe3 100644 } /** --- -2.36.1 - diff --git a/debian/patches-rt/0319-locallock-Include-header-for-the-current-macro.patch b/debian/patches-rt/0318-locallock-Include-header-for-the-current-macro.patch index ca93285f9..5308f4706 100644 --- a/debian/patches-rt/0319-locallock-Include-header-for-the-current-macro.patch +++ b/debian/patches-rt/0318-locallock-Include-header-for-the-current-macro.patch @@ -1,8 +1,7 @@ -From b075c120b3110dd2e9ef474ece2f4aade2d0a10c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 4 Feb 2020 13:29:50 +0100 -Subject: [PATCH 319/347] locallock: Include header for the `current' macro -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 318/342] locallock: Include header for the `current' macro +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4d1a63f5abebd6be6dcb7f06632d6c0970db1ce9 [ Upstream commit e693075a5fd852043fa8d2b0467e078d9e5cb782 ] @@ -27,6 +26,3 @@ index 921eab83cd34..81c89d87723b 100644 #ifdef CONFIG_PREEMPT_RT_BASE --- -2.36.1 - diff --git a/debian/patches-rt/0320-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch b/debian/patches-rt/0319-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch index 2dc30fc19..016783a60 100644 --- a/debian/patches-rt/0320-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch +++ b/debian/patches-rt/0319-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch @@ -1,9 +1,8 @@ -From fc0f8480da7d2d5927404e67031daba0ca53a1a2 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 21 Feb 2020 18:57:11 +0100 -Subject: [PATCH 320/347] drm/vmwgfx: Drop preempt_disable() in +Subject: [PATCH 319/342] drm/vmwgfx: Drop preempt_disable() in vmw_fifo_ping_host() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d41c023d443b698d184f54f642578b0c195f140c [ Upstream commit b901491e7b9b7a676818d84e482b69be72fc142f ] @@ -40,6 +39,3 @@ index d0fd147ef75f..fb5a3461bb8c 100644 } void vmw_fifo_release(struct vmw_private *dev_priv, struct vmw_fifo_state *fifo) --- -2.36.1 - diff --git a/debian/patches-rt/0321-tracing-make-preempt_lazy-and-migrate_disable-counte.patch b/debian/patches-rt/0320-tracing-make-preempt_lazy-and-migrate_disable-counte.patch index 937b26b3c..d4c857412 100644 --- a/debian/patches-rt/0321-tracing-make-preempt_lazy-and-migrate_disable-counte.patch +++ b/debian/patches-rt/0320-tracing-make-preempt_lazy-and-migrate_disable-counte.patch @@ -1,9 +1,8 @@ -From 8f58969bec3bc125c8257b4aea667ebb352cc73a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 21 Feb 2020 18:15:15 +0100 -Subject: [PATCH 321/347] tracing: make preempt_lazy and migrate_disable +Subject: [PATCH 320/342] tracing: make preempt_lazy and migrate_disable counter smaller -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=023b81c02c171c25b54507f6e10f8627e4427041 [ Upstream commit dd430bf5ecb40f9a89679c85868826475d71de54 ] @@ -51,6 +50,3 @@ index fbb04cf1d5bc..9b1b1c6de2bd 100644 return ret; } --- -2.36.1 - diff --git a/debian/patches-rt/0322-lib-ubsan-Remove-flags-parameter-from-calls-to-ubsan.patch b/debian/patches-rt/0321-lib-ubsan-Remove-flags-parameter-from-calls-to-ubsan.patch index 709e7d601..ec71bc2b2 100644 --- a/debian/patches-rt/0322-lib-ubsan-Remove-flags-parameter-from-calls-to-ubsan.patch +++ b/debian/patches-rt/0321-lib-ubsan-Remove-flags-parameter-from-calls-to-ubsan.patch @@ -1,9 +1,8 @@ -From d107484fb77558e58c28e33e5642d7a11f05dfea Mon Sep 17 00:00:00 2001 From: Tiejun Chen <tiejunc@vmware.com> Date: Mon, 30 Mar 2020 18:45:23 -0400 -Subject: [PATCH 322/347] lib/ubsan: Remove flags parameter from calls to +Subject: [PATCH 321/342] lib/ubsan: Remove flags parameter from calls to ubsan_prologue() and ubsan_epilogue() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=be2cad96ad54e4a1f5795790aad7ca8091567cce Fails to build with CONFIG_UBSAN=y @@ -52,6 +51,3 @@ index 5830cc9a2164..199c75e03469 100644 } EXPORT_SYMBOL(__ubsan_handle_vla_bound_not_positive); --- -2.36.1 - diff --git a/debian/patches-rt/0323-irq_work-Fix-checking-of-IRQ_WORK_LAZY-flag-set-on-n.patch b/debian/patches-rt/0322-irq_work-Fix-checking-of-IRQ_WORK_LAZY-flag-set-on-n.patch index 972bc210f..ce3238a88 100644 --- a/debian/patches-rt/0323-irq_work-Fix-checking-of-IRQ_WORK_LAZY-flag-set-on-n.patch +++ b/debian/patches-rt/0322-irq_work-Fix-checking-of-IRQ_WORK_LAZY-flag-set-on-n.patch @@ -1,9 +1,8 @@ -From 5b50540220e8d385682175fbc0b355e38289bbac Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" <rostedt@goodmis.org> Date: Sun, 22 Mar 2020 00:00:28 +0100 -Subject: [PATCH 323/347] irq_work: Fix checking of IRQ_WORK_LAZY flag set on +Subject: [PATCH 322/342] irq_work: Fix checking of IRQ_WORK_LAZY flag set on non PREEMPT_RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7d8e3a7d353467d377d3b32fdf759c2c3171fb89 When CONFIG_PREEMPT_RT_FULL is not set, some of the checks for using lazy_list are not properly made as the IRQ_WORK_LAZY is not checked. There's @@ -67,6 +66,3 @@ index 2940622da5b3..b6d9d35941ac 100644 list = &per_cpu(lazy_list, cpu); else list = &per_cpu(raised_list, cpu); --- -2.36.1 - diff --git a/debian/patches-rt/0324-tasklet-Address-a-race-resulting-in-double-enqueue.patch b/debian/patches-rt/0323-tasklet-Address-a-race-resulting-in-double-enqueue.patch index 70a6d70cb..7ebdfe086 100644 --- a/debian/patches-rt/0324-tasklet-Address-a-race-resulting-in-double-enqueue.patch +++ b/debian/patches-rt/0323-tasklet-Address-a-race-resulting-in-double-enqueue.patch @@ -1,8 +1,7 @@ -From f9bcdc9de0ced2b99b351e226344eb1c0246dd5c Mon Sep 17 00:00:00 2001 From: Zhang Xiao <xiao.zhang@windriver.com> Date: Tue, 17 Mar 2020 12:47:43 +0100 -Subject: [PATCH 324/347] tasklet: Address a race resulting in double-enqueue -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 323/342] tasklet: Address a race resulting in double-enqueue +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3f0945b4e8c94333caf5c9384103ebfc0a055375 The kernel bugzilla has the following race condition reported: @@ -115,6 +114,3 @@ index 25bcf2f2714b..73dae64bfc9c 100644 /* * If it got disabled meanwhile, bail out: */ --- -2.36.1 - diff --git a/debian/patches-rt/0325-hrtimer-fix-logic-for-when-grabbing-softirq_expiry_l.patch b/debian/patches-rt/0324-hrtimer-fix-logic-for-when-grabbing-softirq_expiry_l.patch index f84843891..557ca56b3 100644 --- a/debian/patches-rt/0325-hrtimer-fix-logic-for-when-grabbing-softirq_expiry_l.patch +++ b/debian/patches-rt/0324-hrtimer-fix-logic-for-when-grabbing-softirq_expiry_l.patch @@ -1,9 +1,8 @@ -From f3c5f444176119ec51e092dc9b9edea7a679c55e Mon Sep 17 00:00:00 2001 From: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Date: Tue, 28 Apr 2020 16:40:26 +0200 -Subject: [PATCH 325/347] hrtimer: fix logic for when grabbing +Subject: [PATCH 324/342] hrtimer: fix logic for when grabbing softirq_expiry_lock can be elided -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=44b8364a13277bc84e81f619bd8db3c98cd5f63d Commit @@ -45,6 +44,3 @@ index 0f841f18c363..a84673149881 100644 spin_lock(&base->cpu_base->softirq_expiry_lock); spin_unlock(&base->cpu_base->softirq_expiry_lock); } --- -2.36.1 - diff --git a/debian/patches-rt/0326-fs-dcache-Include-swait.h-header.patch b/debian/patches-rt/0325-fs-dcache-Include-swait.h-header.patch index b1408b268..8aef11928 100644 --- a/debian/patches-rt/0326-fs-dcache-Include-swait.h-header.patch +++ b/debian/patches-rt/0325-fs-dcache-Include-swait.h-header.patch @@ -1,8 +1,7 @@ -From ff692653d0de39bf90f5a339c17c880b5afa0777 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 16 Apr 2020 12:42:15 +0200 -Subject: [PATCH 326/347] fs/dcache: Include swait.h header -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 325/342] fs/dcache: Include swait.h header +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=80f3096d3e0bf8ea0482b3c1dd1c3bb835580d7f [ Upstream commit 279f90ddf53cd6bd3c203fbbf488d642ea2603de ] @@ -31,6 +30,3 @@ index accc230079bb..8806344af241 100644 #include "internal.h" #include "fd.h" --- -2.36.1 - diff --git a/debian/patches-rt/0327-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch b/debian/patches-rt/0326-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch index 870ba009b..e47281eae 100644 --- a/debian/patches-rt/0327-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch +++ b/debian/patches-rt/0326-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch @@ -1,9 +1,8 @@ -From b997a51c5b5970f8defda681658e94bb5612dd2f Mon Sep 17 00:00:00 2001 From: Kevin Hao <haokexin@gmail.com> Date: Mon, 4 May 2020 11:34:07 +0800 -Subject: [PATCH 327/347] mm: slub: Always flush the delayed empty slubs in +Subject: [PATCH 326/342] mm: slub: Always flush the delayed empty slubs in flush_all() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e7c1ebce4ab716a7ddb59afbd334d1ab5b89c684 [ Upstream commit 23a2c31b19e99beaf5107071b0f32a596202cdae ] @@ -46,10 +45,10 @@ Signed-off-by: Tom Zanussi <zanussi@kernel.org> 1 file changed, 3 deletions(-) diff --git a/mm/slub.c b/mm/slub.c -index 3b1edb545215..497096152c39 100644 +index 676006f34077..de80b015fb99 100644 --- a/mm/slub.c +++ b/mm/slub.c -@@ -2376,9 +2376,6 @@ static void flush_all(struct kmem_cache *s) +@@ -2375,9 +2375,6 @@ static void flush_all(struct kmem_cache *s) for_each_online_cpu(cpu) { struct slub_free_list *f; @@ -59,6 +58,3 @@ index 3b1edb545215..497096152c39 100644 f = &per_cpu(slub_free_list, cpu); raw_spin_lock_irq(&f->lock); list_splice_init(&f->list, &tofree); --- -2.36.1 - diff --git a/debian/patches-rt/0328-tasklet-Fix-UP-case-for-tasklet-CHAINED-state.patch b/debian/patches-rt/0327-tasklet-Fix-UP-case-for-tasklet-CHAINED-state.patch index 704118247..448ee797a 100644 --- a/debian/patches-rt/0328-tasklet-Fix-UP-case-for-tasklet-CHAINED-state.patch +++ b/debian/patches-rt/0327-tasklet-Fix-UP-case-for-tasklet-CHAINED-state.patch @@ -1,8 +1,7 @@ -From 562e557f31503bcd1d37d5979221e28bd0328786 Mon Sep 17 00:00:00 2001 From: Tom Zanussi <zanussi@kernel.org> Date: Tue, 9 Jun 2020 11:04:08 -0500 -Subject: [PATCH 328/347] tasklet: Fix UP case for tasklet CHAINED state -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 327/342] tasklet: Fix UP case for tasklet CHAINED state +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ca828148bcc43ec7ed745e6bb0c076441138f09f commit 62d0a2a30cd0 (tasklet: Address a race resulting in double-enqueue) addresses a problem that can result in a tasklet being @@ -51,6 +50,3 @@ index 73dae64bfc9c..9bad7a16dc61 100644 /* * If it got disabled meanwhile, bail out: */ --- -2.36.1 - diff --git a/debian/patches-rt/0329-signal-Prevent-double-free-of-user-struct.patch b/debian/patches-rt/0328-signal-Prevent-double-free-of-user-struct.patch index 253dc5c91..728a5ce48 100644 --- a/debian/patches-rt/0329-signal-Prevent-double-free-of-user-struct.patch +++ b/debian/patches-rt/0328-signal-Prevent-double-free-of-user-struct.patch @@ -1,8 +1,7 @@ -From a99e09659e6cd4b633c3689f2c3aa5f8a816fe5b Mon Sep 17 00:00:00 2001 From: Matt Fleming <matt@codeblueprint.co.uk> Date: Tue, 7 Apr 2020 10:54:13 +0100 -Subject: [PATCH 329/347] signal: Prevent double-free of user struct -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 328/342] signal: Prevent double-free of user struct +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c247eea7618fab8dc4ca5b123a7708de3550a64b [ Upsteam commit 9567db2ebe566a93485e1a27d8759969d0002d7a ] @@ -36,7 +35,7 @@ Signed-off-by: Tom Zanussi <zanussi@kernel.org> 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/signal.c b/kernel/signal.c -index 74f807bba0b8..59294dfaa744 100644 +index 730ac7ff4637..0cabba4cfd7f 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -489,8 +489,8 @@ static void sigqueue_free_current(struct sigqueue *q) @@ -50,6 +49,3 @@ index 74f807bba0b8..59294dfaa744 100644 } else __sigqueue_free(q); } --- -2.36.1 - diff --git a/debian/patches-rt/0330-Bluetooth-Acquire-sk_lock.slock-without-disabling-in.patch b/debian/patches-rt/0329-Bluetooth-Acquire-sk_lock.slock-without-disabling-in.patch index ff8d39cfc..662a647b7 100644 --- a/debian/patches-rt/0330-Bluetooth-Acquire-sk_lock.slock-without-disabling-in.patch +++ b/debian/patches-rt/0329-Bluetooth-Acquire-sk_lock.slock-without-disabling-in.patch @@ -1,9 +1,8 @@ -From ba289a24015e6e110bcc57dad832a8094be6b955 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu, 28 May 2020 14:35:12 +0200 -Subject: [PATCH 330/347] Bluetooth: Acquire sk_lock.slock without disabling +Subject: [PATCH 329/342] Bluetooth: Acquire sk_lock.slock without disabling interrupts -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2f70f452aa211f4c64f5a8cf1c8a97cf8d4f1f2b [ Upstream commit e6da0edc24eecef2f6964d92fa9044e1821deace ] @@ -30,7 +29,7 @@ Signed-off-by: Tom Zanussi <zanussi@kernel.org> 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c -index c044ff2f73e6..75bc8102cdd7 100644 +index 78830efe89d7..dd4b9a6f435e 100644 --- a/net/bluetooth/rfcomm/sock.c +++ b/net/bluetooth/rfcomm/sock.c @@ -64,15 +64,13 @@ static void rfcomm_sk_data_ready(struct rfcomm_dlc *d, struct sk_buff *skb) @@ -60,6 +59,3 @@ index c044ff2f73e6..75bc8102cdd7 100644 if (parent && sock_flag(sk, SOCK_ZAPPED)) { /* We have to drop DLC lock here, otherwise --- -2.36.1 - diff --git a/debian/patches-rt/0331-net-phy-fixed_phy-Remove-unused-seqcount.patch b/debian/patches-rt/0330-net-phy-fixed_phy-Remove-unused-seqcount.patch index ceacf6b1e..b69e98a7f 100644 --- a/debian/patches-rt/0331-net-phy-fixed_phy-Remove-unused-seqcount.patch +++ b/debian/patches-rt/0330-net-phy-fixed_phy-Remove-unused-seqcount.patch @@ -1,8 +1,7 @@ -From 1d956b22e273e7a1ce90b54cd84598e1a427f3f2 Mon Sep 17 00:00:00 2001 From: "Ahmed S. Darwish" <a.darwish@linutronix.de> Date: Wed, 10 Jun 2020 12:53:00 +0200 -Subject: [PATCH 331/347] net: phy: fixed_phy: Remove unused seqcount -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 330/342] net: phy: fixed_phy: Remove unused seqcount +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ac41b33982062b3bee7c5c1823f179d6fec787ad [ Upstream commit 6554eac9ef2bd1c968886b31cc7266b49258a463 ] @@ -84,6 +83,3 @@ index 59820164502e..953ff54dd5df 100644 if (irq != PHY_POLL) fmb->mii_bus->irq[phy_addr] = irq; --- -2.36.1 - diff --git a/debian/patches-rt/0332-net-xfrm-fix-compress-vs-decompress-serialization.patch b/debian/patches-rt/0331-net-xfrm-fix-compress-vs-decompress-serialization.patch index 23117039c..7d3f711b4 100644 --- a/debian/patches-rt/0332-net-xfrm-fix-compress-vs-decompress-serialization.patch +++ b/debian/patches-rt/0331-net-xfrm-fix-compress-vs-decompress-serialization.patch @@ -1,8 +1,7 @@ -From 502a0ae30b2c2d53fde16d55fe8ae20312d4b520 Mon Sep 17 00:00:00 2001 From: Davidlohr Bueso <dave@stgolabs.net> Date: Tue, 18 Aug 2020 09:20:53 -0700 -Subject: [PATCH 332/347] net: xfrm: fix compress vs decompress serialization -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 331/342] net: xfrm: fix compress vs decompress serialization +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=232e27733feb20a490b99f63f08c073c9ed9e9d9 A crash was seen in xfrm when running ltp's 'tcp4_ipsec06' stresser on v4.x based RT kernels. @@ -97,6 +96,3 @@ index a00ec715aa46..a97997385423 100644 local_bh_enable(); return err; } --- -2.36.1 - diff --git a/debian/patches-rt/0333-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch b/debian/patches-rt/0332-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch index 8c05dc952..40b467019 100644 --- a/debian/patches-rt/0333-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch +++ b/debian/patches-rt/0332-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch @@ -1,9 +1,8 @@ -From 5e6613efc5bd79951fdfab9ce61217ba8480a0bc Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 28 Oct 2020 18:15:32 +0100 -Subject: [PATCH 333/347] mm/memcontrol: Disable preemption in +Subject: [PATCH 332/342] mm/memcontrol: Disable preemption in __mod_memcg_lruvec_state() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=63d8d55e818822e2fbbcc26d07e498d22d21f001 [ Upstream commit 74858f0d38a8d3c069a0745ff53ae084c8e7cabb ] @@ -45,6 +44,3 @@ index cc6b6532eb56..dbb2c4e27277 100644 } static inline void mod_lruvec_state(struct lruvec *lruvec, --- -2.36.1 - diff --git a/debian/patches-rt/0334-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch b/debian/patches-rt/0333-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch index ab3bf14d5..a6f016150 100644 --- a/debian/patches-rt/0334-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch +++ b/debian/patches-rt/0333-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch @@ -1,9 +1,8 @@ -From a888cf3e5934c79d8edfca69dfe7fbe8f52c7476 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov <oleg@redhat.com> Date: Tue, 3 Nov 2020 12:39:01 +0100 -Subject: [PATCH 334/347] ptrace: fix ptrace_unfreeze_traced() race with +Subject: [PATCH 333/342] ptrace: fix ptrace_unfreeze_traced() race with rt-lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8b07e7ff85bd9cfa73d79f1f133ad4b96dc3369c [ Upstream commit 0fdc91971b34cf6857b4cfd8c322ae936cfc189b ] @@ -23,7 +22,7 @@ Signed-off-by: Tom Zanussi <zanussi@kernel.org> 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/kernel/ptrace.c b/kernel/ptrace.c -index 9c59e523f3cd..b7d2a22534da 100644 +index 9078fdefc6e0..58d351fc04d2 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c @@ -207,8 +207,8 @@ static bool ptrace_freeze_traced(struct task_struct *task) @@ -63,6 +62,3 @@ index 9c59e523f3cd..b7d2a22534da 100644 spin_unlock_irq(&task->sighand->siglock); } --- -2.36.1 - diff --git a/debian/patches-rt/0336-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch b/debian/patches-rt/0334-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch index eaf171957..827afb4dd 100644 --- a/debian/patches-rt/0336-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch +++ b/debian/patches-rt/0334-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch @@ -1,9 +1,8 @@ -From 4da7dd5c5195e9f48a911e768ca8bd317f5c6b7f Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 26 Feb 2021 17:26:04 +0100 -Subject: [PATCH 336/347] mm: slub: Don't resize the location tracking cache on +Subject: [PATCH 334/342] mm: slub: Don't resize the location tracking cache on PREEMPT_RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cbb851e2f49e471db5e2ea40478394b48139f4ca The location tracking cache has a size of a page and is resized if its current size is too small. @@ -20,7 +19,7 @@ Signed-off-by: Clark Williams <williams@redhat.com> 1 file changed, 3 insertions(+) diff --git a/mm/slub.c b/mm/slub.c -index 497096152c39..6b9b894ba5bc 100644 +index de80b015fb99..46158ba761ce 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -4591,6 +4591,9 @@ static int alloc_loc_track(struct loc_track *t, unsigned long max, gfp_t flags) @@ -33,6 +32,3 @@ index 497096152c39..6b9b894ba5bc 100644 order = get_order(sizeof(struct location) * max); l = (void *)__get_free_pages(flags, order); --- -2.36.1 - diff --git a/debian/patches-rt/0335-Linux-4.19.185-rt76-REBASE.patch b/debian/patches-rt/0335-Linux-4.19.185-rt76-REBASE.patch deleted file mode 100644 index d38a3565e..000000000 --- a/debian/patches-rt/0335-Linux-4.19.185-rt76-REBASE.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 6142a4642e9bcfd6fbbaf6cddd32841755deff8b Mon Sep 17 00:00:00 2001 -From: Clark Williams <williams@redhat.com> -Date: Mon, 12 Apr 2021 15:03:55 -0500 -Subject: [PATCH 335/347] Linux 4.19.185-rt76 REBASE -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz - -Signed-off-by: Clark Williams <williams@redhat.com> ---- - localversion-rt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/localversion-rt b/localversion-rt -index 1199ebade17b..c1f2720eaf25 100644 ---- a/localversion-rt -+++ b/localversion-rt -@@ -1 +1 @@ ---rt16 -+-rt76 --- -2.36.1 - diff --git a/debian/patches-rt/0337-locking-rwsem_rt-Add-__down_read_interruptible.patch b/debian/patches-rt/0335-locking-rwsem_rt-Add-__down_read_interruptible.patch index 32dbf855c..312f6f2ef 100644 --- a/debian/patches-rt/0337-locking-rwsem_rt-Add-__down_read_interruptible.patch +++ b/debian/patches-rt/0335-locking-rwsem_rt-Add-__down_read_interruptible.patch @@ -1,8 +1,7 @@ -From 22e1c0d3e27bd960ae3561172ca15089721253c6 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue, 19 Jan 2021 18:54:33 +0100 -Subject: [PATCH 337/347] locking/rwsem_rt: Add __down_read_interruptible() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 335/342] locking/rwsem_rt: Add __down_read_interruptible() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=95f51b5f0caacd4978a39b16473ca035f8047fdf The stable backported a patch which adds __down_read_interruptible() for the generic rwsem implementation. @@ -49,6 +48,3 @@ index f518495bd6cc..19ea20be3fd7 100644 int __down_read_killable(struct rw_semaphore *sem) { int ret; --- -2.36.1 - diff --git a/debian/patches-rt/0339-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch b/debian/patches-rt/0336-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch index 3edc4a486..1055aed23 100644 --- a/debian/patches-rt/0339-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch +++ b/debian/patches-rt/0336-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch @@ -1,8 +1,7 @@ -From 339b3a147a8e17bd3c87f9c9b16ad2c3d8e517c9 Mon Sep 17 00:00:00 2001 From: Andrew Halaney <ahalaney@redhat.com> Date: Tue, 6 Apr 2021 17:19:52 -0500 -Subject: [PATCH 339/347] locking/rwsem-rt: Remove might_sleep() in __up_read() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 336/342] locking/rwsem-rt: Remove might_sleep() in __up_read() +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f4cae546c87033b52ee5a80dc860427ebd02568e There's no chance of sleeping here, the reader is giving up the lock and possibly waking up the writer who is waiting on it. @@ -28,6 +27,3 @@ index 19ea20be3fd7..966946454ced 100644 raw_spin_lock_irq(&m->wait_lock); /* * Wake the writer, i.e. the rtmutex owner. It might release the --- -2.36.1 - diff --git a/debian/patches-rt/0341-fscache-fix-initialisation-of-cookie-hash-table-raw-.patch b/debian/patches-rt/0337-fscache-fix-initialisation-of-cookie-hash-table-raw-.patch index 3be61a807..8895d4c16 100644 --- a/debian/patches-rt/0341-fscache-fix-initialisation-of-cookie-hash-table-raw-.patch +++ b/debian/patches-rt/0337-fscache-fix-initialisation-of-cookie-hash-table-raw-.patch @@ -1,9 +1,8 @@ -From dc029afd264318942ce9a174edffa950f762e7f9 Mon Sep 17 00:00:00 2001 From: Gregor Beck <gbeck@esigma-technology.com> Date: Fri, 3 Sep 2021 14:19:11 +0200 -Subject: [PATCH 341/347] fscache: fix initialisation of cookie hash table raw +Subject: [PATCH 337/342] fscache: fix initialisation of cookie hash table raw spinlocks -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=324135b9a8f1539dd356c377beaf882164634c5f The original patch, 602660600bcd ("fscache: initialize cookie hash table raw spinlocks"), subtracted 1 from the shift and so still left @@ -32,6 +31,3 @@ index b2b9a85a4ba5..84e57196a293 100644 + for (i = 0; i < ARRAY_SIZE(fscache_cookie_hash); i++) INIT_HLIST_BL_HEAD(&fscache_cookie_hash[i]); } --- -2.36.1 - diff --git a/debian/patches-rt/0338-Linux-4.19.206-rt87-REBASE.patch b/debian/patches-rt/0338-Linux-4.19.206-rt87-REBASE.patch deleted file mode 100644 index eb89fd8dd..000000000 --- a/debian/patches-rt/0338-Linux-4.19.206-rt87-REBASE.patch +++ /dev/null @@ -1,21 +0,0 @@ -From de4f10a80cbe40566ab9124766a9dce2d30fc651 Mon Sep 17 00:00:00 2001 -From: Clark Williams <williams@redhat.com> -Date: Fri, 3 Sep 2021 10:24:35 -0500 -Subject: [PATCH 338/347] Linux 4.19.206-rt87 REBASE -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz - -Signed-off-by: Clark Williams <williams@redhat.com> ---- - localversion-rt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/localversion-rt b/localversion-rt -index c1f2720eaf25..bd5aee366a48 100644 ---- a/localversion-rt -+++ b/localversion-rt -@@ -1 +1 @@ ---rt76 -+-rt87 --- -2.36.1 - diff --git a/debian/patches-rt/0343-rt-PREEMPT_RT-safety-net-for-backported-patches.patch b/debian/patches-rt/0338-rt-PREEMPT_RT-safety-net-for-backported-patches.patch index b4d67b156..927d47cb0 100644 --- a/debian/patches-rt/0343-rt-PREEMPT_RT-safety-net-for-backported-patches.patch +++ b/debian/patches-rt/0338-rt-PREEMPT_RT-safety-net-for-backported-patches.patch @@ -1,8 +1,7 @@ -From 8961a29e7aa52c929475c767559b23e018fe8b01 Mon Sep 17 00:00:00 2001 From: Clark Williams <clark.williams@gmail.com> Date: Sun, 30 Jan 2022 15:46:27 -0600 -Subject: [PATCH 343/347] rt: PREEMPT_RT safety net for backported patches -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 338/342] rt: PREEMPT_RT safety net for backported patches +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d7c847666d7341feb472045cb36e599fc76b63a6 While doing some 4.19-rt cleanup work, I stumbled across the fact that parts of two backported patches were dependent on CONFIG_PREEMPT_RT, rather than @@ -47,6 +46,3 @@ index 306567f72a3e..fd924c0bcea7 100644 help All and everything --- -2.36.1 - diff --git a/debian/patches-rt/0344-net-Add-missing-xmit_lock_owner-hunks.patch b/debian/patches-rt/0339-net-Add-missing-xmit_lock_owner-hunks.patch index 467bb1739..c5bf85313 100644 --- a/debian/patches-rt/0344-net-Add-missing-xmit_lock_owner-hunks.patch +++ b/debian/patches-rt/0339-net-Add-missing-xmit_lock_owner-hunks.patch @@ -1,8 +1,7 @@ -From 1a0157a8d087c0c5bdf88ad97e2d4db77bee63aa Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Wed, 22 Dec 2021 20:35:22 +0100 -Subject: [PATCH 344/347] net: Add missing xmit_lock_owner hunks. -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 339/342] net: Add missing xmit_lock_owner hunks. +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f9ce408f7c095f80030cfb2f6671eab84a42e643 The patch net: move xmit_recursion to per-task variable on -RT @@ -112,6 +111,3 @@ index c4713217b20e..bd73117e2636 100644 spin_unlock_bh(&txq->_xmit_lock); } --- -2.36.1 - diff --git a/debian/patches-rt/0340-Linux-4.19.214-rt93-REBASE.patch b/debian/patches-rt/0340-Linux-4.19.214-rt93-REBASE.patch deleted file mode 100644 index 2529b908a..000000000 --- a/debian/patches-rt/0340-Linux-4.19.214-rt93-REBASE.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 10fb3965169bb32da6eddef5672ba845f4dd3a67 Mon Sep 17 00:00:00 2001 -From: Clark Williams <williams@redhat.com> -Date: Fri, 29 Oct 2021 09:49:56 -0500 -Subject: [PATCH 340/347] Linux 4.19.214-rt93 REBASE -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz - -Signed-off-by: Clark Williams <williams@redhat.com> ---- - localversion-rt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/localversion-rt b/localversion-rt -index bd5aee366a48..e98a1fe050bd 100644 ---- a/localversion-rt -+++ b/localversion-rt -@@ -1 +1 @@ ---rt87 -+-rt93 --- -2.36.1 - diff --git a/debian/patches-rt/0346-genirq-Add-lost-hunk-to-irq_forced_thread_fn.patch b/debian/patches-rt/0340-genirq-Add-lost-hunk-to-irq_forced_thread_fn.patch index 0c8b0e14e..7297c027c 100644 --- a/debian/patches-rt/0346-genirq-Add-lost-hunk-to-irq_forced_thread_fn.patch +++ b/debian/patches-rt/0340-genirq-Add-lost-hunk-to-irq_forced_thread_fn.patch @@ -1,8 +1,7 @@ -From d379a82e852964afe457dcf44bf4a00fc59de389 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Fri, 29 Apr 2022 11:02:18 -0500 -Subject: [PATCH 346/347] genirq: Add lost hunk to irq_forced_thread_fn(). -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz +Subject: [PATCH 340/342] genirq: Add lost hunk to irq_forced_thread_fn(). +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d872802a6e9cfbe98d85409cd78d88b6ea9ffc51 The irq_settings_no_softirq_call() related handling got lost in process, here are the missing bits. @@ -16,7 +15,7 @@ Signed-off-by: Clark Williams <williams@redhat.com> 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 6c88d81399dd..8f710f1755d8 100644 +index 683debac6759..6ee6d144060f 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -998,7 +998,15 @@ irq_forced_thread_fn(struct irq_desc *desc, struct irqaction *action) @@ -36,6 +35,3 @@ index 6c88d81399dd..8f710f1755d8 100644 return ret; } --- -2.36.1 - diff --git a/debian/patches-rt/0341-random-Use-local-locks-for-crng-context-access.patch b/debian/patches-rt/0341-random-Use-local-locks-for-crng-context-access.patch new file mode 100644 index 000000000..acf66335b --- /dev/null +++ b/debian/patches-rt/0341-random-Use-local-locks-for-crng-context-access.patch @@ -0,0 +1,80 @@ +From: Daniel Wagner <wagi@monom.org> +Date: Wed, 13 Jul 2022 15:02:30 +0200 +Subject: [PATCH 341/342] random: Use local locks for crng context access +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=78c61f9bc5797149c2dfbd84ee4c5ee0fdd9ab6c + +The backport of 5f1bb112006b ("random: group initialization wait +functions") changed the upstream local locks to normal spin locks +because the local infrastructure in v4.19 is missing. As spin locks +are turned into sleeping locks for RT we have to add the local locks +back using the v4.19-rt API. + +Signed-off-by: Daniel Wagner <dwagner@suse.de> +--- + drivers/char/random.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/drivers/char/random.c b/drivers/char/random.c +index 2be38780a7f7..c06705a32246 100644 +--- a/drivers/char/random.c ++++ b/drivers/char/random.c +@@ -53,6 +53,7 @@ + #include <linux/uaccess.h> + #include <linux/siphash.h> + #include <linux/uio.h> ++#include <linux/locallock.h> + #include <crypto/chacha20.h> + #include <crypto/blake2s.h> + #include <asm/processor.h> +@@ -234,6 +235,7 @@ struct crng { + static DEFINE_PER_CPU(struct crng, crngs) = { + .generation = ULONG_MAX + }; ++DEFINE_LOCAL_IRQ_LOCK(crngs_lock); + + /* Used by crng_reseed() and crng_make_state() to extract a new seed from the input pool. */ + static void extract_entropy(void *buf, size_t len); +@@ -362,7 +364,7 @@ static void crng_make_state(u32 chacha_state[CHACHA20_BLOCK_SIZE / sizeof(u32)], + if (unlikely(crng_has_old_seed())) + crng_reseed(); + +- local_irq_save(flags); ++ local_lock_irqsave(crngs_lock, flags); + crng = raw_cpu_ptr(&crngs); + + /* +@@ -387,7 +389,7 @@ static void crng_make_state(u32 chacha_state[CHACHA20_BLOCK_SIZE / sizeof(u32)], + * should wind up here immediately. + */ + crng_fast_key_erasure(crng->key, chacha_state, random_data, random_data_len); +- local_irq_restore(flags); ++ local_unlock_irqrestore(crngs_lock, flags); + } + + static void _get_random_bytes(void *buf, size_t len) +@@ -512,6 +514,7 @@ struct batch_ ##type { \ + static DEFINE_PER_CPU(struct batch_ ##type, batched_entropy_ ##type) = { \ + .position = UINT_MAX \ + }; \ ++static DEFINE_LOCAL_IRQ_LOCK(batched_entropy_lock_ ##type); \ + \ + type get_random_ ##type(void) \ + { \ +@@ -527,7 +530,7 @@ type get_random_ ##type(void) \ + return ret; \ + } \ + \ +- local_irq_save(flags); \ ++ local_lock_irqsave(batched_entropy_lock_ ##type, flags); \ + batch = raw_cpu_ptr(&batched_entropy_##type); \ + \ + next_gen = READ_ONCE(base_crng.generation); \ +@@ -541,7 +544,7 @@ type get_random_ ##type(void) \ + ret = batch->entropy[batch->position]; \ + batch->entropy[batch->position] = 0; \ + ++batch->position; \ +- local_irq_restore(flags); \ ++ local_unlock_irqrestore(batched_entropy_lock_ ##type, flags); \ + return ret; \ + } \ + EXPORT_SYMBOL(get_random_ ##type); diff --git a/debian/patches-rt/0342-Linux-4.19.225-rt101-REBASE.patch b/debian/patches-rt/0342-Linux-4.19.225-rt101-REBASE.patch deleted file mode 100644 index c8fb23eed..000000000 --- a/debian/patches-rt/0342-Linux-4.19.225-rt101-REBASE.patch +++ /dev/null @@ -1,21 +0,0 @@ -From cc57b2b4fdc4b90708433ff46b962f99cbec2e6c Mon Sep 17 00:00:00 2001 -From: Clark Williams <williams@redhat.com> -Date: Wed, 12 Jan 2022 21:43:37 -0600 -Subject: [PATCH 342/347] Linux 4.19.225-rt101 REBASE -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz - -Signed-off-by: Clark Williams <williams@redhat.com> ---- - localversion-rt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/localversion-rt b/localversion-rt -index e98a1fe050bd..9ea5981fa956 100644 ---- a/localversion-rt -+++ b/localversion-rt -@@ -1 +1 @@ ---rt93 -+-rt101 --- -2.36.1 - diff --git a/debian/patches-rt/0342-Linux-4.19.255-rt113-REBASE.patch b/debian/patches-rt/0342-Linux-4.19.255-rt113-REBASE.patch new file mode 100644 index 000000000..35ac2d84b --- /dev/null +++ b/debian/patches-rt/0342-Linux-4.19.255-rt113-REBASE.patch @@ -0,0 +1,17 @@ +From: Daniel Wagner <wagi@monom.org> +Date: Sat, 13 Aug 2022 18:54:48 +0200 +Subject: [PATCH 342/342] Linux 4.19.255-rt113 REBASE +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f0d99014e3dd9542fa47ea03e0d4cde570e34928 + +Signed-off-by: Daniel Wagner <wagi@monom.org> +--- + localversion-rt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/localversion-rt b/localversion-rt +index 1199ebade17b..fdcd9167ca0b 100644 +--- a/localversion-rt ++++ b/localversion-rt +@@ -1 +1 @@ +--rt16 ++-rt113 diff --git a/debian/patches-rt/0345-Linux-4.19.237-rt107-REBASE.patch b/debian/patches-rt/0345-Linux-4.19.237-rt107-REBASE.patch deleted file mode 100644 index e38739169..000000000 --- a/debian/patches-rt/0345-Linux-4.19.237-rt107-REBASE.patch +++ /dev/null @@ -1,21 +0,0 @@ -From da237074d357316e91a363c91e29aeaaace6ce6c Mon Sep 17 00:00:00 2001 -From: Daniel Wagner <wagi@monom.org> -Date: Thu, 31 Mar 2022 20:37:13 +0200 -Subject: [PATCH 345/347] Linux 4.19.237-rt107 REBASE -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz - -Signed-off-by: Daniel Wagner <wagi@monom.org> ---- - localversion-rt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/localversion-rt b/localversion-rt -index 9ea5981fa956..2e0a3c960575 100644 ---- a/localversion-rt -+++ b/localversion-rt -@@ -1 +1 @@ ---rt101 -+-rt107 --- -2.36.1 - diff --git a/debian/patches-rt/0347-Linux-4.19.246-rt110-REBASE.patch b/debian/patches-rt/0347-Linux-4.19.246-rt110-REBASE.patch deleted file mode 100644 index 746979875..000000000 --- a/debian/patches-rt/0347-Linux-4.19.246-rt110-REBASE.patch +++ /dev/null @@ -1,21 +0,0 @@ -From b7cf2f6b538ab97b989cbb2d10bf804994874ba5 Mon Sep 17 00:00:00 2001 -From: Daniel Wagner <wagi@monom.org> -Date: Tue, 14 Jun 2022 07:47:54 +0200 -Subject: [PATCH 347/347] Linux 4.19.246-rt110 REBASE -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz - -Signed-off-by: Daniel Wagner <wagi@monom.org> ---- - localversion-rt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/localversion-rt b/localversion-rt -index 2e0a3c960575..b3e668a8fb94 100644 ---- a/localversion-rt -+++ b/localversion-rt -@@ -1 +1 @@ ---rt107 -+-rt110 --- -2.36.1 - diff --git a/debian/patches-rt/series b/debian/patches-rt/series index 8d7c2429b..1bf3392fd 100644 --- a/debian/patches-rt/series +++ b/debian/patches-rt/series @@ -224,123 +224,119 @@ 0224-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch 0225-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch 0226-x86-stackprotector-Avoid-random-pool-on-rt.patch -0228-cpu-hotplug-Implement-CPU-pinning.patch -0229-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch -0230-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch -0231-net-Remove-preemption-disabling-in-netif_rx.patch -0232-net-Another-local_irq_disable-kmalloc-headache.patch -0233-net-core-protect-users-of-napi_alloc_cache-against-r.patch -0234-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch -0235-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch -0236-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch -0237-sched-Add-support-for-lazy-preemption.patch -0238-ftrace-Fix-trace-header-alignment.patch -0239-x86-Support-for-lazy-preemption.patch -0240-x86-lazy-preempt-properly-check-against-preempt-mask.patch -0241-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch -0242-arm-Add-support-for-lazy-preemption.patch -0243-powerpc-Add-support-for-lazy-preemption.patch -0244-arch-arm64-Add-lazy-preempt-support.patch -0245-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch -0246-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch -0247-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch -0248-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch -0249-tpm_tis-fix-stall-after-iowrite-s.patch -0250-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch -0251-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch -0252-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch -0253-drm-i915-disable-tracing-on-RT.patch -0254-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch -0255-cgroups-use-simple-wait-in-css_release.patch -0256-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch -0257-apparmor-use-a-locallock-instead-preempt_disable.patch -0258-workqueue-Prevent-deadlock-stall-on-RT.patch -0259-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch -0260-Add-localversion-for-RT-release.patch -0261-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch -0262-powerpc-reshuffle-TIF-bits.patch -0263-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch -0264-drm-i915-Don-t-disable-interrupts-independently-of-t.patch -0265-sched-completion-Fix-a-lockup-in-wait_for_completion.patch -0266-kthread-add-a-global-worker-thread.patch -0267-arm-imx6-cpuidle-Use-raw_spinlock_t.patch -0268-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch -0269-pci-switchtec-fix-stream_open.cocci-warnings.patch -0270-sched-core-Drop-a-preempt_disable_rt-statement.patch -0271-timers-Redo-the-notification-of-canceling-timers-on-.patch -0272-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch -0273-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch -0274-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch -0275-Revert-futex-workaround-migrate_disable-enable-in-di.patch -0276-futex-Make-the-futex_hash_bucket-lock-raw.patch -0277-futex-Delay-deallocation-of-pi_state.patch -0278-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch -0279-revert-aio.patch -0280-fs-aio-simple-simple-work.patch -0281-revert-thermal.patch -0282-thermal-Defer-thermal-wakups-to-threads.patch -0283-revert-block.patch -0284-block-blk-mq-move-blk_queue_usage_counter_release-in.patch -0285-workqueue-rework.patch -0286-i2c-exynos5-Remove-IRQF_ONESHOT.patch -0287-i2c-hix5hd2-Remove-IRQF_ONESHOT.patch -0288-sched-deadline-Ensure-inactive_timer-runs-in-hardirq.patch -0289-thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch -0290-dma-buf-Use-seqlock_t-instread-disabling-preemption.patch -0291-KVM-arm-arm64-Let-the-timer-expire-in-hardirq-contex.patch -0292-x86-preempt-Check-preemption-level-before-looking-at.patch -0293-hrtimer-Use-READ_ONCE-to-access-timer-base-in-hrimer.patch -0294-hrtimer-Don-t-grab-the-expiry-lock-for-non-soft-hrti.patch -0295-hrtimer-Prevent-using-hrtimer_grab_expiry_lock-on-mi.patch -0296-hrtimer-Add-a-missing-bracket-and-hide-migration_bas.patch -0297-posix-timers-Unlock-expiry-lock-in-the-early-return.patch -0298-sched-migrate_dis-enable-Use-sleeping_lock-to-annota.patch -0299-sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch -0300-sched-Remove-dead-__migrate_disabled-check.patch -0301-sched-migrate-disable-Protect-cpus_ptr-with-lock.patch -0302-lib-smp_processor_id-Don-t-use-cpumask_equal.patch -0303-futex-Make-the-futex_hash_bucket-spinlock_t-again-an.patch -0304-locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch -0305-lib-ubsan-Don-t-seralize-UBSAN-report.patch -0306-kmemleak-Change-the-lock-of-kmemleak_object-to-raw_s.patch -0307-sched-migrate_enable-Use-select_fallback_rq.patch -0308-sched-Lazy-migrate_disable-processing.patch -0309-sched-migrate_enable-Use-stop_one_cpu_nowait.patch -0310-Revert-ARM-Initialize-split-page-table-locks-for-vec.patch -0311-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch -0312-sched-core-migrate_enable-must-access-takedown_cpu_t.patch -0313-lib-smp_processor_id-Adjust-check_preemption_disable.patch -0314-sched-migrate_enable-Busy-loop-until-the-migration-r.patch -0315-userfaultfd-Use-a-seqlock-instead-of-seqcount.patch -0316-sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch -0317-sched-migrate_enable-Remove-__schedule-call.patch -0318-mm-memcontrol-Move-misplaced-local_unlock_irqrestore.patch -0319-locallock-Include-header-for-the-current-macro.patch -0320-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch -0321-tracing-make-preempt_lazy-and-migrate_disable-counte.patch -0322-lib-ubsan-Remove-flags-parameter-from-calls-to-ubsan.patch -0323-irq_work-Fix-checking-of-IRQ_WORK_LAZY-flag-set-on-n.patch -0324-tasklet-Address-a-race-resulting-in-double-enqueue.patch -0325-hrtimer-fix-logic-for-when-grabbing-softirq_expiry_l.patch -0326-fs-dcache-Include-swait.h-header.patch -0327-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch -0328-tasklet-Fix-UP-case-for-tasklet-CHAINED-state.patch -0329-signal-Prevent-double-free-of-user-struct.patch -0330-Bluetooth-Acquire-sk_lock.slock-without-disabling-in.patch -0331-net-phy-fixed_phy-Remove-unused-seqcount.patch -0332-net-xfrm-fix-compress-vs-decompress-serialization.patch -0333-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch -0334-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch -0335-Linux-4.19.185-rt76-REBASE.patch -0336-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch -0337-locking-rwsem_rt-Add-__down_read_interruptible.patch -0338-Linux-4.19.206-rt87-REBASE.patch -0339-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch -0340-Linux-4.19.214-rt93-REBASE.patch -0341-fscache-fix-initialisation-of-cookie-hash-table-raw-.patch -0342-Linux-4.19.225-rt101-REBASE.patch -0343-rt-PREEMPT_RT-safety-net-for-backported-patches.patch -0344-net-Add-missing-xmit_lock_owner-hunks.patch -0345-Linux-4.19.237-rt107-REBASE.patch -0346-genirq-Add-lost-hunk-to-irq_forced_thread_fn.patch -0347-Linux-4.19.246-rt110-REBASE.patch +0227-cpu-hotplug-Implement-CPU-pinning.patch +0228-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch +0229-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch +0230-net-Remove-preemption-disabling-in-netif_rx.patch +0231-net-Another-local_irq_disable-kmalloc-headache.patch +0232-net-core-protect-users-of-napi_alloc_cache-against-r.patch +0233-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch +0234-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch +0235-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch +0236-sched-Add-support-for-lazy-preemption.patch +0237-ftrace-Fix-trace-header-alignment.patch +0238-x86-Support-for-lazy-preemption.patch +0239-x86-lazy-preempt-properly-check-against-preempt-mask.patch +0240-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch +0241-arm-Add-support-for-lazy-preemption.patch +0242-powerpc-Add-support-for-lazy-preemption.patch +0243-arch-arm64-Add-lazy-preempt-support.patch +0244-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch +0245-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch +0246-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch +0247-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch +0248-tpm_tis-fix-stall-after-iowrite-s.patch +0249-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch +0250-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch +0251-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch +0252-drm-i915-disable-tracing-on-RT.patch +0253-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch +0254-cgroups-use-simple-wait-in-css_release.patch +0255-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch +0256-apparmor-use-a-locallock-instead-preempt_disable.patch +0257-workqueue-Prevent-deadlock-stall-on-RT.patch +0258-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch +0259-Add-localversion-for-RT-release.patch +0260-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch +0261-powerpc-reshuffle-TIF-bits.patch +0262-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch +0263-drm-i915-Don-t-disable-interrupts-independently-of-t.patch +0264-sched-completion-Fix-a-lockup-in-wait_for_completion.patch +0265-kthread-add-a-global-worker-thread.patch +0266-arm-imx6-cpuidle-Use-raw_spinlock_t.patch +0267-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch +0268-pci-switchtec-fix-stream_open.cocci-warnings.patch +0269-sched-core-Drop-a-preempt_disable_rt-statement.patch +0270-timers-Redo-the-notification-of-canceling-timers-on-.patch +0271-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch +0272-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch +0273-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch +0274-Revert-futex-workaround-migrate_disable-enable-in-di.patch +0275-futex-Make-the-futex_hash_bucket-lock-raw.patch +0276-futex-Delay-deallocation-of-pi_state.patch +0277-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch +0278-revert-aio.patch +0279-fs-aio-simple-simple-work.patch +0280-revert-thermal.patch +0281-thermal-Defer-thermal-wakups-to-threads.patch +0282-revert-block.patch +0283-block-blk-mq-move-blk_queue_usage_counter_release-in.patch +0284-workqueue-rework.patch +0285-i2c-exynos5-Remove-IRQF_ONESHOT.patch +0286-i2c-hix5hd2-Remove-IRQF_ONESHOT.patch +0287-sched-deadline-Ensure-inactive_timer-runs-in-hardirq.patch +0288-thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch +0289-dma-buf-Use-seqlock_t-instread-disabling-preemption.patch +0290-KVM-arm-arm64-Let-the-timer-expire-in-hardirq-contex.patch +0291-x86-preempt-Check-preemption-level-before-looking-at.patch +0292-hrtimer-Use-READ_ONCE-to-access-timer-base-in-hrimer.patch +0293-hrtimer-Don-t-grab-the-expiry-lock-for-non-soft-hrti.patch +0294-hrtimer-Prevent-using-hrtimer_grab_expiry_lock-on-mi.patch +0295-hrtimer-Add-a-missing-bracket-and-hide-migration_bas.patch +0296-posix-timers-Unlock-expiry-lock-in-the-early-return.patch +0297-sched-migrate_dis-enable-Use-sleeping_lock-to-annota.patch +0298-sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch +0299-sched-Remove-dead-__migrate_disabled-check.patch +0300-sched-migrate-disable-Protect-cpus_ptr-with-lock.patch +0301-lib-smp_processor_id-Don-t-use-cpumask_equal.patch +0302-futex-Make-the-futex_hash_bucket-spinlock_t-again-an.patch +0303-locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch +0304-lib-ubsan-Don-t-seralize-UBSAN-report.patch +0305-kmemleak-Change-the-lock-of-kmemleak_object-to-raw_s.patch +0306-sched-migrate_enable-Use-select_fallback_rq.patch +0307-sched-Lazy-migrate_disable-processing.patch +0308-sched-migrate_enable-Use-stop_one_cpu_nowait.patch +0309-Revert-ARM-Initialize-split-page-table-locks-for-vec.patch +0310-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch +0311-sched-core-migrate_enable-must-access-takedown_cpu_t.patch +0312-lib-smp_processor_id-Adjust-check_preemption_disable.patch +0313-sched-migrate_enable-Busy-loop-until-the-migration-r.patch +0314-userfaultfd-Use-a-seqlock-instead-of-seqcount.patch +0315-sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch +0316-sched-migrate_enable-Remove-__schedule-call.patch +0317-mm-memcontrol-Move-misplaced-local_unlock_irqrestore.patch +0318-locallock-Include-header-for-the-current-macro.patch +0319-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch +0320-tracing-make-preempt_lazy-and-migrate_disable-counte.patch +0321-lib-ubsan-Remove-flags-parameter-from-calls-to-ubsan.patch +0322-irq_work-Fix-checking-of-IRQ_WORK_LAZY-flag-set-on-n.patch +0323-tasklet-Address-a-race-resulting-in-double-enqueue.patch +0324-hrtimer-fix-logic-for-when-grabbing-softirq_expiry_l.patch +0325-fs-dcache-Include-swait.h-header.patch +0326-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch +0327-tasklet-Fix-UP-case-for-tasklet-CHAINED-state.patch +0328-signal-Prevent-double-free-of-user-struct.patch +0329-Bluetooth-Acquire-sk_lock.slock-without-disabling-in.patch +0330-net-phy-fixed_phy-Remove-unused-seqcount.patch +0331-net-xfrm-fix-compress-vs-decompress-serialization.patch +0332-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch +0333-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch +0334-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch +0335-locking-rwsem_rt-Add-__down_read_interruptible.patch +0336-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch +0337-fscache-fix-initialisation-of-cookie-hash-table-raw-.patch +0338-rt-PREEMPT_RT-safety-net-for-backported-patches.patch +0339-net-Add-missing-xmit_lock_owner-hunks.patch +0340-genirq-Add-lost-hunk-to-irq_forced_thread_fn.patch +0341-random-Use-local-locks-for-crng-context-access.patch +0342-Linux-4.19.255-rt113-REBASE.patch |