Re: [PATCH RT v2] x86/mce: Defer mce wakeups to threads for PREEMPT_RT

Borislav Petkov
2013-04-12T13:38:56Z

On Thu, Apr 11, 2013 at 02:33:34PM -0400, Steven Rostedt wrote:
> diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
> index e8d8ad0..060e473 100644
> --- a/arch/x86/kernel/cpu/mcheck/mce.c
> +++ b/arch/x86/kernel/cpu/mcheck/mce.c
> @@ -18,6 +18,7 @@
> #include <linux/rcupdate.h>
> #include <linux/kobject.h>
> #include <linux/uaccess.h>
> +#include <linux/kthread.h>
> #include <linux/kdebug.h>
> #include <linux/kernel.h>
> #include <linux/percpu.h>
> @@ -1308,6 +1309,61 @@ static void mce_do_trigger(struct work_struct *work)
>
> static DECLARE_WORK(mce_trigger_work, mce_do_trigger);
>
> +static void __mce_notify_work(void)
> +{
> + /* Not more than two messages every minute */
> + static DEFINE_RATELIMIT_STATE(ratelimit, 60*HZ, 2);
> +
> + /* wake processes polling /dev/mcelog */
> + wake_up_interruptible(&mce_chrdev_wait);
> +
> + /*
> + * There is no risk of missing notifications because
> + * work_pending is always cleared before the function is
> + * executed.
> + */

You must be using some tree != mainline because this comment is gone
upstream and that whole second hunk below which moves it here doesn't
apply.

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--