Re: 答复: 答复: 答复: [外部邮件] Re: [PATCH] x86/mce: Fix timer interval adjustment after logging a MCE event

From: Nikolay Borisov

Date: Tue Jan 13 2026 - 14:31:23 EST




On 13.01.26 г. 20:53 ч., Luck, Tony wrote:
The comment in mce_timer_fn says to adjust the polling interval, but
I notice the kernel log always shows an MCE log every 5 minutes. Is this
normal?

Use git annotate to figure out which patch added this comment and in context
of what and that'll tell you why.

As to the 5 minutes, look at how the check interval gets established.

Once upon a time the polling interval started out at 5 minutes, but the
interval was halved each time an error was found (so interval went
150s, 75s, 37s, ... down to 1s). If no error was found, then the interval
was doubled (going back up to 300s).

This is described in the comment:

/*
* Alert userspace if needed. If we logged an MCE, reduce the polling
* interval, otherwise increase the polling interval.
*/

It seems that the kernel isn't doing that today. Polling at a fixed 300 seconds
event though errors are being found and logged. Interesting that the timestamps
are 327.68 seconds apart, rather than 300 and change. So there is some strange
stuff going on.

I think Li Rongqing patch does exactly that, since it predicates the halving/doubling of the interval based on whether an error was found and not whether it was reported to user space (what mce_notify_irq() ) does. Both concepts seems to be independent and the former being the core one we care about w.r.t to the decision how to adjust the interval, no ?

<snip>