2.4.21 Isn't working for me....
Hello list...
I'm trying to get some cpu frequency control over my laptop's CPU with the 2.4.21 kernel. I'd just jump to 2.6.0-test4, but have a few pieces of hardware that don't have drivers available for the test kernel yet.
I downloaded the versions for 2.4 dated August 24th, 25th, and also the 26th. The ones from the 24th and 25th give the results below, the 26th errors out during patching.
Is there a different version I should use? Any solution to the below? Am I totally SOL? :-)
I enabled cpufreq under processor options, enabling the P4 one built-in (not as a module). make bzImage spits forth the following:
gcc -D__KERNEL__ -I/home/rob/kernel/linux-2.4.21/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -nostdinc -iwithprefix include -DKBUILD_BASENAME=cpufreq -DEXPORT_SYMTAB -c cpufreq.c
In file included from cpufreq.c:28:/home/rob/kernel/linux-2.4.21/include/linux/cpufreq.h:41:2: #error fill in SMP versioncpufreq.c: In function `cpufreq_setup':
cpufreq.c:97: warning: implicit declaration of function `cpufreq_max' cpufreq.c:97: invalid lvalue in assignment
cpufreq.c:98: warning: implicit declaration of function `cpufreq_min' cpufreq.c:98: invalid lvalue in assignmentcpufreq.c: In function `cpufreq_restore':
cpufreq.c:192: warning: implicit declaration of function `cpufreq_current'cpufreq.c: In function `cpufreq_set':
cpufreq.c:284: invalid lvalue in assignmentcpufreq.c: At top level:
cpufreq.c:413: invalid lvalue in unary `&'
cpufreq.c:413: initializer element is not constant cpufreq.c:413: (near initialization for ctl_cpu_vars[0].data') cpufreq.c:417: initializer element is not constant cpufreq.c:417: (near initialization for ctl_cpu_vars[0]') cpufreq.c:421: invalid lvalue in unary `&'
cpufreq.c:421: initializer element is not constant cpufreq.c:421: (near initialization for ctl_cpu_vars[1].data') cpufreq.c:425: initializer element is not constant cpufreq.c:425: (near initialization for ctl_cpu_vars[1]') cpufreq.c:432: initializer element is not constant cpufreq.c:432: (near initialization for ctl_cpu_vars[2]') cpufreq.c:435: initializer element is not constant cpufreq.c:435: (near initialization for ctl_cpu_vars[3]') cpufreq.c: In function `cpufreq_init':
cpufreq.c:514: invalid lvalue in assignment
cpufreq.c:516: invalid lvalue in assignment
cpufreq.c:519: invalid lvalue in assignment
cpufreq.c:528: invalid lvalue in assignment
make[2]: *** [cpufreq.o] Error 1
make[2]: Leaving directory `/home/rob/kernel/linux-2.4.21/kernel' make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/home/rob/kernel/linux-2.4.21/kernel'
make: *** [_dir_kernel] Error 2
I'd really appreciate any help you can provide... maybe a -stable release somewhere instead of what I think are nightly cvs 'builds' ? :-)
Thanks..
Rob
Quoted 10 lines · AthlonRob
Hello list...
I'm trying to get some cpu frequency control over my laptop's CPU with the 2.4.21 kernel. I'd just jump to 2.6.0-test4, but have a few pieces of hardware that don't have drivers available for the test kernel yet.
I downloaded the versions for 2.4 dated August 24th, 25th, and also the 26th. The ones from the 24th and 25th give the results below, the 26th errors out during patching.
The latest is again 2.4.22, _not_ 2.4.21.
Cheers,
Signature · 4 lines
Ducrot Bruno -- Which is worse: ignorance or apathy? -- Don't know. Don't care.
Quoted 16 lines · Ducrot Bruno
Quoted 12 lines · AthlonRob
Hello list...
I'm trying to get some cpu frequency control over my laptop's CPU with the 2.4.21 kernel. I'd just jump to 2.6.0-test4, but have a few pieces of hardware that don't have drivers available for the test kernel yet.
I downloaded the versions for 2.4 dated August 24th, 25th, and also the 26th. The ones from the 24th and 25th give the results below, the 26th errors out during patching.
Quoted 6 lines
The latest is again 2.4.22, _not_ 2.4.21.
Cheers,
Do the 2.4.22 patch works with linux.2.4.22 final or only with -rc ???? Cheers,
Quoted 4 lines · Toula Michael
Do the 2.4.22 patch works with linux.2.4.22 final or only with -rc ???? Cheers,
final is rc4 + makefile patch
rc4 is small delta upon rc3
So rc3, rc4 and final probably patch without rejects and rejects with older versions are likely easy to fix. But if there is no real reason to
use something before 22, please use 2.4.22.
Regards,
Bas.
Quoted 7 lines · Bas Mevissen
Quoted 4 lines · Toula Michael
Do the 2.4.22 patch works with linux.2.4.22 final or only with -rc ???? Cheers,
Quoted 7 lines
final is rc4 + makefile patch
rc4 is small delta upon rc3So rc3, rc4 and final probably patch without rejects and rejects with older versions are likely easy to fix. But if there is no real reason to
use something before 22, please use 2.4.22.
To be more precise: this is cpufreq-2.4.22-pre6 from Dave J. (and containing lot of updates from Dominik) found in http://www.codemonkey.org.uk/
with some portions rediffed against 2.4.22-rc4 (which is 2.4.22 in fact).
Signature · 4 lines
Ducrot Bruno -- Which is worse: ignorance or apathy? -- Don't know. Don't care.
Quoted 1 line · Ducrot Bruno
The latest is again 2.4.22, _not_ 2.4.21.
That's the latest from the kernel.org repository, right? the ones with filenames like cpufreq-LINUX_2_4-20030825.tar.gz?
The codemonkeys ones, with filenames like cpufreq-2.4.21-1.gz are against 2.4.21... right? :-)
I would go ahead and just upgrade to 2.4.22, except I really need (ok, I don't need, I just really want) preempt, low-latency scheduling, and the latest NTFS drivers in this kernel... and 2.4.22 is still too new for any of those to be available. :-(
I suppose I could survive without cpu frequency scaling... but the project looks *way super cool* to me. :-)
Rob
Quoted 7 lines · AthlonRob
Quoted 1 line · Ducrot Bruno
The latest is again 2.4.22, _not_ 2.4.21.
That's the latest from the kernel.org repository, right? the ones with filenames like cpufreq-LINUX_2_4-20030825.tar.gz?
Quoted 7 lines
The codemonkeys ones, with filenames like cpufreq-2.4.21-1.gz are against 2.4.21... right? :-)
I would go ahead and just upgrade to 2.4.22, except I really need (ok, I don't need, I just really want) preempt, low-latency scheduling, and the latest NTFS drivers in this kernel... and 2.4.22 is still too new for any of those to be available. :-(
On http://www.gotontheinter.net/exoops/modules/mydownloads/
there's a patch with all that, plus cpufreq (I don't know which version), for kernel 2.4.22. Plus supermount, etc.
Actually, I don't know about the NTFS driver, but, as with everything else, really, 2.4.22 doesn't change that much and the patches for 2.4.21 would probably work with few rejects, correctable by hand.
I've been using that kernel, but can't get swsusp to work correctly and cpufreq doesn't work that well with my chipset, anyhow, (it's a 440BX,) so test it throughly.
Regards,
Luciano Rocha
Quoted 3 lines
I've been using that kernel, but can't get swsusp to work correctly and cpufreq doesn't work that well with my chipset, anyhow, (it's a 440BX,) so test it throughly.
What is the trouble with the 440BX?
Signature · 4 lines
Ducrot Bruno -- Which is worse: ignorance or apathy? -- Don't know. Don't care.
Quoted 5 lines · Ducrot Bruno
Quoted 3 lines
I've been using that kernel, but can't get swsusp to work correctly and cpufreq doesn't work that well with my chipset, anyhow, (it's a 440BX,) so test it throughly.
What is the trouble with the 440BX?
Well, it's a lousy chipset, cpufreq wise.
I had it working with your help some time in the past, using a speedstep.c and playing with the GPO.
But that driver doesn't have the same interface as normal cpufreq and then 2.4.21 merged parts of the AC tree that makes my processor frequency very dynamic, so I end up not using it much.
But I tried the CVS version of cpufreq, but it still doesn't work. As it is, it doesn't have a speedstep.c, only a speedstep-ich, that fails to insert:
cpufreq: Intel(R) SpeedStep(TM) for this chipset not (yet) available.
The speedstep.c available on http://www.poupinou.org/cpufreq/index.html
also fails to insert:
speedstep.o: unresolved symbol cpufreq_setfunctions speedstep.o: unresolved symbol cpufreq_init
Regards,
Luciano Rocha
Quoted 12 lines · Luciano Miguel Ferreira Rocha
Quoted 5 lines · Ducrot Bruno
Quoted 3 lines
I've been using that kernel, but can't get swsusp to work correctly and cpufreq doesn't work that well with my chipset, anyhow, (it's a 440BX,) so test it throughly.
What is the trouble with the 440BX?
Well, it's a lousy chipset, cpufreq wise.
I had it working with your help some time in the past, using a
speedstep.cand playing with the GPO.
Quoted 8 lines
But that driver doesn't have the same interface as normal cpufreq and then 2.4.21 merged parts of the AC tree that makes my processor frequency very dynamic, so I end up not using it much.
But I tried the CVS version of cpufreq, but it still doesn't work. As it is, it doesn't have a
speedstep.c, only a speedstep-ich, that fails to insert:
cpufreq: Intel(R) SpeedStep(TM) for this chipset not (yet) available.
Oops, correct. I forgot that one. Sorry.
Should happens today.
Signature · 4 lines
Ducrot Bruno -- Which is worse: ignorance or apathy? -- Don't know. Don't care.
Quoted 3 lines · AthlonRob
I'm trying to get some cpu frequency control over my laptop's CPU with the 2.4.21 kernel. I'd just jump to 2.6.0-test4, but have a few pieces of hardware that don't have drivers available for the test kernel yet.
I just found http://www.codemonkey.org.uk/projects/cpufreq/ in the archives and gave the two patches listed there a shot.
-1 and -2.
Here are the results I got from that on my make bzImage....
gcc -D__KERNEL__ -I/home/rob/kernel/linux-2.4.21/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -nostdinc -iwithprefix include -DKBUILD_BASENAME=cpufreq -DEXPORT_SYMTAB -c cpufreq.c
In file included from /home/rob/kernel/linux-2.4.21/include/linux/irq.h:69,
from/home/rob/kernel/linux-2.4.21/include/asm/hardirq.h:6,
from/home/rob/kernel/linux-2.4.21/include/linux/interrupt.h:46,
from cpufreq.c:21:
/home/rob/kernel/linux-2.4.21/include/asm/hw_irq.h: In function `x86_do_profile':/home/rob/kernel/linux-2.4.21/include/asm/hw_irq.h:201: `current' undeclared (first use in this function) /home/rob/kernel/linux-2.4.21/include/asm/hw_irq.h:201: (Each undeclared identifier is reported only once /home/rob/kernel/linux-2.4.21/include/asm/hw_irq.h:201: for each function it appears in.)
make[2]: *** [cpufreq.o] Error 1
make[2]: Leaving directory `/home/rob/kernel/linux-2.4.21/kernel' make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/home/rob/kernel/linux-2.4.21/kernel'
make: *** [_dir_kernel] Error 2
I tried fudging around with the files and lines mentioned, but didn't get anywhere except more broken... :-)
Is my system borked? :-)
I understand the -ac sources contain the cpufreq patch already... do y'all know if I will be able to apply preemptive multitasking, low latency scheduling, ntfs, and acpi patches I want to add in there? They aren't in the test ran above, FWIW.
Rob :-)
Quoted 11 lines · AthlonRob
Quoted 3 lines · AthlonRob
I'm trying to get some cpu frequency control over my laptop's CPU with the 2.4.21 kernel. I'd just jump to 2.6.0-test4, but have a few pieces of hardware that don't have drivers available for the test kernel yet.
I just found http://www.codemonkey.org.uk/projects/cpufreq/ in the archives and gave the two patches listed there a shot.
-1 and -2.
Can you reproduce with latest cpufreq and 2.4.22?
Signature · 4 lines
Ducrot Bruno -- Which is worse: ignorance or apathy? -- Don't know. Don't care.
Quoted 9 lines · AthlonRob
Quoted 3 lines · AthlonRob
I'm trying to get some cpu frequency control over my laptop's CPU with the 2.4.21 kernel. I'd just jump to 2.6.0-test4, but have a few pieces of hardware that don't have drivers available for the test kernel yet.
I just found http://www.codemonkey.org.uk/projects/cpufreq/ in the archives and gave the two patches listed there a shot.
Try this:
drivers/cpufreq/userspace.c +1 -1
@@ -17,9 +17,9 @@#include <linux/smp.h> #include <linux/init.h> #include <linux/spinlock.h> +#include <linux/cpufreq.h> #include <linux/interrupt.h> #include <linux/ctype.h> -#include <linux/cpufreq.h> #include <linux/sysctl.h> #include <linux/types.h> #include <linux/fs.h>
include/linux/cpufreq.h +1 -0
@@ -16,6 +16,7 @@#include <linux/config.h> #include <linux/notifier.h> +#include <linux/sched.h> #include <linux/threads.h> #include <asm/semaphore.h>
Signature · 4 lines
Ducrot Bruno -- Which is worse: ignorance or apathy? -- Don't know. Don't care.
drivers/cpufreq/userspace.c
Quoted 4 lines · Ducrot Bruno
Try this:
drivers/cpufreq/userspace.c +0
-0
It compiled like a charm....
I haven't actually tested it yet, though, to see if it actually worked. :-)
Thanks!
Rob
Quoted 4 lines · AthlonRob
Quoted 2 lines · Ducrot Bruno
Try this:
Quoted 8 lines
drivers/cpufreq/userspace.c
Quoted 2 lines
drivers/cpufreq/userspace.c +0
-0It compiled like a charm....
I haven't actually tested it yet, though, to see if it actually worked. :-)
I can't tell you so much. You are using preempt and low-latency in a SMP box, btw? If really you need SMP, I can't tell you it will be OK, just that you may have some dead lock unless you get the latest one (which is not yet released completely for 2.4 tree). Therefore, it may be usefull if you compile with spinlock debug.
Signature · 4 lines
Ducrot Bruno -- Which is worse: ignorance or apathy? -- Don't know. Don't care.