Messages in this thread Patch in this message | | | Date | Wed, 06 Nov 2002 10:29:14 -0800 | From | george anzinger <> | Subject | Re: [PATCH 1/3] High-res-timers part 1 (core) take 13 |
| |
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/
| |