linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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(-)


  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).