diff options
Diffstat (limited to 'drivers/oprofile')
-rw-r--r-- | drivers/oprofile/oprof.c | 7 | ||||
-rw-r--r-- | drivers/oprofile/oprofile_stats.c | 9 | ||||
-rw-r--r-- | drivers/oprofile/oprofile_stats.h | 1 |
3 files changed, 8 insertions, 9 deletions
diff --git a/drivers/oprofile/oprof.c b/drivers/oprofile/oprof.c index a48294a8ebe8..dc8a0428260d 100644 --- a/drivers/oprofile/oprof.c +++ b/drivers/oprofile/oprof.c | |||
@@ -107,8 +107,11 @@ static void stop_switch_worker(void) | |||
107 | 107 | ||
108 | static void switch_worker(struct work_struct *work) | 108 | static void switch_worker(struct work_struct *work) |
109 | { | 109 | { |
110 | if (!oprofile_ops.switch_events()) | 110 | if (oprofile_ops.switch_events()) |
111 | start_switch_worker(); | 111 | return; |
112 | |||
113 | atomic_inc(&oprofile_stats.multiplex_counter); | ||
114 | start_switch_worker(); | ||
112 | } | 115 | } |
113 | 116 | ||
114 | /* User inputs in ms, converts to jiffies */ | 117 | /* User inputs in ms, converts to jiffies */ |
diff --git a/drivers/oprofile/oprofile_stats.c b/drivers/oprofile/oprofile_stats.c index 77a57a6792f6..61689e814d46 100644 --- a/drivers/oprofile/oprofile_stats.c +++ b/drivers/oprofile/oprofile_stats.c | |||
@@ -16,9 +16,6 @@ | |||
16 | #include "cpu_buffer.h" | 16 | #include "cpu_buffer.h" |
17 | 17 | ||
18 | struct oprofile_stat_struct oprofile_stats; | 18 | struct oprofile_stat_struct oprofile_stats; |
19 | #ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX | ||
20 | atomic_t multiplex_counter; | ||
21 | #endif | ||
22 | 19 | ||
23 | void oprofile_reset_stats(void) | 20 | void oprofile_reset_stats(void) |
24 | { | 21 | { |
@@ -37,9 +34,7 @@ void oprofile_reset_stats(void) | |||
37 | atomic_set(&oprofile_stats.sample_lost_no_mapping, 0); | 34 | atomic_set(&oprofile_stats.sample_lost_no_mapping, 0); |
38 | atomic_set(&oprofile_stats.event_lost_overflow, 0); | 35 | atomic_set(&oprofile_stats.event_lost_overflow, 0); |
39 | atomic_set(&oprofile_stats.bt_lost_no_mapping, 0); | 36 | atomic_set(&oprofile_stats.bt_lost_no_mapping, 0); |
40 | #ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX | 37 | atomic_set(&oprofile_stats.multiplex_counter, 0); |
41 | atomic_set(&multiplex_counter, 0); | ||
42 | #endif | ||
43 | } | 38 | } |
44 | 39 | ||
45 | 40 | ||
@@ -84,6 +79,6 @@ void oprofile_create_stats_files(struct super_block *sb, struct dentry *root) | |||
84 | &oprofile_stats.bt_lost_no_mapping); | 79 | &oprofile_stats.bt_lost_no_mapping); |
85 | #ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX | 80 | #ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX |
86 | oprofilefs_create_ro_atomic(sb, dir, "multiplex_counter", | 81 | oprofilefs_create_ro_atomic(sb, dir, "multiplex_counter", |
87 | &multiplex_counter); | 82 | &oprofile_stats.multiplex_counter); |
88 | #endif | 83 | #endif |
89 | } | 84 | } |
diff --git a/drivers/oprofile/oprofile_stats.h b/drivers/oprofile/oprofile_stats.h index 3da0d08dc1f9..0b54e46c3c14 100644 --- a/drivers/oprofile/oprofile_stats.h +++ b/drivers/oprofile/oprofile_stats.h | |||
@@ -17,6 +17,7 @@ struct oprofile_stat_struct { | |||
17 | atomic_t sample_lost_no_mapping; | 17 | atomic_t sample_lost_no_mapping; |
18 | atomic_t bt_lost_no_mapping; | 18 | atomic_t bt_lost_no_mapping; |
19 | atomic_t event_lost_overflow; | 19 | atomic_t event_lost_overflow; |
20 | atomic_t multiplex_counter; | ||
20 | }; | 21 | }; |
21 | 22 | ||
22 | extern struct oprofile_stat_struct oprofile_stats; | 23 | extern struct oprofile_stat_struct oprofile_stats; |