On Tue, 26 Jan 2010, Martin Schwidefsky wrote: > On Mon, 25 Jan 2010 22:26:39 -0600 > Jason Wessel <jason.wes...@windriver.com> wrote: > > > This is a regression fix against: 0f8e8ef7c204988246da5a42d576b7fa5277a8e4 > > > > Spin locks were added to the clocksource_resume_watchdog() which cause > > the kernel debugger to deadlock on an SMP system frequently. > > > > The kernel debugger can try for the lock, but if it fails it should > > continue to touch the clocksource watchdog anyway, else it will trip > > if the general kernel execution has been paused for too long. > > > > This introduces an possible race condition where the kernel debugger > > might not process the list correctly if a clocksource is being added > > or removed at the time of this call. This race is sufficiently rare vs > > having the kernel debugger hang the kernel > > > > CC: Thomas Gleixner <t...@linutronix.de> > > CC: Martin Schwidefsky <schwidef...@de.ibm.com> > > CC: John Stultz <johns...@us.ibm.com> > > CC: Andrew Morton <a...@linux-foundation.org> > > CC: Magnus Damm <d...@igel.co.jp> > > Signed-off-by: Jason Wessel <jason.wes...@windriver.com> > > The first question I would ask is why does the kernel deadlock? Can we > have a backchain of a deadlock please?
The problem arises when the kernel is stopped inside the watchdog code with watchdog_lock held. When kgdb restarts execution then it touches the watchdog to avoid that TSC gets marked unstable. > Hmm, there are all kinds of races if the watchdog code gets interrupted > by the kernel debugger. Wouldn't it be better to just disable the > watchdog while the kernel debugger is active? No, we can keep it and in most cases it clocksource_touch_watchdog() helps to keep TSC alive. A simple "if (!trylock) return;" should solve the deadlock problem for kgdb without opening a can of worms. Thanks, tglx ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com _______________________________________________ Kgdb-bugreport mailing list Kgdb-bugreport@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport