Re: [PATCH 03/20] x86, mce: Add persistent MCE event

Ingo Molnar
2010-11-11T08:58:40Z

* Borislav Petkov <bp@amd64.org> wrote:

> On Wed, Nov 10, 2010 at 05:21:57PM -0500, Ingo Molnar wrote:
> >
> > * Ben Gamari <bgamari@gmail.com> wrote:
> >
> > > On Thu, 4 Nov 2010 16:36:39 +0100, Borislav Petkov <bp@amd64.org> wrote:
> > > > From: Borislav Petkov <borislav.petkov@amd.com>
> > > >
> > > > Add the necessary glue to enable the mce_record tracepoint on boot
> > > > turning it into a persistent event. This exports the MCE buffer
> > > > read-only to a userspace daemon which will hook into it through debugfs
> > > > when booting is finished.
> > >
> > > While MCE technically is a diagnostics service, do we want to start adding
> > > dependencies on debugfs in long-running, common-place daemons? I was under the
> > > impression we were to avoid using debugfs for anything other than values for
> > > one-off debugging.
> >
> > See this current discussion thread on lkml:
> >
> > [RFC][PATCH] perf: sysfs type id
> >
> > Events are being added to sysfs as we want to avoid the debugfs dependency.
>
> Yep, event enumeration will land in /sysfs eventually but in this case debugfs is
> used to export the buffers with the events recorded so far to the daemon which
> mmaps them. And I remember also being mentioned that debugfs will thus be always
> compiled in because of that.

The event ring-buffer can be mmap()-ed off the fd that sys_perf_event_open() gives.
This is what all of tools/perf/ does - it uses debugfs only for even enumeration
(which will move to sysfs).

Thanks,

Ingo