Re: nmi_watchdog suspicious

Maciej W. Rozycki
2008-06-18T16:58:01Z

On Wed, 18 Jun 2008, Cyrill Gorcunov wrote:

> Maciej, it seems we are talking about different code snippets ;)
> I'm talking only about touch_nmi_watchdog(). By now (in -tip tree
> we have)
>
> void touch_nmi_watchdog(void)
> {
> if (nmi_watchdog == NMI_LOCAL_APIC ||
> nmi_watchdog == NMI_IO_APIC) {
> unsigned cpu;
> ...
>
> so we check explicitly the values (so if touch_nmi_watchdog
> was called when nmi_watchdog = 0 or -1U this code will not
> be executed anyway). So I think I'm a bit lost, Maciej... I just
> can't figure out what is wrong with this code, so please help
> me ;). If you're talking about apic code in _general_ design
> then...well, I think I need some time to _understand_ the code
> say byte-by-byte first.

The value of nmi_watchdog being NMI_IO_APIC or NMI_LOCAL_APIC does not
mean the watchdog has been set up already. This observation applies both
here and elsewhere, e.g. to nmi_watchdog_tick().

Maciej