[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170727214708.24396586@vmware.local.home>
Date: Thu, 27 Jul 2017 21:47:08 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: Borislav Petkov <bp@...en8.de>
Cc: linux-edac <linux-edac@...r.kernel.org>,
Tony Luck <tony.luck@...el.com>,
Yazen Ghannam <Yazen.Ghannam@....com>, X86 ML <x86@...nel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH 6/8] EDAC, mce_amd: Convert to seq_buf
On Tue, 25 Jul 2017 17:45:59 +0200
Borislav Petkov <bp@...en8.de> wrote:
> From: Borislav Petkov <bp@...e.de>
>
> Convert the part which decodes the error description to the sequence
> buffer facility and thus save ourselves the many printk() invocations
> building the decoded string.
>
> No functionality change.
>
> Signed-off-by: Borislav Petkov <bp@...e.de>
> ---
> drivers/edac/mce_amd.c | 203 ++++++++++++++++++++++++++-----------------------
> 1 file changed, 108 insertions(+), 95 deletions(-)
>
> diff --git a/drivers/edac/mce_amd.c b/drivers/edac/mce_amd.c
> index a11a671c7a38..1f5e9bb161f3 100644
> --- a/drivers/edac/mce_amd.c
> +++ b/drivers/edac/mce_amd.c
> @@ -1,3 +1,4 @@
> +#include <linux/seq_buf.h>
> #include <linux/module.h>
> #include <linux/slab.h>
>
> @@ -306,6 +307,11 @@ static struct smca_mce_desc smca_mce_descs[] = {
> [SMCA_SMU] = { smca_smu_mce_desc, ARRAY_SIZE(smca_smu_mce_desc) },
> };
>
> +/* 128 because, well, nice and round - two cachelines. */
> +#define BUF_LEN 128
> +static char __err_buf[BUF_LEN];
> +static struct seq_buf sb;
What happens if two CPUs have mce's at the same time? Wouldn't one
corrupt the other buffer. 128 isn't too big to put on the stack is it?
-- Steve
> +
> static bool f12h_mc0_mce(u16 ec, u8 xec)
> {
Powered by blists - more mailing lists