Re: [PATCH 2/2] watchdog: Softlockup has regular windows where it isnot armed

From: Don Zickus
Date: Mon Dec 12 2011 - 14:54:11 EST


On Mon, Dec 05, 2011 at 09:28:22PM +1100, Anton Blanchard wrote:
>
> Hi Don,
>
> > > There might be a reason for this two stage sync but I haven't been
> > > able to find it yet. Perhaps the unsynced versions of cpu_clock()
> > > and sched_clock_tick() are not safe to call from all contexts?
> >
> > According to commit 8c2238eaaf0f774ca0f8d9daad7a616429bbb7f1 that was
> > the case, cpu_clock wasn't NMI-safe. Now it is, thanks to Peter.
>
> Thanks, that makes sense now.
>
> > I have a couple of concerns about the patch. I am wondering about the
> > overhead of getting the timestamp more often now as opposed to just
> > setting a boolean for later. It makes sense to stamp it at the time
> > of the call, don't know what the cost is.
>
> I had a similar concern since we do execute this quite a lot. The
> overhead of cpu_clock is quite low on powerpc, but not sure about the
> other architectures.

It seems like half of the users of touch_softlockup_watchdog is a slow
path (ie they are purposely spinning a long time). The cpu_clock overhead
for those paths, we probably don't need to care about.

The other half seems to deal with long idle/suspend/kgdb paths, which may
not be that interesting in their own right, except for the fact they are
called all the time for short delays and long delays. :-/

Perhaps I can move the touch_softlockup_watchdog() calls closer to the
long path conditionals, minimize the calls a little bit.

>
> > I am also concern about how this affects suspend/resume and kgdb. I
> > cc'd Jason above for kgdb. I'll have to run some tests locally to
> > see what long periods of delay look like. Oh and virt guests too.
> > You don't have any test results from that setup do you?
>
> I haven't tested suspend resume, kgdb or virtual guests yet.

I'll try to setup a box and play with these paths to see what they look
like.

Cheers,
Don
--
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/