LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* how can I touch softlockup watchdog on all cpus?
@ 2007-03-21 16:06 Cestonaro, Thilo (external)
  2007-03-21 16:44 ` Dave Jones
  0 siblings, 1 reply; 11+ messages in thread
From: Cestonaro, Thilo (external) @ 2007-03-21 16:06 UTC (permalink / raw)
  To: linux-kernel

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.

Ciao Thilo

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: how can I touch softlockup watchdog on all cpus?
  2007-03-21 16:06 how can I touch softlockup watchdog on all cpus? Cestonaro, Thilo (external)
@ 2007-03-21 16:44 ` Dave Jones
  2007-03-22  7:33   ` Cestonaro, Thilo (external)
  0 siblings, 1 reply; 11+ messages in thread
From: Dave Jones @ 2007-03-21 16:44 UTC (permalink / raw)
  To: Cestonaro, Thilo (external); +Cc: linux-kernel

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: how can I touch softlockup watchdog on all cpus?
  2007-03-21 16:44 ` Dave Jones
@ 2007-03-22  7:33   ` Cestonaro, Thilo (external)
  2007-03-22 15:30     ` Lee Revell
  0 siblings, 1 reply; 11+ messages in thread
From: Cestonaro, Thilo (external) @ 2007-03-22  7:33 UTC (permalink / raw)
  To: linux-kernel

> 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".

The code which is executed between the local_irq_disable and enable,
is just a function call into our companies bios (e.g. for updating itself)
and the long time is just 15 sec. while the bios has full control and OS is halted.
So I can't change anything at this point, but I need to fetch the watchdog,
cause it is not so nice, if there is a big BUG output on console while the
computer updates it's bios, very trustworthy isn't it :).

