linux-2.6.0-test6 error during linking
Hello,
I successfully compiled all linux-2.6.0-testx before test6 on RH7.2
Alpha APX platform
Applied patch-2.6.0-test6 I receive the following error:
[root@alpha linux-2.6.0-test6]# make
make[1]: `arch/alpha/kernel/asm-offsets.s' is up to date.
CHK include/linux/compile.h GEN .version CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o LD init/built-in.o LD .tmp_vmlinux1
kernel/built-in.o(.text+0x480): In function `try_to_wake_up':
: undefined reference to sched_clock' kernel/built-in.o(.text+0x484): In function try_to_wake_up':
: undefined reference to sched_clock' kernel/built-in.o(.text+0x140c): In function schedule':
: undefined reference to sched_clock' kernel/built-in.o(.text+0x1410): In function schedule':
: undefined reference to sched_clock' kernel/built-in.o(.text+0x5068): In function copy_process':
: undefined reference to sched_clock' kernel/built-in.o(.text+0x506c): more undefined references to sched_clock' follow
make: *** [.tmp_vmlinux1] Error 1
Do you have some suggestions?
Bye
Quoted 6 lines · Paolo Dovera
Applied patch-2.6.0-test6 I receive the following error:
kernel/built-in.o(.text+0x5068): In function `copy_process':
: undefined reference tosched_clock' kernel/built-in.o(.text+0x506c): more undefined references tosched_clock' follow
sched_clock is not implemented yet for Alpha. It is supposed to return a high resolution timer. As workaround, you could just copy the implementation from ARM, which simply returns the value based on jiffies. Ideally, one would take into account the cycle counter, but it wraps every few seconds, which has to be taken care of.
Signature · 1 line
Falk
Quoted 6 lines · Falk Hueffner
Quoted 5 lines · Paolo Dovera
Applied patch-2.6.0-test6 I receive the following error:
kernel/built-in.o(.text+0x5068): In function `copy_process':
: undefined reference to `sched_clock'
Quoted 8 lines
Quoted 2 lines
kernel/built-in.o(.text+0x506c): more undefined references to `sched_clock' follow
sched_clockis not implemented yet for Alpha. It is supposed to return a high resolution timer. As workaround, you could just copy the implementation from ARM, which simply returns the value based on jiffies. Ideally, one would take into account the cycle counter, but it wraps every few seconds, which has to be taken care of.
Can post here a patch based on arm ?
I am courious to see it !
Eventualy post it on linux kernel list or to Richard Henderson ?
Thx a lot !
Quoted 9 lines · Balint Cristian
Quoted 6 lines · Falk Hueffner
sched_clockis not implemented yet for Alpha. It is supposed to return a high resolution timer. As workaround, you could just copy the implementation from ARM, which simply returns the value based on jiffies. Ideally, one would take into account the cycle counter, but it wraps every few seconds, which has to be taken care of.Can post here a patch based on arm ?
Well, just copy the function:
alpha/kernel/time.c 2003-09-28 13:39:58.000000000 +0200 renamed from alpha/kernel/time.c~ 2003-09-28 02:50:20.000000000 +0200 +9 -0
@@ -570,3 +570,12 @@ return retval; } + +/* + * Scheduler clock - returns current time in nanosec units. + * Should probably take rpcc into account for improved resolution + */ +unsigned long long sched_clock(void) +{ + return (unsigned long long) jiffies * (1000000000 / HZ); +}
I've not tested this, it should work, but probably scheduling behaviour will not be as good as it could be, although HZ being 1000 (or larger) on Alpha should help.
Quoted 1 line
Eventualy post it on linux kernel list or to Richard Henderson ?
Not without testing it, and I have no time for that currently.
Signature · 1 line
Falk
Quoted 10 lines · Falk Hueffner
Quoted 9 lines · Balint Cristian
Quoted 6 lines · Falk Hueffner
sched_clockis not implemented yet for Alpha. It is supposed to return a high resolution timer. As workaround, you could just copy the implementation from ARM, which simply returns the value based on jiffies. Ideally, one would take into account the cycle counter, but it wraps every few seconds, which has to be taken care of.Can post here a patch based on arm ?
Thx a lot !
I test it today on an miata machine, i tell the result on that list.
Quoted 26 lines
Well, just copy the function:
alpha/kernel/time.c 2003-09-28 13:39:58.000000000 +0200 renamed from alpha/kernel/time.c~ 2003-09-28 02:50:20.000000000 +0200 +9
-0@@ -570,3 +570,12 @@ return retval; } + +/* + * Scheduler clock - returns current time in nanosec units. + * Should probably take rpcc into account for improved resolution + */ +unsigned long long sched_clock(void) +{ + return (unsigned long long) jiffies * (1000000000 / HZ); +}I've not tested this, it should work, but probably scheduling behaviour will not be as good as it could be, although HZ being 1000 (or larger) on Alpha should help.
Quoted 1 line
Eventualy post it on linux kernel list or to Richard Henderson ?
Not without testing it, and I have no time for that currently.
Thanks^2 to you!
It works fine
I'm trying 2.6.0-test6 on Tsunami Alpha platform
Ciao,
Paolo
Quoted 50 lines · Falk Hueffner
Quoted 11 lines · Balint Cristian
Quoted 8 lines · Falk Hueffner
sched_clockis not implemented yet for Alpha. It is supposed to return a high resolution timer. As workaround, you could just copy the implementation from ARM, which simply returns the value based on jiffies. Ideally, one would take into account the cycle counter, but it wraps every few seconds, which has to be taken care of.Quoted 3 lines
Can post here a patch based on arm ?
Well, just copy the function:
alpha/kernel/time.c 2003-09-28 13:39:58.000000000 +0200 renamed from alpha/kernel/time.c~ 2003-09-28 02:50:20.000000000 +0200 +9
-0@@ -570,3 +570,12 @@ return retval; } + +/* + * Scheduler clock - returns current time in nanosec units. + * Should probably take rpcc into account for improved resolution + */ +unsigned long long sched_clock(void) +{ + return (unsigned long long) jiffies * (1000000000 / HZ); +}I've not tested this, it should work, but probably scheduling behaviour will not be as good as it could be, although HZ being 1000 (or larger) on Alpha should help.
Quoted 3 lines
Eventualy post it on linux kernel list or to Richard Henderson ?
Not without testing it, and I have no time for that currently.
Quoted 18 lines · Falk Hueffner
Quoted 10 lines
Quoted 7 lines · Paolo Dovera
Applied patch-2.6.0-test6 I receive the following error:
kernel/built-in.o(.text+0x5068): In function `copy_process':
: undefined reference to `sched_clock'kernel/built-in.o(.text+0x506c): more undefined references to `sched_clock' follow
sched_clockis not implemented yet for Alpha. It issupposed to return
Quoted 3 lines
a high resolution timer. As workaround, you could just copy the implementation from ARM, which simply returns the value based on jiffies. Ideally, one would take into account the cycle
counter, but
Quoted 1 line
it wraps every few seconds, which has to be taken care of.
Quoted 7 lines
Can post here a patch based on arm ?
I am courious to see it !
Eventualy post it on linux kernel list or to Richard Henderson ?
Thx a lot !
Please take a look at the LKML. I had the same problem with -test6 and viro already posted a workaround!
Best,
Oliver