From: Cyrill Gorcunov <gorcunov@openvz.org>
To: Ingo Molnar <mingo@elte.hu>, LKML <linux-kernel@vger.kernel.org>
Cc: ming.m.lin@intel.com, eranian@google.com, peterz@infradead.org,
Cyrill Gorcunov <gorcunov@openvz.org>
Subject: [rfc 3/3] perf, x86: P4 PMU -- export ABI part of event config to userspace
Date: Wed, 24 Nov 2010 01:46:04 +0300 [thread overview]
Message-ID: <20101123224800.658686382@openvz.org> (raw)
In-Reply-To: 20101123224601.766827604@openvz.org
[-- Attachment #1: x86-perf-export-abi --]
[-- Type: text/plain, Size: 2071 bytes --]
Due to tight 64 bit size of event config field (where we have to track
pretty lot of info during event lifetime) some bits are to be exported
via header into userspace.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
CC: Lin Ming <ming.m.lin@intel.com>
CC: Stephane Eranian <eranian@google.com>
CC: Peter Zijlstra <peterz@infradead.org>
---
Note that I don't like much the idea to export anything into userspace
but it seems there is no other choise. So there is a minimum which should
be exported.
arch/x86/include/asm/Kbuild | 1 +
arch/x86/include/asm/perf_event_p4.h | 8 ++++++++
2 files changed, 9 insertions(+)
Index: linux-2.6.git/arch/x86/include/asm/Kbuild
=====================================================================
--- linux-2.6.git.orig/arch/x86/include/asm/Kbuild
+++ linux-2.6.git/arch/x86/include/asm/Kbuild
@@ -23,3 +23,4 @@ header-y += unistd_32.h
header-y += unistd_64.h
header-y += vm86.h
header-y += vsyscall.h
+header-y += perf_event_p4.h
Index: linux-2.6.git/arch/x86/include/asm/perf_event_p4.h
=====================================================================
--- linux-2.6.git.orig/arch/x86/include/asm/perf_event_p4.h
+++ linux-2.6.git/arch/x86/include/asm/perf_event_p4.h
@@ -5,6 +5,8 @@
#ifndef PERF_EVENT_P4_H
#define PERF_EVENT_P4_H
+#ifdef __KERNEL__
+
#include <linux/cpu.h>
#include <linux/bitops.h>
@@ -201,6 +203,8 @@ static inline u32 p4_default_escr_conf(i
return escr;
}
+#endif /* __KERNEL__ */
+
/*
* This are the events which should be used in "Event Select"
* field of ESCR register, they are like unique keys which allow
@@ -256,6 +260,8 @@ enum P4_EVENTS {
P4_EVENT_INSTR_COMPLETED,
};
+#ifdef __KERNEL__
+
#define P4_OPCODE(event) event##_OPCODE
#define P4_OPCODE_ESEL(opcode) ((opcode & 0x00ff) >> 0)
#define P4_OPCODE_EVNT(opcode) ((opcode & 0xff00) >> 8)
@@ -767,6 +773,8 @@ enum P4_ESCR_EMASKS {
#define p4_config_pebs_has(v, mask) (p4_config_unpack_pebs(v) & (mask))
+#endif /* __KERNEL__ */
+
enum P4_PEBS_METRIC {
P4_PEBS_METRIC__none,
next prev parent reply other threads:[~2010-11-23 22:48 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-23 22:46 [rfc 0/3] perf,x86: p4 pmu series Cyrill Gorcunov
2010-11-23 22:46 ` [rfc 1/3] perf, x86: P4 PMU - describe config format Cyrill Gorcunov
2010-11-26 10:57 ` Stephane Eranian
2010-11-26 11:14 ` Cyrill Gorcunov
2010-11-26 11:32 ` Cyrill Gorcunov
2010-11-26 11:35 ` Stephane Eranian
2010-11-26 11:58 ` Cyrill Gorcunov
2010-11-26 12:46 ` Stephane Eranian
2010-11-26 13:04 ` Cyrill Gorcunov
2010-11-26 13:06 ` Peter Zijlstra
2010-11-26 13:47 ` Cyrill Gorcunov
2010-11-26 13:10 ` Stephane Eranian
2010-11-26 13:50 ` Cyrill Gorcunov
2010-11-26 13:54 ` Stephane Eranian
2010-11-26 15:27 ` Cyrill Gorcunov
2010-11-26 16:22 ` Stephane Eranian
2010-11-26 17:16 ` Cyrill Gorcunov
2010-11-26 18:05 ` Stephane Eranian
2010-11-26 20:11 ` Cyrill Gorcunov
2010-11-26 12:48 ` Stephane Eranian
2010-11-26 12:59 ` Peter Zijlstra
2010-11-26 13:07 ` Stephane Eranian
2010-11-26 13:07 ` Cyrill Gorcunov
2010-11-23 22:46 ` [rfc 2/3] perf, x86: P4 PMU - Fix unflagged overflows handling v4 Cyrill Gorcunov
2010-11-23 22:46 ` Cyrill Gorcunov [this message]
2010-11-24 8:32 ` [rfc 3/3] perf, x86: P4 PMU -- export ABI part of event config to userspace Peter Zijlstra
2010-11-24 8:48 ` Cyrill Gorcunov
2010-11-24 9:02 ` Peter Zijlstra
2010-11-24 9:39 ` Cyrill Gorcunov
2010-11-24 11:46 ` Cyrill Gorcunov
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=20101123224800.658686382@openvz.org \
--to=gorcunov@openvz.org \
--cc=eranian@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ming.m.lin@intel.com \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
/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