Ciao Thilo
@Dave: sorry that I send a direct mail :(

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: how can I touch softlockup watchdog on all cpus?
  2007-03-22  7:33   ` Cestonaro, Thilo (external)
@ 2007-03-22 15:30     ` Lee Revell
  2007-03-22 15:46       ` Cestonaro, Thilo (external)
  0 siblings, 1 reply; 11+ messages in thread
From: Lee Revell @ 2007-03-22 15:30 UTC (permalink / raw)
  To: Cestonaro, Thilo (external); +Cc: linux-kernel

On 3/22/07, Cestonaro, Thilo (external)
<Thilo.Cestonaro.external@fujitsu-siemens.com> wrote:
> > 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".
>
> The code which is executed between the local_irq_disable and enable,
> is just a function call into our companies bios (e.g. for updating itself)
> and the long time is just 15 sec. while the bios has full control and OS is halted.
> So I can't change anything at this point, but I need to fetch the watchdog,
> cause it is not so nice, if there is a big BUG output on console while the
> computer updates it's bios, very trustworthy isn't it :).

Just disable the softlockup watchdog.

Lee

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: how can I touch softlockup watchdog on all cpus?
  2007-03-22 15:30     ` Lee Revell
@ 2007-03-22 15:46       ` Cestonaro, Thilo (external)
  2007-03-22 16:17         ` Lee Revell
  0 siblings, 1 reply; 11+ messages in thread
From: Cestonaro, Thilo (external) @ 2007-03-22 15:46 UTC (permalink / raw)
  To: Lee Revell; +Cc: linux-kernel

> Just disable the softlockup watchdog.

Thx for your answer, but this is no option for me, as I said in my first post :(.

Thilo

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: how can I touch softlockup watchdog on all cpus?
  2007-03-22 15:46       ` Cestonaro, Thilo (external)
@ 2007-03-22 16:17         ` Lee Revell
  2007-03-22 16:46           ` Cestonaro, Thilo (external)
  0 siblings, 1 reply; 11+ messages in thread
From: Lee Revell @ 2007-03-22 16:17 UTC (permalink / raw)
  To: Cestonaro, Thilo (external); +Cc: linux-kernel

On 3/22/07, Cestonaro, Thilo (external)
<Thilo.Cestonaro.external@fujitsu-siemens.com> wrote:
> > Just disable the softlockup watchdog.
>
> Thx for your answer, but this is no option for me, as I said in my first post :(.

Sounds like you have a fundamentally incompatible set of requirements.

Why do you need the softlockup watchdog if you intend to induce soft
lockups on purpose?

Lee

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: how can I touch softlockup watchdog on all cpus?
  2007-03-22 16:17         ` Lee Revell
@ 2007-03-22 16:46           ` Cestonaro, Thilo (external)
  2007-03-22 22:46             ` Jeremy Fitzhardinge
  0 siblings, 1 reply; 11+ messages in thread
From: Cestonaro, Thilo (external) @ 2007-03-22 16:46 UTC (permalink / raw)
  To: Lee Revell; +Cc: linux-kernel

> Sounds like you have a fundamentally incompatible set of requirements.

Sounds so yep :)

> Why do you need the softlockup watchdog if you intend to induce soft
> lockups on purpose?

It's a condition of a customer of us, so I can't change it.

But it happens not often that my part is used. So I thought there is a mechanism to disable or reset the watchdog
because it is a legal pause for it. And there is one "touch_softlockup_watchdog()", that does what I want,
BUT just for the current cpu. And so the watchdog blats from the other cpu.

Thilo

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: how can I touch softlockup watchdog on all cpus?
  2007-03-22 16:46           ` Cestonaro, Thilo (external)
@ 2007-03-22 22:46             ` Jeremy Fitzhardinge
  2007-03-23  1:16               ` Dave Jones
  0 siblings, 1 reply; 11+ messages in thread
From: Jeremy Fitzhardinge @ 2007-03-22 22:46 UTC (permalink / raw)
  To: Cestonaro, Thilo (external); +Cc: Lee Revell, linux-kernel

Cestonaro, Thilo (external) wrote:
> It's a condition of a customer of us, so I can't change it.
>
> But it happens not often that my part is used. So I thought there is a mechanism to disable or reset the watchdog
> because it is a legal pause for it. And there is one "touch_softlockup_watchdog()", that does what I want,
> BUT just for the current cpu. And so the watchdog blats from the other cpu.
>   

on_each_cpu(touch_softlockup_watchdog, NULL, 0, 0)?

Or patch the softlockup watchdog to add a way to temporarily disable it.

    J

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: how can I touch softlockup watchdog on all cpus?
  2007-03-22 22:46             ` Jeremy Fitzhardinge
@ 2007-03-23  1:16               ` Dave Jones
  2007-03-23  1:48                 ` Jeremy Fitzhardinge
  0 siblings, 1 reply; 11+ messages in thread
From: Dave Jones @ 2007-03-23  1:16 UTC (permalink / raw)
  To: Jeremy Fitzhardinge; +Cc: Cestonaro, Thilo (external), Lee Revell, linux-kernel

On Thu, Mar 22, 2007 at 03:46:54PM -0700, Jeremy Fitzhardinge wrote:
 > Cestonaro, Thilo (external) wrote:
 > > It's a condition of a customer of us, so I can't change it.
 > >
 > > But it happens not often that my part is used. So I thought there is a mechanism to disable or reset the watchdog
 > > because it is a legal pause for it. And there is one "touch_softlockup_watchdog()", that does what I want,
 > > BUT just for the current cpu. And so the watchdog blats from the other cpu.
 > >   
 > 
 > on_each_cpu(touch_softlockup_watchdog, NULL, 0, 0)?

He wants to do this with interrupts off. on_each_cpu won't work in
that situation.

 > Or patch the softlockup watchdog to add a way to temporarily disable it.

Seems pretty much the only way you could make this work.

	Dave

-- 
http://www.codemonkey.org.uk

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: how can I touch softlockup watchdog on all cpus?
  2007-03-23  1:16               ` Dave Jones
@ 2007-03-23  1:48                 ` Jeremy Fitzhardinge
  0 siblings, 0 replies; 11+ messages in thread
From: Jeremy Fitzhardinge @ 2007-03-23  1:48 UTC (permalink / raw)
  To: Dave Jones, Jeremy Fitzhardinge, Cestonaro, Thilo (external),
	Lee Revell, linux-kernel

Dave Jones wrote:
> He wants to do this with interrupts off. on_each_cpu won't work in
> that situation.
>   

I was thinking just before his big pause.  But it sounds like its fairly
marginal.

>  > Or patch the softlockup watchdog to add a way to temporarily disable it.
>
> Seems pretty much the only way you could make this work.
>   

Yep.  The patches I just posted might do the trick.

    J

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: how can I touch softlockup watchdog on all cpus?
@ 2007-03-21 16:10 Cestonaro, Thilo (external)
  0 siblings, 0 replies; 11+ messages in thread
From: Cestonaro, Thilo (external) @ 2007-03-21 16:10 UTC (permalink / raw)
  To: linux-kernel

Hey again,

forgot to mention that I tried this patch, but did not work for me:
http://lkml.org/lkml/2007/3/15/131

Ciao Thilo

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2007-03-23  1:50 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-21 16:06 how can I touch softlockup watchdog on all cpus? Cestonaro, Thilo (external)
2007-03-21 16:44 ` Dave Jones
2007-03-22  7:33   ` Cestonaro, Thilo (external)
2007-03-22 15:30     ` Lee Revell
2007-03-22 15:46       ` Cestonaro, Thilo (external)
2007-03-22 16:17         ` Lee Revell
2007-03-22 16:46           ` Cestonaro, Thilo (external)
2007-03-22 22:46             ` Jeremy Fitzhardinge
2007-03-23  1:16               ` Dave Jones
2007-03-23  1:48                 ` Jeremy Fitzhardinge
2007-03-21 16:10 Cestonaro, Thilo (external)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).