2005-09-20 01:05:54

by Fernando Lopez-Lezcano

[permalink] [raw]
Subject: 2.6.13-rt14 fails to build (smp)

Hi Ingo, just hit this problem trying to build rt14, this is on the SMP
build, with
# CONFIG_HIGH_RES_TIMERS is not set
Find the .config I used attached...

kernel/ktimers.c: In function 'migrate_ktimer_list':
kernel/ktimers.c:864: error: 'struct ktimer_base' has no member named
'root'
kernel/ktimers.c:865: error: 'struct ktimer' has no member named 'tnode'
kernel/ktimers.c:865: warning: type defaults to 'int' in declaration of
'__mptr'kernel/ktimers.c:865: warning: initialization from incompatible
pointer type
kernel/ktimers.c:865: error: 'struct ktimer' has no member named 'tnode'
kernel/ktimers.c:868: error: too few arguments to function
'enqueue_ktimer'
make[1]: *** [kernel/ktimers.o] Error 1
make: *** [kernel] Error 2
make: *** Waiting for unfinished jobs....
error: Bad exit status from /var/tmp/rpm-tmp.17509 (%build)

-- Fernando


Attachments:
.config (56.90 kB)

2005-09-20 06:26:12

by Thomas Gleixner

[permalink] [raw]
Subject: Re: 2.6.13-rt14 fails to build (smp)

On Mon, 2005-09-19 at 18:05 -0700, Fernando Lopez-Lezcano wrote:
> Hi Ingo, just hit this problem trying to build rt14, this is on the SMP
> build, with
> # CONFIG_HIGH_RES_TIMERS is not set
> Find the .config I used attached...
>
> kernel/ktimers.c: In function 'migrate_ktimer_list':

Uuurg. HOTPLUG_CPU

tglx

Index: linux-2.6.13-rt12/kernel/ktimers.c
===================================================================
--- linux-2.6.13-rt12.orig/kernel/ktimers.c
+++ linux-2.6.13-rt12/kernel/ktimers.c
@@ -865,11 +865,11 @@ static void migrate_ktimer_list(struct k
struct ktimer *timer;
struct rb_node *node;

- while ((node = rb_first(&old_base->root))) {
- timer = rb_entry(node, struct ktimer, tnode);
+ while ((node = rb_first(&old_base->active))) {
+ timer = rb_entry(node, struct ktimer, node);
remove_ktimer(timer, old_base);
timer->base = new_base;
- enqueue_ktimer(timer, new_base, NULL);
+ enqueue_ktimer(timer, new_base, NULL, KTIMER_RESTART);
}
}



2005-09-20 20:34:37

by Fernando Lopez-Lezcano

[permalink] [raw]
Subject: Re: 2.6.13-rt14 fails to build (smp)

On Tue, 2005-09-20 at 08:26 +0200, Thomas Gleixner wrote:
> On Mon, 2005-09-19 at 18:05 -0700, Fernando Lopez-Lezcano wrote:
> > Hi Ingo, just hit this problem trying to build rt14, this is on the SMP
> > build, with
> > # CONFIG_HIGH_RES_TIMERS is not set
> > Find the .config I used attached...
> >
> > kernel/ktimers.c: In function 'migrate_ktimer_list':
>
> Uuurg. HOTPLUG_CPU
>
> tglx
>
> Index: linux-2.6.13-rt12/kernel/ktimers.c
> ===================================================================
> --- linux-2.6.13-rt12.orig/kernel/ktimers.c
> +++ linux-2.6.13-rt12/kernel/ktimers.c
> @@ -865,11 +865,11 @@ static void migrate_ktimer_list(struct k
> struct ktimer *timer;
> struct rb_node *node;
>
> - while ((node = rb_first(&old_base->root))) {
> - timer = rb_entry(node, struct ktimer, tnode);
> + while ((node = rb_first(&old_base->active))) {
> + timer = rb_entry(node, struct ktimer, node);
> remove_ktimer(timer, old_base);
> timer->base = new_base;
> - enqueue_ktimer(timer, new_base, NULL);
> + enqueue_ktimer(timer, new_base, NULL, KTIMER_RESTART);
> }
> }

Compiles with the patch, thanks!
But depmod complains:

WARNING: /lib/modules/2.6.13-0.3.rdt.rhfc4.ccrmasmp/kernel/drivers/char/hangcheck-timer.ko needs unknown symbol monotonic_clock

-- Fernando