[kernel] r19498 - in dists/trunk/linux/debian: . patches patches/features/all/rt
Ben Hutchings
benh at alioth.debian.org
Thu Nov 15 04:49:58 UTC 2012
Author: benh
Date: Thu Nov 15 04:49:54 2012
New Revision: 19498
Log:
[rt] Update to 3.6.6-rt17
Added:
dists/trunk/linux/debian/patches/features/all/rt/softirq-fix-nohz-pending-issue-for-real.patch
Modified:
dists/trunk/linux/debian/changelog
dists/trunk/linux/debian/patches/features/all/rt/localversion.patch
dists/trunk/linux/debian/patches/features/all/rt/series
dists/trunk/linux/debian/patches/features/all/rt/softirq-add-more-debug.patch
dists/trunk/linux/debian/patches/series-rt
Modified: dists/trunk/linux/debian/changelog
==============================================================================
--- dists/trunk/linux/debian/changelog Mon Nov 12 16:54:04 2012 (r19497)
+++ dists/trunk/linux/debian/changelog Thu Nov 15 04:49:54 2012 (r19498)
@@ -15,7 +15,7 @@
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
Modified: dists/trunk/linux/debian/patches/features/all/rt/localversion.patch
==============================================================================
--- dists/trunk/linux/debian/patches/features/all/rt/localversion.patch Mon Nov 12 16:54:04 2012 (r19497)
+++ dists/trunk/linux/debian/patches/features/all/rt/localversion.patch Thu Nov 15 04:49:54 2012 (r19498)
@@ -14,4 +14,4 @@
--- /dev/null
+++ linux-stable/localversion-rt
@@ -0,0 +1 @@
-+-rt15
++-rt17
Modified: dists/trunk/linux/debian/patches/features/all/rt/series
==============================================================================
--- dists/trunk/linux/debian/patches/features/all/rt/series Mon Nov 12 16:54:04 2012 (r19497)
+++ dists/trunk/linux/debian/patches/features/all/rt/series Thu Nov 15 04:49:54 2012 (r19498)
@@ -601,6 +601,7 @@
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
Modified: dists/trunk/linux/debian/patches/features/all/rt/softirq-add-more-debug.patch
==============================================================================
--- dists/trunk/linux/debian/patches/features/all/rt/softirq-add-more-debug.patch Mon Nov 12 16:54:04 2012 (r19497)
+++ dists/trunk/linux/debian/patches/features/all/rt/softirq-add-more-debug.patch Thu Nov 15 04:49:54 2012 (r19498)
@@ -32,7 +32,7 @@
+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();
+}
+
Added: dists/trunk/linux/debian/patches/features/all/rt/softirq-fix-nohz-pending-issue-for-real.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/trunk/linux/debian/patches/features/all/rt/softirq-fix-nohz-pending-issue-for-real.patch Thu Nov 15 04:49:54 2012 (r19498)
@@ -0,0 +1,54 @@
+Subject: softirq: Fix nohz pending issue for real
+From: Thomas Gleixner <tglx at 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 at 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
Modified: dists/trunk/linux/debian/patches/series-rt
==============================================================================
--- dists/trunk/linux/debian/patches/series-rt Mon Nov 12 16:54:04 2012 (r19497)
+++ dists/trunk/linux/debian/patches/series-rt Thu Nov 15 04:49:54 2012 (r19498)
@@ -601,6 +601,7 @@
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
More information about the Kernel-svn-changes
mailing list