Re: how can I touch softlockup watchdog on all cpus?

From: Dave Jones
Date: Wed Mar 21 2007 - 12:44:35 EST


On Wed, Mar 21, 2007 at 05:06:34PM +0100, Cestonaro, Thilo (external) wrote:
> Hey,
>
> my module generates this ugly softlockup dump, because all cpus are stopped longer then 10 secs.
> What I do is:
> [code]
> local_irq_disable();
> // my stuff which takes long and stopps all cpus
> .....
> touch_softlockup_watchdog();
> local_irq_enable();
> [/code]
>
> this prevents a dump of my current cpu but not for all.
> A call to smp_call_function with a function which calls touch_softlockup_watchdog in it,
> doesn't work because smp_call_function needs to be done with irqs enabled, so the watchdog comes first :(.
>
> Any hints or ideas how I can do it in a better way? Disabling softlockup watchdog is not possible for me.

You didn't explain _why_ you need to sleep for such a long time,
and as you didn't give a pointer to your code, there's not
much people can do to recommend changes other than "don't do that".

Dave

--
http://www.codemonkey.org.uk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/