diff options
| author | Andrew Morton <akpm@osdl.org> | 2005-10-30 18:02:03 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-30 20:37:18 -0500 |
| commit | dfc4f94d2ff95fc92127d3e512c1df7cab274fb8 (patch) | |
| tree | c9ed4d74147a3674816f59cf9fbeb69e2cb6afe4 /kernel/timer.c | |
| parent | 89ada67917f516212452443a56b9fd3b65b74dc7 (diff) | |
[PATCH] remove timer debug field
Remove timer_list.magic and associated debugging code.
I originally added this when a spinlock was added to timer_list - this meant
that an all-zeroes timer became illegal and init_timer() was required.
That spinlock isn't even there any more, although timer.base must now be
initialised.
I'll keep this debugging code in -mm.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/timer.c')
| -rw-r--r-- | kernel/timer.c | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/kernel/timer.c b/kernel/timer.c index cc18857601..562d53eabb 100644 --- a/kernel/timer.c +++ b/kernel/timer.c | |||
| @@ -91,30 +91,6 @@ static inline void set_running_timer(tvec_base_t *base, | |||
| 91 | #endif | 91 | #endif |
| 92 | } | 92 | } |
| 93 | 93 | ||
| 94 | static void check_timer_failed(struct timer_list *timer) | ||
| 95 | { | ||
| 96 | static int whine_count; | ||
| 97 | if (whine_count < 16) { | ||
| 98 | whine_count++; | ||
| 99 | printk("Uninitialised timer!\n"); | ||
| 100 | printk("This is just a warning. Your computer is OK\n"); | ||
| 101 | printk("function=0x%p, data=0x%lx\n", | ||
| 102 | timer->function, timer->data); | ||
| 103 | dump_stack(); | ||
| 104 | } | ||
| 105 | /* | ||
| 106 | * Now fix it up | ||
| 107 | */ | ||
| 108 | timer->magic = TIMER_MAGIC; | ||
| 109 | } | ||
| 110 | |||
| 111 | static inline void check_timer(struct timer_list *timer) | ||
| 112 | { | ||
| 113 | if (timer->magic != TIMER_MAGIC) | ||
| 114 | check_timer_failed(timer); | ||
| 115 | } | ||
| 116 | |||
| 117 | |||
| 118 | static void internal_add_timer(tvec_base_t *base, struct timer_list *timer) | 94 | static void internal_add_timer(tvec_base_t *base, struct timer_list *timer) |
| 119 | { | 95 | { |
| 120 | unsigned long expires = timer->expires; | 96 | unsigned long expires = timer->expires; |
| @@ -177,7 +153,6 @@ void fastcall init_timer(struct timer_list *timer) | |||
| 177 | { | 153 | { |
| 178 | timer->entry.next = NULL; | 154 | timer->entry.next = NULL; |
| 179 | timer->base = &per_cpu(tvec_bases, raw_smp_processor_id()).t_base; | 155 | timer->base = &per_cpu(tvec_bases, raw_smp_processor_id()).t_base; |
| 180 | timer->magic = TIMER_MAGIC; | ||
| 181 | } | 156 | } |
| 182 | EXPORT_SYMBOL(init_timer); | 157 | EXPORT_SYMBOL(init_timer); |
| 183 | 158 | ||
| @@ -230,7 +205,6 @@ int __mod_timer(struct timer_list *timer, unsigned long expires) | |||
| 230 | int ret = 0; | 205 | int ret = 0; |
| 231 | 206 | ||
| 232 | BUG_ON(!timer->function); | 207 | BUG_ON(!timer->function); |
| 233 | check_timer(timer); | ||
| 234 | 208 | ||
| 235 | base = lock_timer_base(timer, &flags); | 209 | base = lock_timer_base(timer, &flags); |
| 236 | 210 | ||
| @@ -283,9 +257,6 @@ void add_timer_on(struct timer_list *timer, int cpu) | |||
| 283 | unsigned long flags; | 257 | unsigned long flags; |
| 284 | 258 | ||
| 285 | BUG_ON(timer_pending(timer) || !timer->function); | 259 | BUG_ON(timer_pending(timer) || !timer->function); |
| 286 | |||
| 287 | check_timer(timer); | ||
| 288 | |||
| 289 | spin_lock_irqsave(&base->t_base.lock, flags); | 260 | spin_lock_irqsave(&base->t_base.lock, flags); |
| 290 | timer->base = &base->t_base; | 261 | timer->base = &base->t_base; |
| 291 | internal_add_timer(base, timer); | 262 | internal_add_timer(base, timer); |
| @@ -316,8 +287,6 @@ int mod_timer(struct timer_list *timer, unsigned long expires) | |||
| 316 | { | 287 | { |
| 317 | BUG_ON(!timer->function); | 288 | BUG_ON(!timer->function); |
| 318 | 289 | ||
| 319 | check_timer(timer); | ||
| 320 | |||
| 321 | /* | 290 | /* |
| 322 | * This is a common optimization triggered by the | 291 | * This is a common optimization triggered by the |
| 323 | * networking code - if the timer is re-modified | 292 | * networking code - if the timer is re-modified |
| @@ -348,8 +317,6 @@ int del_timer(struct timer_list *timer) | |||
| 348 | unsigned long flags; | 317 | unsigned long flags; |
| 349 | int ret = 0; | 318 | int ret = 0; |
| 350 | 319 | ||
| 351 | check_timer(timer); | ||
| 352 | |||
| 353 | if (timer_pending(timer)) { | 320 | if (timer_pending(timer)) { |
| 354 | base = lock_timer_base(timer, &flags); | 321 | base = lock_timer_base(timer, &flags); |
| 355 | if (timer_pending(timer)) { | 322 | if (timer_pending(timer)) { |
| @@ -412,8 +379,6 @@ out: | |||
| 412 | */ | 379 | */ |
| 413 | int del_timer_sync(struct timer_list *timer) | 380 | int del_timer_sync(struct timer_list *timer) |
| 414 | { | 381 | { |
| 415 | check_timer(timer); | ||
| 416 | |||
| 417 | for (;;) { | 382 | for (;;) { |
| 418 | int ret = try_to_del_timer_sync(timer); | 383 | int ret = try_to_del_timer_sync(timer); |
| 419 | if (ret >= 0) | 384 | if (ret >= 0) |
