From: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
To: Huang Ying <ying.huang@intel.com>
Cc: Ingo Molnar <mingo@elte.hu>, "H. Peter Anvin" <hpa@zytor.com>,
Andi Kleen <ak@linux.intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [BUGFIX -v7] x86, MCE: Fix bugs and issues of MCE log ring buffer
Date: Mon, 05 Oct 2009 15:23:29 +0900 [thread overview]
Message-ID: <4AC990E1.7030708@jp.fujitsu.com> (raw)
In-Reply-To: <1253269241.15717.525.camel@yhuang-dev.sh.intel.com>
Hi Huang,
Huang Ying wrote:
> Current MCE log ring buffer has following bugs and issues:
>
> - On larger systems the 32 size buffer easily overflow, losing events.
>
> - We had some reports of events getting corrupted which were also
> blamed on the ring buffer.
>
> - There's a known livelock, now hit by more people, under high error
> rate.
>
> We fix these bugs and issues via making MCE log ring buffer as
> lock-less per-CPU ring buffer.
Now I have a real problem on the small MCE log buffer on my new large
system with Nehalem which has many cpus/banks in one socket...
So I'd like to solve the problem asap. I think this problem might block
some distros to support new processor.
Last week I reviewed your patch again and noticed that it is doing a lot
of changes at once. I suppose that this method must be one of reasons
why your patch seems to be so hard to review, and why it is taking long
time to be accepted by x86 maintainers.
Fortunately I had some spare time so I carefully broke your patch into
some purpose-designed pieces. It would be the most significant change
that now there are 2 steps to convert the buffer structure - 1) to make
it per-CPU and 2) to make it ring buffer.
Also I fixed some problem in your patch, found on the way to make this
patch set. I'll explain about my changes later using diff from your
change. Comments are welcomed.
Thanks,
H.Seto
Hidetoshi Seto (10):
x86, mce: remove tsc handling from mce_read
x86, mce: mce_read can check args without mutex
x86, mce: change writer timeout in mce_read
x86, mce: use do-while in mce_log
x86, mce: make mce_log buffer to per-CPU, prep
x86, mce: make mce_log buffer to per-CPU
x86, mce: remove for-loop in mce_log
x86, mce: change barriers in mce_log
x86, mce: make mce_log buffer to ring buffer
x86, mce: move mce_log_init() into mce_cap_init()
arch/x86/include/asm/mce.h | 43 ++++--
arch/x86/kernel/cpu/mcheck/mce.c | 299 +++++++++++++++++++++++---------------
2 files changed, 211 insertions(+), 131 deletions(-)
next prev parent reply other threads:[~2009-10-05 6:24 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-18 10:20 [BUGFIX -v7] x86, MCE: Fix bugs and issues of MCE log ring buffer Huang Ying
2009-09-18 11:09 ` Ingo Molnar
2009-09-21 5:37 ` Huang Ying
2009-09-22 13:39 ` [PATCH] x86: mce: New MCE logging design Ingo Molnar
2009-10-05 6:23 ` Hidetoshi Seto [this message]
2009-10-05 6:33 ` [PATCH 01/10] x86, mce: remove tsc handling from mce_read Hidetoshi Seto
2009-10-05 6:34 ` [PATCH 02/10] x86, mce: mce_read can check args without mutex Hidetoshi Seto
2009-10-05 6:35 ` [PATCH 03/10] x86, mce: change writer timeout in mce_read Hidetoshi Seto
2009-10-05 6:36 ` [PATCH 04/10] x86, mce: use do-while in mce_log Hidetoshi Seto
2009-10-05 6:37 ` [PATCH 05/10] x86, mce: make mce_log buffer to per-CPU, prep Hidetoshi Seto
2009-10-05 6:38 ` [PATCH 06/10] x86, mce: make mce_log buffer to per-CPU Hidetoshi Seto
2009-10-05 7:06 ` Andi Kleen
2009-10-05 7:50 ` Hidetoshi Seto
2009-10-09 1:45 ` Huang Ying
2009-10-09 5:34 ` Hidetoshi Seto
2009-10-05 6:40 ` [PATCH 07/10] x86, mce: remove for-loop in mce_log Hidetoshi Seto
2009-10-05 6:41 ` [PATCH 08/10] x86, mce: change barriers " Hidetoshi Seto
2009-10-05 6:42 ` [PATCH 09/10] x86, mce: make mce_log buffer to ring buffer Hidetoshi Seto
2009-10-05 6:44 ` [PATCH 10/10] x86, mce: move mce_log_init() into mce_cap_init() Hidetoshi Seto
2009-10-05 7:07 ` [BUGFIX -v7] x86, MCE: Fix bugs and issues of MCE log ring buffer Hidetoshi Seto
2009-10-05 8:51 ` Frédéric Weisbecker
2009-10-05 15:16 ` Andi Kleen
2009-10-06 5:46 ` Hidetoshi Seto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4AC990E1.7030708@jp.fujitsu.com \
--to=seto.hidetoshi@jp.fujitsu.com \
--cc=ak@linux.intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=ying.huang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).