summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/0219-softirq-Check-preemption-after-reenabling-interrupts.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches-rt/0219-softirq-Check-preemption-after-reenabling-interrupts.patch')
-rw-r--r--debian/patches-rt/0219-softirq-Check-preemption-after-reenabling-interrupts.patch20
1 files changed, 10 insertions, 10 deletions
diff --git a/debian/patches-rt/0219-softirq-Check-preemption-after-reenabling-interrupts.patch b/debian/patches-rt/0219-softirq-Check-preemption-after-reenabling-interrupts.patch
index 173c118c2..6ed414720 100644
--- a/debian/patches-rt/0219-softirq-Check-preemption-after-reenabling-interrupts.patch
+++ b/debian/patches-rt/0219-softirq-Check-preemption-after-reenabling-interrupts.patch
@@ -1,8 +1,8 @@
-From c63275b524df4d3556c7cf1690bc874d4a8cd72e Mon Sep 17 00:00:00 2001
+From 5deee6753f583147f213b46951835c512c5068ff Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 13 Nov 2011 17:17:09 +0100
Subject: [PATCH 219/323] softirq: Check preemption after reenabling interrupts
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.215-rt107.tar.xz
raise_softirq_irqoff() disables interrupts and wakes the softirq
daemon, but after reenabling interrupts there is no preemption check,
@@ -21,7 +21,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
3 files changed, 15 insertions(+)
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
-index 5ceac863e729..fb140e00f74d 100644
+index 5ceac863e7298..fb140e00f74dc 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -190,8 +190,10 @@ do { \
@@ -44,7 +44,7 @@ index 5ceac863e729..fb140e00f74d 100644
#endif /* CONFIG_PREEMPT_COUNT */
diff --git a/lib/irq_poll.c b/lib/irq_poll.c
-index 2f17b488d58e..7557bf7ecf1f 100644
+index 2f17b488d58e1..7557bf7ecf1f1 100644
--- a/lib/irq_poll.c
+++ b/lib/irq_poll.c
@@ -37,6 +37,7 @@ void irq_poll_sched(struct irq_poll *iop)
@@ -88,7 +88,7 @@ index 2f17b488d58e..7557bf7ecf1f 100644
return 0;
}
diff --git a/net/core/dev.c b/net/core/dev.c
-index 3fc27b52bf42..3f23ac2ad497 100644
+index 0e2c433bebcd4..55d0c53864989 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3052,6 +3052,7 @@ static void __netif_reschedule(struct Qdisc *q)
@@ -107,7 +107,7 @@ index 3fc27b52bf42..3f23ac2ad497 100644
}
EXPORT_SYMBOL(__dev_kfree_skb_irq);
-@@ -4596,6 +4598,7 @@ static int enqueue_to_backlog(struct sk_buff *skb, int cpu,
+@@ -4604,6 +4606,7 @@ static int enqueue_to_backlog(struct sk_buff *skb, int cpu,
rps_unlock(sd);
local_irq_restore(flags);
@@ -115,7 +115,7 @@ index 3fc27b52bf42..3f23ac2ad497 100644
atomic_long_inc(&skb->dev->rx_dropped);
kfree_skb(skb);
-@@ -6348,12 +6351,14 @@ static void net_rps_action_and_irq_enable(struct softnet_data *sd)
+@@ -6356,12 +6359,14 @@ static void net_rps_action_and_irq_enable(struct softnet_data *sd)
sd->rps_ipi_list = NULL;
local_irq_enable();
@@ -130,7 +130,7 @@ index 3fc27b52bf42..3f23ac2ad497 100644
}
static bool sd_has_rps_ipi_waiting(struct softnet_data *sd)
-@@ -6431,6 +6436,7 @@ void __napi_schedule(struct napi_struct *n)
+@@ -6439,6 +6444,7 @@ void __napi_schedule(struct napi_struct *n)
local_irq_save(flags);
____napi_schedule(this_cpu_ptr(&softnet_data), n);
local_irq_restore(flags);
@@ -138,7 +138,7 @@ index 3fc27b52bf42..3f23ac2ad497 100644
}
EXPORT_SYMBOL(__napi_schedule);
-@@ -10962,6 +10968,7 @@ static int dev_cpu_dead(unsigned int oldcpu)
+@@ -10970,6 +10976,7 @@ static int dev_cpu_dead(unsigned int oldcpu)
raise_softirq_irqoff(NET_TX_SOFTIRQ);
local_irq_enable();
@@ -147,5 +147,5 @@ index 3fc27b52bf42..3f23ac2ad497 100644
#ifdef CONFIG_RPS
remsd = oldsd->rps_ipi_list;
--
-2.43.0
+2.44.0