perf counters: clean up 'raw' type API
Impact: cleanup
Introduce a separate hw_event type.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/include/linux/perf_counter.h b/include/linux/perf_counter.h
index 5031b56..daedd7d 100644
--- a/include/linux/perf_counter.h
+++ b/include/linux/perf_counter.h
@@ -38,6 +38,7 @@
* If this bit is set in the type, then trigger NMI sampling:
*/
PERF_COUNT_NMI = (1 << 30),
+ PERF_COUNT_RAW = (1 << 31),
};
/*
@@ -49,6 +50,12 @@
PERF_RECORD_GROUP,
};
+struct perf_counter_event {
+ u32 hw_event_type;
+ u32 hw_event_period;
+ u64 hw_raw_ctrl;
+};
+
/**
* struct hw_perf_counter - performance counter hardware details
*/
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 6cce728..3ecd73d 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -54,6 +54,7 @@
struct compat_timeval;
struct robust_list_head;
struct getcpu_cache;
+struct perf_counter_event;
#include <linux/types.h>
#include <linux/aio_abi.h>
@@ -625,9 +626,6 @@
int kernel_execve(const char *filename, char *const argv[], char *const envp[]);
asmlinkage int
-sys_perf_counter_open(u32 hw_event_type,
- u32 hw_event_period,
- u32 record_type,
- pid_t pid,
- int cpu);
+sys_perf_counter_open(struct perf_counter_event __user *uevent, u32 record_type,
+ pid_t pid, int cpu, int masterfd);
#endif