diff options
Diffstat (limited to 'kernel/time/timer_list.c')
| -rw-r--r-- | kernel/time/timer_list.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/kernel/time/timer_list.c b/kernel/time/timer_list.c index 1b5b7aa2fdfd..bdfb8dd1050c 100644 --- a/kernel/time/timer_list.c +++ b/kernel/time/timer_list.c | |||
| @@ -84,7 +84,7 @@ print_active_timers(struct seq_file *m, struct hrtimer_clock_base *base, | |||
| 84 | 84 | ||
| 85 | next_one: | 85 | next_one: |
| 86 | i = 0; | 86 | i = 0; |
| 87 | spin_lock_irqsave(&base->cpu_base->lock, flags); | 87 | raw_spin_lock_irqsave(&base->cpu_base->lock, flags); |
| 88 | 88 | ||
| 89 | curr = base->first; | 89 | curr = base->first; |
| 90 | /* | 90 | /* |
| @@ -100,13 +100,13 @@ next_one: | |||
| 100 | 100 | ||
| 101 | timer = rb_entry(curr, struct hrtimer, node); | 101 | timer = rb_entry(curr, struct hrtimer, node); |
| 102 | tmp = *timer; | 102 | tmp = *timer; |
| 103 | spin_unlock_irqrestore(&base->cpu_base->lock, flags); | 103 | raw_spin_unlock_irqrestore(&base->cpu_base->lock, flags); |
| 104 | 104 | ||
| 105 | print_timer(m, timer, &tmp, i, now); | 105 | print_timer(m, timer, &tmp, i, now); |
| 106 | next++; | 106 | next++; |
| 107 | goto next_one; | 107 | goto next_one; |
| 108 | } | 108 | } |
| 109 | spin_unlock_irqrestore(&base->cpu_base->lock, flags); | 109 | raw_spin_unlock_irqrestore(&base->cpu_base->lock, flags); |
| 110 | } | 110 | } |
| 111 | 111 | ||
| 112 | static void | 112 | static void |
| @@ -150,6 +150,9 @@ static void print_cpu(struct seq_file *m, int cpu, u64 now) | |||
| 150 | P_ns(expires_next); | 150 | P_ns(expires_next); |
| 151 | P(hres_active); | 151 | P(hres_active); |
| 152 | P(nr_events); | 152 | P(nr_events); |
| 153 | P(nr_retries); | ||
| 154 | P(nr_hangs); | ||
| 155 | P_ns(max_hang_time); | ||
| 153 | #endif | 156 | #endif |
| 154 | #undef P | 157 | #undef P |
| 155 | #undef P_ns | 158 | #undef P_ns |
| @@ -204,10 +207,12 @@ print_tickdevice(struct seq_file *m, struct tick_device *td, int cpu) | |||
| 204 | return; | 207 | return; |
| 205 | } | 208 | } |
| 206 | SEQ_printf(m, "%s\n", dev->name); | 209 | SEQ_printf(m, "%s\n", dev->name); |
| 207 | SEQ_printf(m, " max_delta_ns: %lu\n", dev->max_delta_ns); | 210 | SEQ_printf(m, " max_delta_ns: %llu\n", |
| 208 | SEQ_printf(m, " min_delta_ns: %lu\n", dev->min_delta_ns); | 211 | (unsigned long long) dev->max_delta_ns); |
| 209 | SEQ_printf(m, " mult: %lu\n", dev->mult); | 212 | SEQ_printf(m, " min_delta_ns: %llu\n", |
| 210 | SEQ_printf(m, " shift: %d\n", dev->shift); | 213 | (unsigned long long) dev->min_delta_ns); |
| 214 | SEQ_printf(m, " mult: %u\n", dev->mult); | ||
| 215 | SEQ_printf(m, " shift: %u\n", dev->shift); | ||
| 211 | SEQ_printf(m, " mode: %d\n", dev->mode); | 216 | SEQ_printf(m, " mode: %d\n", dev->mode); |
| 212 | SEQ_printf(m, " next_event: %Ld nsecs\n", | 217 | SEQ_printf(m, " next_event: %Ld nsecs\n", |
| 213 | (unsigned long long) ktime_to_ns(dev->next_event)); | 218 | (unsigned long long) ktime_to_ns(dev->next_event)); |
| @@ -232,10 +237,10 @@ static void timer_list_show_tickdevices(struct seq_file *m) | |||
| 232 | #ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST | 237 | #ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST |
| 233 | print_tickdevice(m, tick_get_broadcast_device(), -1); | 238 | print_tickdevice(m, tick_get_broadcast_device(), -1); |
| 234 | SEQ_printf(m, "tick_broadcast_mask: %08lx\n", | 239 | SEQ_printf(m, "tick_broadcast_mask: %08lx\n", |
| 235 | tick_get_broadcast_mask()->bits[0]); | 240 | cpumask_bits(tick_get_broadcast_mask())[0]); |
| 236 | #ifdef CONFIG_TICK_ONESHOT | 241 | #ifdef CONFIG_TICK_ONESHOT |
| 237 | SEQ_printf(m, "tick_broadcast_oneshot_mask: %08lx\n", | 242 | SEQ_printf(m, "tick_broadcast_oneshot_mask: %08lx\n", |
| 238 | tick_get_broadcast_oneshot_mask()->bits[0]); | 243 | cpumask_bits(tick_get_broadcast_oneshot_mask())[0]); |
| 239 | #endif | 244 | #endif |
| 240 | SEQ_printf(m, "\n"); | 245 | SEQ_printf(m, "\n"); |
| 241 | #endif | 246 | #endif |
| @@ -252,7 +257,7 @@ static int timer_list_show(struct seq_file *m, void *v) | |||
| 252 | u64 now = ktime_to_ns(ktime_get()); | 257 | u64 now = ktime_to_ns(ktime_get()); |
| 253 | int cpu; | 258 | int cpu; |
| 254 | 259 | ||
| 255 | SEQ_printf(m, "Timer List Version: v0.4\n"); | 260 | SEQ_printf(m, "Timer List Version: v0.5\n"); |
| 256 | SEQ_printf(m, "HRTIMER_MAX_CLOCK_BASES: %d\n", HRTIMER_MAX_CLOCK_BASES); | 261 | SEQ_printf(m, "HRTIMER_MAX_CLOCK_BASES: %d\n", HRTIMER_MAX_CLOCK_BASES); |
| 257 | SEQ_printf(m, "now at %Ld nsecs\n", (unsigned long long)now); | 262 | SEQ_printf(m, "now at %Ld nsecs\n", (unsigned long long)now); |
| 258 | 263 | ||
