[rt] Update to 3.6.6-rt17
svn path=/dists/trunk/linux/; revision=19498
This commit is contained in:
parent
e0ca22e6db
commit
c8c24a4003
|
@ -15,7 +15,7 @@ linux (3.6.6-1~experimental.1) UNRELEASED; urgency=low
|
|||
ZRAM but now a dependency (Closes: #692024)
|
||||
* fs: Re-enable link security restrictions that are disabled by default
|
||||
in 3.6.5
|
||||
* [rt] bump to 3.6.5-rt15
|
||||
* [rt] Update to 3.6.6-rt17
|
||||
* rc: Enable RC_DEVICES; re-enable LIRC; re-enable the drivers that
|
||||
depend on those; enable IR_SANYO_DECODER and IR_IGUANA as modules
|
||||
|
||||
|
|
|
@ -14,4 +14,4 @@ Index: linux-stable/localversion-rt
|
|||
--- /dev/null
|
||||
+++ linux-stable/localversion-rt
|
||||
@@ -0,0 +1 @@
|
||||
+-rt15
|
||||
+-rt17
|
||||
|
|
|
@ -601,6 +601,7 @@ rcu-disable-rcu-fast-no-hz-on-rt.patch
|
|||
net-fix-iptable-xt-write-recseq-begin-rt-fallout.patch
|
||||
softirq-adapt-nohz-pending-debug-code-to-new-scheme.patch
|
||||
softirq-add-more-debug.patch
|
||||
softirq-fix-nohz-pending-issue-for-real.patch
|
||||
net-netif-rx-ni-use-local-bh-disable.patch
|
||||
|
||||
fix-random-fallout.patch
|
||||
|
|
|
@ -32,7 +32,7 @@ Index: linux-stable/kernel/softirq.c
|
|||
+void __raise_softirq_irqoff(unsigned int nr)
|
||||
+{
|
||||
+ do_raise_softirq_irqoff(nr);
|
||||
+ if (WARN_ON_ONCE(!in_irq() && !current->softirq_nestcnt))
|
||||
+ if (!in_irq() && !current->softirq_nestcnt)
|
||||
+ wakeup_softirqd();
|
||||
+}
|
||||
+
|
||||
|
|
54
debian/patches/features/all/rt/softirq-fix-nohz-pending-issue-for-real.patch
vendored
Normal file
54
debian/patches/features/all/rt/softirq-fix-nohz-pending-issue-for-real.patch
vendored
Normal file
|
@ -0,0 +1,54 @@
|
|||
Subject: softirq: Fix nohz pending issue for real
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Mon, 12 Nov 2012 22:07:34 +0100
|
||||
|
||||
We really need to iterate through all softirqs to find a potentially
|
||||
blocked runner.
|
||||
|
||||
T1 runs softirq X (that cleared pending bit for X)
|
||||
|
||||
Interrupt raises softirq Y
|
||||
|
||||
T1 gets blocked on a lock and lock owner is not runnable
|
||||
|
||||
T1 schedules out
|
||||
|
||||
CPU goes idle and complains about pending softirq Y.
|
||||
|
||||
Now iterating over all softirqs lets us find the runner for X and
|
||||
eliminate Y from the to warn about list as well.
|
||||
|
||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||
---
|
||||
kernel/softirq.c | 13 ++++---------
|
||||
1 file changed, 4 insertions(+), 9 deletions(-)
|
||||
|
||||
Index: linux-stable/kernel/softirq.c
|
||||
===================================================================
|
||||
--- linux-stable.orig/kernel/softirq.c
|
||||
+++ linux-stable/kernel/softirq.c
|
||||
@@ -100,20 +100,15 @@ void softirq_check_pending_idle(void)
|
||||
{
|
||||
static int rate_limit;
|
||||
struct softirq_runner *sr = &__get_cpu_var(softirq_runners);
|
||||
- u32 warnpending, pending = local_softirq_pending();
|
||||
+ u32 warnpending = local_softirq_pending();
|
||||
+ int i;
|
||||
|
||||
if (rate_limit >= 10)
|
||||
return;
|
||||
|
||||
- warnpending = pending;
|
||||
-
|
||||
- while (pending) {
|
||||
- struct task_struct *tsk;
|
||||
- int i = __ffs(pending);
|
||||
-
|
||||
- pending &= ~(1 << i);
|
||||
+ for (i = 0; i < NR_SOFTIRQS; i++) {
|
||||
+ struct task_struct *tsk = sr->runner[i];
|
||||
|
||||
- tsk = sr->runner[i];
|
||||
/*
|
||||
* The wakeup code in rtmutex.c wakes up the task
|
||||
* _before_ it sets pi_blocked_on to NULL under
|
|
@ -601,6 +601,7 @@ features/all/rt/rcu-disable-rcu-fast-no-hz-on-rt.patch
|
|||
features/all/rt/net-fix-iptable-xt-write-recseq-begin-rt-fallout.patch
|
||||
features/all/rt/softirq-adapt-nohz-pending-debug-code-to-new-scheme.patch
|
||||
features/all/rt/softirq-add-more-debug.patch
|
||||
features/all/rt/softirq-fix-nohz-pending-issue-for-real.patch
|
||||
features/all/rt/net-netif-rx-ni-use-local-bh-disable.patch
|
||||
|
||||
features/all/rt/fix-random-fallout.patch
|
||||
|
|
Loading…
Reference in New Issue