[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