K6speed For Linux:

CAUTION: The software available on this page is not guaranteed and comes with no warranties of any kind.  The K6Speed.o driver can cause system failures and loss of data if used to overclock your CPU beyond its stable operating frequencies.  I will not be responsible for any harm caused by the use of this software.

Now, on to the good stuff.

I've written a basic utility to control K6-2+/3+ CPU Multiplier settings under Linux for you Linux users needing multiplier and write allocation setup for your Linux system.  Remember, you MUST have a k62+ or k63+ CPU or you should not even execute this software.  It will not work on any other model of AMD CPU.

You must have modutils installed on your system for support of loadable kernel module commands.

This utility is in the form of a Loadable Kernel Module.  To use the driver, you MUST have CONFIG_MODVERSIONS enabled for your kernel (and at least one user found that his SUSE precompiled 2.2 kernel did not have this feature enabled, so a recompile of the kernel was necessary).  If you do not have a kernel compiled with CONFIG_MODVERSIONS enabled, you will get "unresolved symbol" errors for Printk.  The driver reports its activities to the terminal window, and if X is running, the messages are placed in the /var/log/kern.log file if such logging is enabled, or in other logs such as /var/log/messages

The driver "k6speed.o" is loaded using the INSMOD command.

To run the driver  (remember you must login or SU to ROOT to run insmod):

insmod k6speed.o [mult=xxx ram=yyy wcm=z]

Where:

[mult=xxx ram=yyy wcm=z] are optional command line parameters.

xxx=2.0,3.0,3.5,4.0,4.5,5.0,5.5 or 6.0 (ex: mult=5.5)
yyy=memory size in megabytes, this value is used for enabling Write Allocation (ex: ram=128)
wcm=0,1 or 2
wcm=0 (strong write ordering),
wcm=1 (SEWBED write ordering) or
wcm=2 (GEWBED write ordering).

Default Values (if no command line parameters are specified): RAM=128, MULT=5.5, WCM=2

If you receive a "not compiled for this kernel" error message, use the "-f" option to force the load of the driver (don't worry no conflicts are known to me at this time with any 2.0 and up kernel).
So for multiplier of 5.0 and ram size of 64 meg:

insmod k6speed.o mult=5.0 ram=64

To force load the driver (due to kernel version conflict):

insmod -f k6speed.o mult=5.0 ram=64

Note, if you do not specify "mult" and "ram" parameters, 5.5 is the assumed multiplier, Write Combining mode is set  to GEWBED (fastest mode) and ram is assumed to be 128 meg in size (I like to assume the parameters my system runs with thereby saving me some typing).

BTW, for anyone who did not pay close attention, the "mem" parameter (discussed above) is for passing in the amount of system ram that your computer has for use in enabling Write Allocation. There are no calls (other than BIOS calls) available to a kernel driver to get total system memory.

Eventually, I plan a decent "front end" program, but for now, and given the exigencies of getting up to speed and enabling write allocation with my k62+ CPU, I simply put together a quickie driver for the time being.

Tips:

Install k6speed.o using INSMOD in your rc.sysinit file (at the bottom of the file) to enable your desired cpu speed on boot.  Remove the driver using RMMOD immediately thereafter in the same script file as once the driver loads, it has completed its operational code and is no longer needed.

Create a script file including the lines:

insmod /home/user/bin/k6speed.o mult=$1 ram=64 wcm=2
rmmod k6speed

and save it as "cpumult", then execute  the script as follows:

./cpumult 4.5

to have quick access to multiplier alterations.

Download Link:

http://msnhomepages.talkcity.com/cerfst/kylesb/k6speedlinux.zip

Also included in the download archive is a small program named "CPUSPD" which reports current CPU speed (with a fair degree of accuracy) and total system ram or memory for any Pentium class CPU or higher that supports the RDTSC command.  I couldn't find such a utility program when searching one day, so I wrote one for you to confirm the speed changes of your CPU.  CPUSPD is not too accurate due to the 10 ms system timer in Linux (a program may wait up to 10 ms before it regains access to the CPU). However, I measure cpu speed over a 400 ms window, and make a small adjustment for the the +/- 5 milliseconds potential deviation to get numbers that will be slightly above or below the actual speed. Sometimes it's very close, sometimes it's off by 2-6 mhz.
 
 

If you have questions that are not answered on this page  or want to report a bug or problem, email me at your leisure.

Email Kyle
 
 

Visit The Kyle Brant Software Home Page And Read About
Other Nifty Programs and Utilities

K6Speed For Win9x/Me/NT/W2k Home Page

Page Created May 17, 2001
Page Last Revised May 17, 2001

Version History for K6speed.o Linux Driver:
Released first version on May 17 2001