Patchwork inconsistent lock state in 2.6.29-rc6

login
register
mail settings
Submitter David Miller
Date April 9, 2009, 4:04 a.m.
Message ID <20090408.210457.60079516.davem@davemloft.net>
Download mbox | patch
Permalink /patch/25750/
State Accepted
Delegated to: David Miller
Headers show

Comments

David Miller - April 9, 2009, 4:04 a.m.
From: Meelis Roos <mroos@linux.ee>
Date: Wed, 4 Mar 2009 09:51:50 +0200 (EET)

> This another problem from my 6-CPU E3000 - just got it while compiling 
> 2.6.29-rc7 but the compilation continues fine.
> 
> [  412.896568] =================================
> [  412.964373] [ INFO: inconsistent lock state ]
> [  413.016474] 2.6.29-rc6 #2
> [  413.047705] ---------------------------------
> [  413.099822] inconsistent {softirq-on-W} -> {in-softirq-W} usage.
> [  413.171717] cc1/2007 [HC0[0]:SC1[1]:HE0:SE0] takes:
> [  413.230048]  (call_function_lock){-+..}, at: [<000000000049003c>] generic_smp_call_function_interrupt+0x11c/0x1c0
> [  413.353010] {softirq-on-W} state was registered at:

Please try this patch:

--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Meelis Roos - April 22, 2009, 7:53 p.m.
> > This another problem from my 6-CPU E3000 - just got it while compiling 
> > 2.6.29-rc7 but the compilation continues fine.
> > 
> > [  412.896568] =================================
> > [  412.964373] [ INFO: inconsistent lock state ]
> > [  413.016474] 2.6.29-rc6 #2
> > [  413.047705] ---------------------------------
> > [  413.099822] inconsistent {softirq-on-W} -> {in-softirq-W} usage.
> > [  413.171717] cc1/2007 [HC0[0]:SC1[1]:HE0:SE0] takes:
> > [  413.230048]  (call_function_lock){-+..}, at: [<000000000049003c>] generic_smp_call_function_interrupt+0x11c/0x1c0
> > [  413.353010] {softirq-on-W} state was registered at:
> 
> Please try this patch:

It seems to work. When I got my E3000 hooked up to electricity again 
four days ago, I compiled the latest git and found this patch already 
included. It has seen some stress since, and a reboot into .30-rc3, aga 
still seems to work fine. Thank you for taking care of it!
David Miller - April 23, 2009, 6:06 a.m.
From: Meelis Roos <mroos@linux.ee>
Date: Wed, 22 Apr 2009 22:53:44 +0300 (EEST)

>> > This another problem from my 6-CPU E3000 - just got it while compiling 
>> > 2.6.29-rc7 but the compilation continues fine.
>> > 
>> > [  412.896568] =================================
>> > [  412.964373] [ INFO: inconsistent lock state ]
>> > [  413.016474] 2.6.29-rc6 #2
>> > [  413.047705] ---------------------------------
>> > [  413.099822] inconsistent {softirq-on-W} -> {in-softirq-W} usage.
>> > [  413.171717] cc1/2007 [HC0[0]:SC1[1]:HE0:SE0] takes:
>> > [  413.230048]  (call_function_lock){-+..}, at: [<000000000049003c>] generic_smp_call_function_interrupt+0x11c/0x1c0
>> > [  413.353010] {softirq-on-W} state was registered at:
>> 
>> Please try this patch:
> 
> It seems to work. When I got my E3000 hooked up to electricity again 
> four days ago, I compiled the latest git and found this patch already 
> included. It has seen some stress since, and a reboot into .30-rc3, aga 
> still seems to work fine. Thank you for taking care of it!

Thank you for testing.
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c
index f1c8208..1de47d2 100644
--- a/arch/sparc/kernel/smp_64.c
+++ b/arch/sparc/kernel/smp_64.c
@@ -119,9 +119,9 @@  void __cpuinit smp_callin(void)
 	while (!cpu_isset(cpuid, smp_commenced_mask))
 		rmb();
 
-	ipi_call_lock();
+	ipi_call_lock_irq();
 	cpu_set(cpuid, cpu_online_map);
-	ipi_call_unlock();
+	ipi_call_unlock_irq();
 
 	/* idle thread is expected to have preempt disabled */
 	preempt_disable();