Re: [PATCH] x86/mce: Remove the "Unable to init device /dev/mcelog" message

From: Ingo Molnar
Date: Tue Feb 09 2016 - 08:59:12 EST



* Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> wrote:

> This code is run unconditionaly on bootup - and if the machine
> does not expose the MCE capability this scary message shows up.
>
> It is not needed as one can get that information from:
>
> 1) Observing there are no /dev/mcelog
> 2) Running with 'initcall_debug' to see what the return code was
> -EIO, -ENOMEM, -EBUSY
>
> CC: Borislav Petkov <bp@xxxxxxx>
> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
> Cc: H. Peter Anvin <hpa@xxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> CC: Ingo Molnar <mingo@xxxxxxxxxx>
> Reported-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> ---
> arch/x86/kernel/cpu/mcheck/mce.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
> index a006f4c..1c0132f 100644
> --- a/arch/x86/kernel/cpu/mcheck/mce.c
> +++ b/arch/x86/kernel/cpu/mcheck/mce.c
> @@ -2525,8 +2525,6 @@ err_out_mem:
> free_cpumask_var(mce_device_initialized);
>
> err_out:
> - pr_err("Unable to init device /dev/mcelog (rc: %d)\n", err);
> -
> return err;
> }

So the message is useful if it was not initialized for some anomalous reason.

What we want instead is to handle this case differently:

if (!mce_available(&boot_cpu_data)) {
err = -EIO;
goto err_out;
}

and not print a warning in that case, i.e. do:

if (!mce_available(&boot_cpu_data))
return -EIO;

Thanks,

Ingo