From 970c295c4dde7b7ad82a12c88c2bb19000abbba6 Mon Sep 17 00:00:00 2001 From: Salvatore Bonaccorso Date: Thu, 16 Apr 2020 23:25:59 +0200 Subject: [PATCH] [rt] Refresh "genirq: Do not invoke the affinity callback via a workqueue on RT" for context changes in 4.19.114 --- debian/changelog | 2 ++ ...voke-the-affinity-callback-via-a-wor.patch | 23 +++++++------------ 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/debian/changelog b/debian/changelog index a41ac6965..005da3ff8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1624,6 +1624,8 @@ linux (4.19.115-1) UNRELEASED; urgency=medium context changes in 4.19.112 * [rt] Refresh "genirq: Do not invoke the affinity callback via a workqueue on RT" for context changes in 4.19.114 + * [rt] Refresh "genirq: Do not invoke the affinity callback via a workqueue + on RT" for context changes in 4.19.114 [ Ben Hutchings ] * [x86] Drop "Add a SysRq option to lift kernel lockdown" (Closes: #947021) diff --git a/debian/patches-rt/0269-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch b/debian/patches-rt/0269-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch index 5af824613..1d7edec5a 100644 --- a/debian/patches-rt/0269-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch +++ b/debian/patches-rt/0269-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch @@ -19,8 +19,6 @@ Signed-off-by: Steven Rostedt (VMware) kernel/irq/manage.c | 19 ++++--------------- 2 files changed, 6 insertions(+), 18 deletions(-) -diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h -index 72333899f043..a9321f6429f2 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -13,7 +13,7 @@ @@ -32,7 +30,7 @@ index 72333899f043..a9321f6429f2 100644 #include #include -@@ -228,7 +228,6 @@ extern void resume_device_irqs(void); +@@ -228,7 +228,6 @@ * struct irq_affinity_notify - context for notification of IRQ affinity changes * @irq: Interrupt to which notification applies * @kref: Reference count, for internal use @@ -40,7 +38,7 @@ index 72333899f043..a9321f6429f2 100644 * @work: Work item, for internal use * @notify: Function to be called on change. This will be * called in process context. -@@ -241,7 +240,7 @@ struct irq_affinity_notify { +@@ -241,7 +240,7 @@ unsigned int irq; struct kref kref; #ifdef CONFIG_PREEMPT_RT_BASE @@ -49,20 +47,18 @@ index 72333899f043..a9321f6429f2 100644 #else struct work_struct work; #endif -diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index ce86341a9e19..d5539e04e00a 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c -@@ -287,7 +287,7 @@ int irq_set_affinity_locked(struct irq_data *data, const struct cpumask *mask, +@@ -287,7 +287,7 @@ kref_get(&desc->affinity_notify->kref); #ifdef CONFIG_PREEMPT_RT_BASE -- swork_queue(&desc->affinity_notify->swork); -+ kthread_schedule_work(&desc->affinity_notify->work); +- if (!swork_queue(&desc->affinity_notify->swork)) { ++ if (!kthread_schedule_work(&desc->affinity_notify->work)) { #else - schedule_work(&desc->affinity_notify->work); + if (!schedule_work(&desc->affinity_notify->work)) { #endif -@@ -352,21 +352,11 @@ static void _irq_affinity_notify(struct irq_affinity_notify *notify) +@@ -356,21 +356,11 @@ } #ifdef CONFIG_PREEMPT_RT_BASE @@ -86,7 +82,7 @@ index ce86341a9e19..d5539e04e00a 100644 _irq_affinity_notify(notify); } -@@ -409,8 +399,7 @@ irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify) +@@ -413,8 +403,7 @@ notify->irq = irq; kref_init(¬ify->kref); #ifdef CONFIG_PREEMPT_RT_BASE @@ -96,6 +92,3 @@ index ce86341a9e19..d5539e04e00a 100644 #else INIT_WORK(¬ify->work, irq_affinity_notify); #endif --- -2.25.1 -