LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Increasing Kernel timer (2.4) (https://www.linuxquestions.org/questions/slackware-14/increasing-kernel-timer-2-4-a-454753/)

john_d13 06-14-2006 01:40 PM

Increasing Kernel timer (2.4)
 
Hey guys,, runnin slack 10.2 with kernel 2.4

machine is P4 3.2 1G Ram

I run game servers for hl2. My servers only get 50fps and its supposed to be getting at least 100 with my settings. Below are some instuctins on raising Kernel timer. I tried looking for include/asm-<arch>/param.h.
but there are so many close looking files I dont wanna touch if im not sure. Also if I open param.h all lines are commented out.

Can anone help?/




Linux Kernel Timer Instructions

Thanks to triphammer in the STEAM Linux SRCDS Forum

You need to do a custom (re)compile of the linux kernel in order to change kernel interruptability / timer.


Since Kernel 2.6.14 you change the HZ with "make menuconfig", just go to: "Processor type and features" > "Timer frequency (XXXXX HZ)". The default HZ for 2.4 Kernels is 100. You can also change the HZ via the "USER_HZ" variable located in: include/asm-<arch>/param.h.

param.h:

define USER_HZ 100 /* .. some user interfaces are in "ticks" */


More along the lines of your question, you can also set the kernel timer frequency by chaning the HZ variable in the same file

define HZ 1000 /* Internal kernel timer frequency */

Also:

+ config HZ
+ int "Frequency of the Timer Interrupt (1000 or 100)"
+ range 100 1000
+ default 1000
+ help
+ Allows the configuration of the timer frequency. It is customary
+ to have the timer interrupt run at 1000 HZ but 100 HZ may be more
+ beneficial for servers and NUMA systems that do not need to have
+ a fast response for user interaction and that may experience bus
+ contention and cacheline bounces as a result of timer interrupts.
+ Note that the timer interrupt occurs on each processor in an SMP
+ environment leading to NR_CPUS * HZ number of timer interrupts
+ per second.
+
endmenu

For a server fps to cater for you high tickrate under Linux, you either need to recompile your 2.4 Kernel, with its Kernel timer resolution changed, but the easiest and probably best course of action is to use the 2.6 Kernel and change the "USER_HZ" variable, (I would suggest starting at 500 and seeing what happens before experimenting with other numbers) which will enable higher server fps on your Linux server.

drkstr 06-14-2006 02:43 PM

I am not sure if this is in the 2.4 kernel, but I think all you have to do is enable "Enhanced Real Time Clock Support" (It's under Charecter devices in the 2.6 kernel) then as root, run the following command
Code:

echo 1024 > /proc/sys/dev/rtc/max-user-freq
Sorry if this doesn't apply to what you are asking.

regards,
...drkstr

**edit**
you will need to add this to your rc.local if you want it to keep when you reboot.

win32sux 06-14-2006 02:46 PM

Quote:

Originally Posted by john_d13
I tried looking for include/asm-<arch>/param.h.
but there are so many close looking files I dont wanna touch if im not sure.

the one you want is:

include/asm-i386/param.h

because Pentium 4 CPUs are part of the x86 family...

Quote:

Also if I open param.h all lines are commented out.
yeah, my guess is you'd just have to uncomment the lines which you want to work with... in your case, it would be these three:
Code:

#ifndef HZ
#define HZ 100
#endif

of course, you'd change the 100 to the value you want...

gnashley 06-16-2006 01:00 AM

These two sites may have a patchset that will help you achieve what you want:

http://members.optusnet.com.au/ckolivas/kernel/

http://www.plumlocosoft.com/kernel/


All times are GMT -5. The time now is 06:49 PM.