From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932193AbWFFOkp (ORCPT ); Tue, 6 Jun 2006 10:40:45 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932194AbWFFOkp (ORCPT ); Tue, 6 Jun 2006 10:40:45 -0400 Received: from ms-smtp-01.nyroc.rr.com ([24.24.2.55]:41957 "EHLO ms-smtp-01.nyroc.rr.com") by vger.kernel.org with ESMTP id S932193AbWFFOkp (ORCPT ); Tue, 6 Jun 2006 10:40:45 -0400 Subject: Re: [patch, -rc5-mm3] fix irqpoll some more From: Steven Rostedt To: Ingo Molnar Cc: Alan Cox , Andrew Morton , arjan@linux.intel.com, linux-kernel@vger.kernel.org In-Reply-To: <20060606135353.GA25609@elte.hu> References: <200606050600.k5560GdU002338@shell0.pdx.osdl.net> <1149497459.23209.39.camel@localhost.localdomain> <20060605084938.GA31915@elte.hu> <1149600355.16247.49.camel@localhost.localdomain> <20060606135353.GA25609@elte.hu> Content-Type: text/plain Date: Tue, 06 Jun 2006 10:40:28 -0400 Message-Id: <1149604828.16247.64.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.4.2.1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2006-06-06 at 15:53 +0200, Ingo Molnar wrote: > * Steven Rostedt wrote: > > > On Mon, 2006-06-05 at 10:49 +0200, Ingo Molnar wrote: > > > > > + /* > > > + * HACK: > > > + * > > > + * In the first pass we dont touch handlers that are behind > > > + * a disabled IRQ line. In the second pass (having no other > > > + * choice) we ignore the disabled state of IRQ lines. We've > > > + * got a screaming interrupt, so we have the choice between > > > + * a real lockup happening due to that screaming interrupt, > > > + * against a theoretical locking that becomes possible if we > > > + * ignore a disabled IRQ line. > > > > FYI, with irqpoll on in my i386 SMP machine, I hit this theoretical > > locking every time in the vortex driver. > > you got a lockup/deadlock every time, due to the bug that the lock > validator pointed out? > The one with the spin_lock being used outside of interrupts disabled? Yep. But remember, this only happens with irqpoll where it doesn't honor disabled interrupts, so this was expected behavior. Here's the back trace. I had to disable your lockdep to turn NMI back on. [] show_stack_log_lvl+0xa7/0xf0 [] show_registers+0x1c0/0x260 [] die_nmi+0xd7/0x160 [] nmi_watchdog_tick+0x1c5/0x210 [] do_nmi+0x99/0x2a0 [] nmi_stack_correct+0x1d/0x22 [] boomerang_interrupt+0x33/0x460 [3c59x] [] note_interrupt+0x155/0x260 [] handle_edge_irq+0x11d/0x150 [] do_IRQ+0x4f/0xa0 [] common_interrupt+0x1a/0x20 [] mdio_read+0xb6/0xf0 [3c59x] [] mii_link_ok+0x21/0x50 [mii] [] mii_check_media+0x36/0x200 [mii] [] vortex_check_media+0x3b/0x90 [3c59x] [] vortex_timer+0x41e/0x490 [3c59x] [] run_timer_softirq+0xc9/0x1a0 [] __do_softirq+0x74/0xf0 [] do_softirq+0x55/0x60 [] irq_exit+0x4d/0x50 [] smp_apic_timer_interrupt+0x64/0x70 [] apic_timer_interrupt+0x1f/0x24 [] cpu_idle+0x4d/0xb0 [] start_secondary+0x450/0x500 [<00000000>] 0x0 -- Steve