Re: [tip:core/ipi] generic-ipi: eliminate spurious pointlessWARN_ON()s

From: Jan Beulich
Date: Fri Mar 13 2009 - 05:25:29 EST


>>> Peter Zijlstra <peterz@xxxxxxxxxxxxx> 13.03.09 09:54 >>>
>Wouldn't leaving them in place but changing them to:
>
>WARN_ON(irqs_disabled() && system_state == SYSTEM_RUNNING);
>
>be clearer?

I don't think that would be precise: system_state gets set to
SYSTEM_RUNNING much later than APs get brought up (i.e. there are
cases where the WARN_ON()s could validly trigger with SYSTEM_BOOTING),
and also doesn't cover states > SYSTEM_RUNNING (where, again, after
perhaps having brought down all APs the warnings could become pointless,
but the warnings could be meaningful as long as there are still some APs
online).

While from an abstract code reading perspective your suggestion might
seem reasonable, the changed placement really reflects what the warning
is trying to warn about - a potential deadlock which cannot occur under
the conditions filtered out by conditionals the warnings were moved
beyond.

Jan

--
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/