LWN.net Logo

Perf persistent events

From:  Borislav Petkov <bp@alien8.de>
To:  LKML <linux-kernel@vger.kernel.org>
Subject:  [RFC PATCH 0/3] Perf persistent events
Date:  Fri, 15 Mar 2013 14:06:26 +0100
Message-ID:  <1363352789-17991-1-git-send-email-bp@alien8.de>
Cc:  Peter Zijlstra <a.p.zijlstra@chello.nl>, Ingo Molnar <mingo@kernel.org>, Frederic Weisbecker <fweisbec@gmail.com>, Borislav Petkov <bp@suse.de>, Robert Richter <rric@kernel.org>
Archive-link:  Article, Thread

From: Borislav Petkov <bp@suse.de>

Yeah,

here's a refresh of the persistent events deal, accessing those is much
cleaner now. Here's how:

So kernel code initializes and enables the event at its convenience
(during boot, whenever) and userspace goes and says:

	sys_perf_event_open(pattr,...)

with pattr.persistent = 1. Userspace gets the persistent buffer file
descriptor to read from. Without that, we get a normal perf file
descriptor for the duration of the tracing.

This saves all the diddling of trying to hand down file descriptors
through debugfs or whatever. Instead, current perf code simply can use
it.

This is still RFC but things are starting to fall into place slowly. As
always, any and all comments/suggestions are welcome.

Borislav Petkov (3):
  perf: Add persistent events
  perf: Add persistent event facilities
  MCE: Enable persistent event

 arch/x86/kernel/cpu/mcheck/mce.c |  25 +++++++
 include/linux/perf_event.h       |  14 +++-
 include/uapi/linux/perf_event.h  |   3 +-
 kernel/events/Makefile           |   2 +-
 kernel/events/core.c             |  27 +++++---
 kernel/events/internal.h         |   4 ++
 kernel/events/persistent.c       | 141 +++++++++++++++++++++++++++++++++++++++
 7 files changed, 202 insertions(+), 14 deletions(-)
 create mode 100644 kernel/events/persistent.c

-- 
1.8.1.3.535.ga923c31


Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds