Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756778Ab2BBP7G (ORCPT ); Thu, 2 Feb 2012 10:59:06 -0500 Received: from mx1.redhat.com ([209.132.183.28]:22059 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756619Ab2BBP7F (ORCPT ); Thu, 2 Feb 2012 10:59:05 -0500 Date: Thu, 2 Feb 2012 10:58:41 -0500 From: Don Zickus To: TAO HU Cc: linux-kernel@vger.kernel.org, Ingo Molnar , linux-arm-kernel@lists.infradead.org, linux-omap Subject: Re: In many cases softlockup can not be reported after disabling IRQ for long time Message-ID: <20120202155841.GO5650@redhat.com> References: <20120131154748.GA5650@redhat.com> <20120201145802.GF5650@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1457 Lines: 37 On Thu, Feb 02, 2012 at 04:17:02PM +0800, TAO HU wrote: > Hi, Don > > My concern is not actually that the softlockup could not be reported > while the IRQ is disabled. > What bothering me is that even AFTER re-enable the IRQ, it will not > give warning in many cases. > > In theory, disabling IRQ for long time (10s in my case) also implies > the high priority thread (watchdog) is blocked > as well. > So the ideal case is that softlockup driver could give warning right > after the IRQ is re-enabled. > It does so occasionally but fails to be consistent. The only thing I can think of is that the clock/jiffies isn't updated until after the hrtimer is run. I'm not sure if there is any guarantee for ordering once interrupts are enabled. But that is just a guess. I guess in theory, I would expect that when interrupts are enabled, the system would immediately jump into an IRQ context, update the clock/jiffies, then run all the other irq handlers like hrtimers, which would see the new time and do the right thing. After everything is done, the system would return to your test code and re-enable preemption allowing the softlockup thread to run again. I could be very wrong though. :-) Cheers, Don -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/