Skip Ford wrote:
>
> george anzinger wrote:
> >
> > - tvec_base_t *old_base, *new_base;
> > + tvec_base_t *new_base;
> > + IF_SMP( tvec_base_t *old_base;)
>
> Your code doesn't compile. old_base only exists ifdef CONFIG_SMP but
> it's referneced for UP compiles @ timer.c:line 332
>
> if (old_base) {
> list_del(&timer->entry);
> ret = 1;
> }
>
> ifdeffing it out works but I don't know if it's correct. That's one
> ugly function with your patch applied so one more ifdef won't hurt
> (unless it's wrong.)
Yes, it is wrong. This leaves a lot of useless code in the
UP case, but this is what I will use:
--- /usr/src/linux-2.5.46-bk1-core/kernel/timer.c~ Wed Nov
6 10:25:23 2002
+++ /usr/src/linux-2.5.46-bk1-core/kernel/timer.c Wed Nov 6
10:22:02 2002
@@ -279,7 +279,7 @@
#endif
{
tvec_base_t *new_base;
- IF_SMP( tvec_base_t *old_base;)
+ tvec_base_t *old_base;
unsigned long flags;
int ret = 0;
@@ -297,7 +297,6 @@
spin_lock_irqsave(&timer->lock, flags);
new_base = &per_cpu(tvec_bases, smp_processor_id());
-#ifdef CONFIG_SMP
repeat:
old_base = timer->base;
@@ -322,7 +321,6 @@
goto repeat;
}
} else
-#endif
spin_lock(&new_base->lock);
/*
* Delete the previous timeout (if there was any), and
install
>
> --- linux-sk/kernel/timer.c~fix-high-res Wed Nov 6 03:14:30 2002
> +++ linux-sk-jr/kernel/timer.c Wed Nov 6 03:14:30 2002
> @@ -329,10 +329,12 @@ repeat:
> * Delete the previous timeout (if there was any), and install
> * the new one:
> */
> +#ifdef CONFIG_SMP
> if (old_base) {
> list_del(&timer->entry);
> ret = 1;
> }
> +#endif
> timer->expires = expires;
> IF_HIGH_RES(timer->sub_expires = sub_expires);
> internal_add_timer(new_base, timer);
>
> --
> Skip
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
-- George Anzinger george@mvista.com High-res-timers: http://sourceforge.net/projects/high-res-timers/ Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Nov 07 2002 - 22:00:44 EST