Re: 2.6.18-rt1

Thomas Gleixner
2006-09-20T19:19:12Z

On Wed, 2006-09-20 at 20:47 +0200, Thomas Gleixner wrote:
> On Wed, 2006-09-20 at 14:36 -0400, Gene Heskett wrote:
> > That looks like the chorus of the song I saw when it crashed on boot,
> > pretty darned close to identical.
>
> I can reproduce it. It happens when CONFIG_HIGH_RES_TIMERS is off.
> Looking into it right now.

Fix below.

tglx

Index: linux-2.6.18/kernel/hrtimer.c
===================================================================
--- linux-2.6.18.orig/kernel/hrtimer.c 2006-09-20 19:10:05.000000000 +0200
+++ linux-2.6.18/kernel/hrtimer.c 2006-09-20 21:11:26.000000000 +0200
@@ -873,9 +873,6 @@ static inline void hrtimer_init_hres(str
set_bit(0, &base->check_clocks);
base->hres_active = 0;
hrtimer_init_base_cb_pending(base);
-#ifdef CONFIG_PREEMPT_SOFTIRQS
- init_waitqueue_head(&base->wait);
-#endif
}

static inline int hrtimer_enqueue_reprogram(struct hrtimer *timer,
@@ -1643,6 +1640,9 @@ static void __devinit init_hrtimers_cpu(
cpu_base->clock_base[i].cpu_base = cpu_base;

hrtimer_init_hres(cpu_base);
+#ifdef CONFIG_PREEMPT_SOFTIRQS
+ init_waitqueue_head(&cpu_base->wait);
+#endif
}

#ifdef CONFIG_HOTPLUG_CPU