Re: Re-implement MCE log ring buffer as per-CPU ring buffer

Steven Rostedt
2009-04-24T13:36:24Z

On Fri, 24 Apr 2009, Robert Richter wrote:

> On 24.04.09 14:06:50, Huang Ying wrote:
> > On Wed, 2009-04-22 at 18:16 +0800, Robert Richter wrote:
> > > On 22.04.09 11:22:59, Ingo Molnar wrote:
> > > >
> > > > * Huang Ying <ying.huang@intel.com> wrote:
> > > >
> > > > > Re-implement MCE log ring buffer as per-CPU ring buffer for better
> > > > > scalability. Basic design is as follow:
> > > >
> > > > Before changing anything substantial in the MCE code it would be
> > > > necessary to clean up and then unify the 32-bit and 64-bit side of
> > > > the MCE code first. (Which essentially means extending the
> > > > 64-bit-only code to 32-bit)
> > >
> > > You may also want to consider to use the in-kernel ring_buffer api
> > > (include/linux/ring_buffer.h).
> >
> > It seems that ring_buffer is not NMI-safe, while mcelog buffer will be
> > used in NMI context and interrupt context. When will ring_buffer to be
> > NMI-safe?
>
> You can use it in nmi context with separate read and write
> buffers. See this patch description:
> 6dad828b76c7224a22ddc9ce7aa495d994f03b31
>
> Not sure if somebody will make the ring_buffer non-locking.

It already is ;-)

I've put in for a patent application on the algorithm so I must wait till
it is processed before I can release the code.

-- Steve