diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2010-09-17 05:28:50 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-09-17 06:48:48 -0400 |
commit | e9d2b064149ff7ef4acbc65a1b9374ac8b218d3e (patch) | |
tree | 6ce885c6052a6e05046b9937376107e4bcf378fe /include/linux/perf_event.h | |
parent | 917bdd1c9b7b0f4c22f2504c2f0c1074c8ab9df7 (diff) |
perf: Undo the per cpu-context timer stuff
Revert the timer per cpu-context timers because of unfortunate
nohz interaction. Fixing that would have been somewhat ugly, so
go back to driving things from the regular tick. Provide a
jiffies interval feature for people who want slower rotations.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Cc: Robert Richter <robert.richter@amd.com>
Cc: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <20100917093009.519845633@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/perf_event.h')
-rw-r--r-- | include/linux/perf_event.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 165287fd2cc4..61b1e2d760fd 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h | |||
@@ -870,8 +870,8 @@ struct perf_cpu_context { | |||
870 | struct perf_event_context *task_ctx; | 870 | struct perf_event_context *task_ctx; |
871 | int active_oncpu; | 871 | int active_oncpu; |
872 | int exclusive; | 872 | int exclusive; |
873 | u64 timer_interval; | 873 | struct list_head rotation_list; |
874 | struct hrtimer timer; | 874 | int jiffies_interval; |
875 | }; | 875 | }; |
876 | 876 | ||
877 | struct perf_output_handle { | 877 | struct perf_output_handle { |
@@ -1065,6 +1065,7 @@ extern int perf_swevent_get_recursion_context(void); | |||
1065 | extern void perf_swevent_put_recursion_context(int rctx); | 1065 | extern void perf_swevent_put_recursion_context(int rctx); |
1066 | extern void perf_event_enable(struct perf_event *event); | 1066 | extern void perf_event_enable(struct perf_event *event); |
1067 | extern void perf_event_disable(struct perf_event *event); | 1067 | extern void perf_event_disable(struct perf_event *event); |
1068 | extern void perf_event_task_tick(void); | ||
1068 | #else | 1069 | #else |
1069 | static inline void | 1070 | static inline void |
1070 | perf_event_task_sched_in(struct task_struct *task) { } | 1071 | perf_event_task_sched_in(struct task_struct *task) { } |
@@ -1099,6 +1100,7 @@ static inline int perf_swevent_get_recursion_context(void) { return -1; } | |||
1099 | static inline void perf_swevent_put_recursion_context(int rctx) { } | 1100 | static inline void perf_swevent_put_recursion_context(int rctx) { } |
1100 | static inline void perf_event_enable(struct perf_event *event) { } | 1101 | static inline void perf_event_enable(struct perf_event *event) { } |
1101 | static inline void perf_event_disable(struct perf_event *event) { } | 1102 | static inline void perf_event_disable(struct perf_event *event) { } |
1103 | static inline void perf_event_task_tick(void) { } | ||
1102 | #endif | 1104 | #endif |
1103 | 1105 | ||
1104 | #define perf_output_put(handle, x) \ | 1106 | #define perf_output_put(handle, x) \ |