summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/0119-softirq-Check-preemption-after-reenabling-interrupts.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches-rt/0119-softirq-Check-preemption-after-reenabling-interrupts.patch')
-rw-r--r--debian/patches-rt/0119-softirq-Check-preemption-after-reenabling-interrupts.patch16
1 files changed, 8 insertions, 8 deletions
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 90826ae16..e3f55e764 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,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 13 Nov 2011 17:17:09 +0100
-Subject: [PATCH 119/353] softirq: Check preemption after reenabling interrupts
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d73dc06a3a63b3e883babd7e29fa160128c73e60
+Subject: [PATCH 119/354] softirq: Check preemption after reenabling interrupts
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d7c68fecb29f3041ccce92063163f28179b408e4
raise_softirq_irqoff() disables interrupts and wakes the softirq
daemon, but after reenabling interrupts there is no preemption check,
@@ -49,7 +49,7 @@ index 15c1f5e12eb8..1628277885a1 100644
EXPORT_SYMBOL(__blk_complete_request);
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
-index b7fe717eb1f4..9984f2b75b73 100644
+index 22829223534b..8dc7800151f0 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -187,8 +187,10 @@ do { \
@@ -116,7 +116,7 @@ index 86a709954f5a..9c069ef83d6d 100644
return 0;
}
diff --git a/net/core/dev.c b/net/core/dev.c
-index 03903d3f1d69..4156bf7ca234 100644
+index 0f9214fb36e0..554590fc29f5 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2727,6 +2727,7 @@ static void __netif_reschedule(struct Qdisc *q)
@@ -135,7 +135,7 @@ index 03903d3f1d69..4156bf7ca234 100644
}
EXPORT_SYMBOL(__dev_kfree_skb_irq);
-@@ -4273,6 +4275,7 @@ static int enqueue_to_backlog(struct sk_buff *skb, int cpu,
+@@ -4275,6 +4277,7 @@ static int enqueue_to_backlog(struct sk_buff *skb, int cpu,
rps_unlock(sd);
local_irq_restore(flags);
@@ -143,7 +143,7 @@ index 03903d3f1d69..4156bf7ca234 100644
atomic_long_inc(&skb->dev->rx_dropped);
kfree_skb(skb);
-@@ -5824,12 +5827,14 @@ static void net_rps_action_and_irq_enable(struct softnet_data *sd)
+@@ -5826,12 +5829,14 @@ static void net_rps_action_and_irq_enable(struct softnet_data *sd)
sd->rps_ipi_list = NULL;
local_irq_enable();
@@ -158,7 +158,7 @@ index 03903d3f1d69..4156bf7ca234 100644
}
static bool sd_has_rps_ipi_waiting(struct softnet_data *sd)
-@@ -5907,6 +5912,7 @@ void __napi_schedule(struct napi_struct *n)
+@@ -5909,6 +5914,7 @@ void __napi_schedule(struct napi_struct *n)
local_irq_save(flags);
____napi_schedule(this_cpu_ptr(&softnet_data), n);
local_irq_restore(flags);
@@ -166,7 +166,7 @@ index 03903d3f1d69..4156bf7ca234 100644
}
EXPORT_SYMBOL(__napi_schedule);
-@@ -9531,6 +9537,7 @@ static int dev_cpu_dead(unsigned int oldcpu)
+@@ -9523,6 +9529,7 @@ static int dev_cpu_dead(unsigned int oldcpu)
raise_softirq_irqoff(NET_TX_SOFTIRQ);
local_irq_enable();