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

Robert Richter
2009-04-24T10:10:20Z

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.

-Robert

--
Advanced Micro Devices, Inc.
Operating System Research Center
email: robert.richter@amd.com