+ lockdep-irqtrace-subsystem-move-account_system_vtime-calls-into-kernel-softirqc.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     lockdep: irqtrace subsystem, move account_system_vtime() calls into kernel/softirq.c

has been added to the -mm tree.  Its filename is

     lockdep-irqtrace-subsystem-move-account_system_vtime-calls-into-kernel-softirqc.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: lockdep: irqtrace subsystem, move account_system_vtime() calls into kernel/softirq.c
From: Paul Mackerras <paulus@xxxxxxxxx>

At the moment, powerpc and s390 have their own versions of do_softirq which
include local_bh_disable() and __local_bh_enable() calls.  They end up
calling __do_softirq (in kernel/softirq.c) which also does
local_bh_disable/enable.

Apparently the two levels of disable/enable trigger a warning from some
validation code that Ingo is working on, and he would like to see the outer
level removed.  But to do that, we have to move the account_system_vtime
calls that are currently in the arch do_softirq() implementations for
powerpc and s390 into the generic __do_softirq() (this is a no-op for other
archs because account_system_vtime is defined to be an empty inline
function on all other archs).  This patch does that.

Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 arch/powerpc/kernel/irq.c |    7 +------
 arch/s390/kernel/irq.c    |    8 --------
 kernel/softirq.c          |    4 ++++
 3 files changed, 5 insertions(+), 14 deletions(-)

diff -puN arch/powerpc/kernel/irq.c~lockdep-irqtrace-subsystem-move-account_system_vtime-calls-into-kernel-softirqc arch/powerpc/kernel/irq.c
--- a/arch/powerpc/kernel/irq.c~lockdep-irqtrace-subsystem-move-account_system_vtime-calls-into-kernel-softirqc
+++ a/arch/powerpc/kernel/irq.c
@@ -425,13 +425,8 @@ void do_softirq(void)
 
 	local_irq_save(flags);
 
-	if (local_softirq_pending()) {
-		account_system_vtime(current);
-		local_bh_disable();
+	if (local_softirq_pending())
 		do_softirq_onstack();
-		account_system_vtime(current);
-		_local_bh_enable();
-	}
 
 	local_irq_restore(flags);
 }
diff -puN arch/s390/kernel/irq.c~lockdep-irqtrace-subsystem-move-account_system_vtime-calls-into-kernel-softirqc arch/s390/kernel/irq.c
--- a/arch/s390/kernel/irq.c~lockdep-irqtrace-subsystem-move-account_system_vtime-calls-into-kernel-softirqc
+++ a/arch/s390/kernel/irq.c
@@ -69,10 +69,6 @@ asmlinkage void do_softirq(void)
 
 	local_irq_save(flags);
 
-	account_system_vtime(current);
-
-	local_bh_disable();
-
 	if (local_softirq_pending()) {
 		/* Get current stack pointer. */
 		asm volatile("la %0,0(15)" : "=a" (old));
@@ -95,10 +91,6 @@ asmlinkage void do_softirq(void)
 			__do_softirq();
 	}
 
-	account_system_vtime(current);
-
-	_local_bh_enable();
-
 	local_irq_restore(flags);
 }
 
diff -puN kernel/softirq.c~lockdep-irqtrace-subsystem-move-account_system_vtime-calls-into-kernel-softirqc kernel/softirq.c
--- a/kernel/softirq.c~lockdep-irqtrace-subsystem-move-account_system_vtime-calls-into-kernel-softirqc
+++ a/kernel/softirq.c
@@ -193,6 +193,8 @@ asmlinkage void __do_softirq(void)
 	int cpu;
 
 	pending = local_softirq_pending();
+	account_system_vtime(current);
+
 	__local_bh_disable((unsigned long)__builtin_return_address(0));
 	trace_softirq_enter();
 
@@ -224,6 +226,8 @@ restart:
 		wakeup_softirqd();
 
 	trace_softirq_exit();
+
+	account_system_vtime(current);
 	_local_bh_enable();
 }
 
_

Patches currently in -mm which might be from paulus@xxxxxxxxx are

origin.patch
macintosh-mangle-caps-lock-events-on-adb-keyboards.patch
powerpc-adding-the-use-of-the-firmware-soft-reset-nmi-to-kdump.patch
powerpc-kcofnig-warning-fix.patch
fix-broken-dubious-driver-suspend-methods.patch
apple-motion-sensor-driver.patch
apple-motion-sensor-driver-update.patch
apple-motion-sensor-driver-update-2.patch
lockdep-irqtrace-subsystem-move-account_system_vtime-calls-into-kernel-softirqc.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux