On Wed, Jan 20, 2010 at 23:40, graff.yang wrote: > 在 2010-01-21四的 11:57 +0800,Li Yi写道: >> On Wed, 2010-01-20 at 05:56 -0500, [email protected] wrote: > There is some difference in implementing nmi watchdog on bf561 compare > to x86. > On x86, the touch_nmi_watchdog() only set a per-cpu variable named > touched. > The nmi handler, do_nmi(), will periodical(5 sec) check this variable > and reset the watchdog. > On bf561, all above work is done by check_nmi_watchdog(). The do_nmi() > will never be called until there is a lockup. > Currently, the nmi handler need to save/restore all core registers, turn > off/on D-cache, (I-cache seems not necessary), so I think its a heavy > overhead. > If every one think its acceptable to do_nmi() every 5 seconds, I will > change this behavior.
the less often NMI is executed, the better. there are anomaly workarounds that involve turning off interrupts so that the sequence is not interrupted, but a random NMI will break that. if that means more overhead at runtime, well so be it. -mike _______________________________________________ Linux-kernel-commits mailing list [email protected] https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
