Cool... This way you dont have to copy and paste!!! Thanks for the Link :)
Joe > the correct link , to this is : > http://www.kernel.org/pub/linux/kernel/people/rml/variable-HZ/v2.4/ > > any future updates to variable hz will be found there. > > Matt H. > > > On Thursday 16 October 2003 05:13 pm, [EMAIL PROTECTED] wrote: >> Here is the patch that I found. It was created by Rober Love... Here is >> the link to the article: >> >> http://www.geocrawler.com/mail/thread.php3?subject=%5BPATCH%5D+2.4%3A+varia >>ble+HZ&list=9215 >> >> >> >> diff -urN linux-2.4.20-pre10-ac2/arch/i386/config.in >> linux/arch/i386/config.in >> --- linux-2.4.20-pre10-ac2/arch/i386/config.in 2002-10-14 >> 01:43:05.000000000 -0400 >> +++ linux/arch/i386/config.in 2002-10-15 02:41:39.000000000 -0400 >> @@ -244,6 +244,7 @@ >> mainmenu_option next_comment >> comment 'General setup' >> >> +int 'Timer frequency (HZ) (100)' CONFIG_HZ 100 >> bool 'Networking support' CONFIG_NET >> >> # Visual Workstation support is utterly broken. >> diff -urN linux-2.4.20-pre10-ac2/Documentation/Configure.help >> linux/Documentation/Configure.help >> --- linux-2.4.20-pre10-ac2/Documentation/Configure.help 2002-10-14 >> 01:43:06.000000000 >> -0400 >> +++ linux/Documentation/Configure.help 2002-10-15 02:41:40.000000000 >> -0400 >> @@ -2411,6 +2411,18 @@ >> behaviour is platform-dependent, but normally the flash frequency is >> a hyperbolic function of the 5-minute load average. >> >> +Timer frequency >> +CONFIG_HZ >> + The frequency the system timer interrupt pops. Higher tick values >> provide + improved granularity of timers, improved select() and poll() >> performance, + and lower scheduling latency. Higher values, however, >> increase interrupt + overhead and will allow jiffie wraparound sooner. >> For compatibility, the + tick count is always exported as if HZ=100. >> + >> + The default value, which was the value for all of eternity, is 100. >> If >> + you are looking to provide better timer granularity or increased >> desktop >> + performance, try 500 or 1000. In unsure, go with the default of 100. >> + >> Networking support >> CONFIG_NET >> Unless you really know what you are doing, you should say Y here. >> diff -urN linux-2.4.20-pre10-ac2/fs/proc/array.c linux/fs/proc/array.c >> --- linux-2.4.20-pre10-ac2/fs/proc/array.c 2002-10-14 01:43:10.000000000 >> -0400 >> +++ linux/fs/proc/array.c 2002-10-14 18:24:48.000000000 -0400 >> @@ -360,15 +360,15 @@ >> task->cmin_flt, >> task->maj_flt, >> task->cmaj_flt, >> - task->times.tms_utime, >> - task->times.tms_stime, >> - task->times.tms_cutime, >> - task->times.tms_cstime, >> + jiffies_to_clock_t(task->times.tms_utime), >> + jiffies_to_clock_t(task->times.tms_stime), >> + jiffies_to_clock_t(task->times.tms_cutime), >> + jiffies_to_clock_t(task->times.tms_cstime), >> priority, >> nice, >> 0UL /* removed */, >> - task->it_real_value, >> - task->start_time, >> + jiffies_to_clock_t(task->it_real_value), >> + jiffies_to_clock_t(task->start_time), >> vsize, >> mm ? mm->rss : 0, /* you might want to shift this left 3 */ >> task->rlim[RLIMIT_RSS].rlim_cur, >> @@ -686,14 +686,14 @@ >> >> len = sprintf(buffer, >> "cpu %lu %lu\n", >> - task->times.tms_utime, >> - task->times.tms_stime); >> + jiffies_to_clock_t(task->times.tms_utime), >> + jiffies_to_clock_t(task->times.tms_stime)); >> >> for (i = 0 ; i < smp_num_cpus; i++) >> len += sprintf(buffer + len, "cpu%d %lu %lu\n", >> i, >> - task->per_cpu_utime[cpu_logical_map(i)], >> - task->per_cpu_stime[cpu_logical_map(i)]); >> + jiffies_to_clock_t(task->per_cpu_utime[cpu_logical_map(i)]), >> + jiffies_to_clock_t(task->per_cpu_stime[cpu_logical_map(i)])); >> >> return len; >> } >> diff -urN linux-2.4.20-pre10-ac2/fs/proc/proc_misc.c >> linux/fs/proc/proc_misc.c >> --- linux-2.4.20-pre10-ac2/fs/proc/proc_misc.c 2002-10-14 >> 01:43:10.000000000 -0400 >> +++ linux/fs/proc/proc_misc.c 2002-10-15 02:29:21.000000000 -0400 >> @@ -317,16 +317,16 @@ >> { >> int i, len = 0; >> extern unsigned long total_forks; >> - unsigned long jif = jiffies; >> + unsigned long jif = jiffies_to_clock_t(jiffies); >> unsigned int sum = 0, user = 0, nice = 0, system = 0; >> int major, disk; >> >> for (i = 0 ; i < smp_num_cpus; i++) { >> int cpu = cpu_logical_map(i), j; >> >> - user += kstat.per_cpu_user[cpu]; >> - nice += kstat.per_cpu_nice[cpu]; >> - system += kstat.per_cpu_system[cpu]; >> + user += jiffies_to_clock_t(kstat.per_cpu_user[cpu]); >> + nice += jiffies_to_clock_t(kstat.per_cpu_nice[cpu]); >> + system += jiffies_to_clock_t(kstat.per_cpu_system[cpu]); >> #if !defined(CONFIG_ARCH_S390) >> for (j = 0 ; j < NR_IRQS ; j++) >> sum += kstat.irqs[cpu][j]; >> @@ -340,10 +340,10 @@ >> proc_sprintf(page, &off, &len, >> "cpu%d %u %u %u %lu\n", >> i, >> - kstat.per_cpu_user[cpu_logical_map(i)], >> - kstat.per_cpu_nice[cpu_logical_map(i)], >> - kstat.per_cpu_system[cpu_logical_map(i)], >> - jif - ( kstat.per_cpu_user[cpu_logical_map(i)] \ >> + jiffies_to_clock_t(kstat.per_cpu_user[cpu_logical_map(i)]), >> + jiffies_to_clock_t(kstat.per_cpu_nice[cpu_logical_map(i)]), >> + jiffies_to_clock_t(kstat.per_cpu_system[cpu_logical_map(i)]), >> + jif - >> jiffies_to_clock_t(kstat.per_cpu_user[cpu_logical_map(i)] \ >> + kstat.per_cpu_nice[cpu_logical_map(i)] \ >> + kstat.per_cpu_system[cpu_logical_map(i)])); >> proc_sprintf(page, &off, &len, >> diff -urN linux-2.4.20-pre10-ac2/include/asm-i386/param.h >> linux/include/asm-i386/param.h >> --- linux-2.4.20-pre10-ac2/include/asm-i386/param.h 2002-10-14 >> 01:33:16.000000000 -0400 >> +++ linux/include/asm-i386/param.h 2002-10-14 18:46:32.000000000 -0400 >> @@ -1,8 +1,17 @@ >> #ifndef _ASMi386_PARAM_H >> #define _ASMi386_PARAM_H >> >> +#include <linux/config.h> >> + >> +#ifdef __KERNEL__ >> +# define HZ CONFIG_HZ /* internal kernel timer frequency */ >> +# define USER_HZ 100 /* some user interfaces are in ticks */ >> +# define CLOCKS_PER_SEC (USER_HZ) /* like times() */ >> +# define jiffies_to_clock_t(x) ((x) / ((HZ) / (USER_HZ))) >> +#endif >> + >> #ifndef HZ >> -#define HZ 100 >> +#define HZ 100 /* if userspace cheats, give them 100 >> */ >> #endif >> >> #define EXEC_PAGESIZE 4096 >> @@ -17,8 +26,4 @@ >> >> #define MAXHOSTNAMELEN 64 /* max length of hostname */ >> >> -#ifdef __KERNEL__ >> -# define CLOCKS_PER_SEC 100 /* frequency at which times() counts */ >> -#endif >> - >> #endif >> diff -urN linux-2.4.20-pre10-ac2/kernel/signal.c linux/kernel/signal.c >> --- linux-2.4.20-pre10-ac2/kernel/signal.c 2002-10-14 01:43:11.000000000 >> -0400 >> +++ linux/kernel/signal.c 2002-10-14 18:24:49.000000000 -0400 >> @@ -13,7 +13,7 @@ >> #include <linux/smp_lock.h> >> #include <linux/init.h> >> #include <linux/sched.h> >> - >> +#include <asm/param.h> >> #include <asm/uaccess.h> >> >> /* >> @@ -775,8 +775,8 @@ >> info.si_uid = tsk->uid; >> >> /* FIXME: find out whether or not this is supposed to be c*time. */ >> - info.si_utime = tsk->times.tms_utime; >> - info.si_stime = tsk->times.tms_stime; >> + info.si_utime = jiffies_to_clock_t(tsk->times.tms_utime); >> + info.si_stime = jiffies_to_clock_t(tsk->times.tms_stime); >> >> status = tsk->exit_code & 0x7f; >> why = SI_KERNEL; /* shouldn't happen */ >> diff -urN linux-2.4.20-pre10-ac2/kernel/sys.c linux/kernel/sys.c >> --- linux-2.4.20-pre10-ac2/kernel/sys.c 2002-10-14 01:43:11.000000000 >> -0400 >> +++ linux/kernel/sys.c 2002-10-14 18:24:49.000000000 -0400 >> @@ -15,7 +15,7 @@ >> #include <linux/prctl.h> >> #include <linux/init.h> >> #include <linux/highuid.h> >> - >> +#include <asm/param.h> >> #include <asm/uaccess.h> >> #include <asm/io.h> >> >> @@ -792,16 +792,23 @@ >> >> asmlinkage long sys_times(struct tms * tbuf) >> { >> + struct tms temp; >> + >> /* >> * In the SMP world we might just be unlucky and have one of >> * the times increment as we use it. Since the value is an >> * atomically safe type this is just fine. Conceptually its >> * as if the syscall took an instant longer to occur. >> */ >> - if (tbuf) >> - if (copy_to_user(tbuf, �t->times, sizeof(struct tms))) >> + if (tbuf) { >> + temp.tms_utime = jiffies_to_clock_t(current->times.tms_utime); >> + temp.tms_stime = jiffies_to_clock_t(current->times.tms_stime); >> + temp.tms_cutime = jiffies_to_clock_t(current->times.tms_cutime); >> + temp.tms_cstime = jiffies_to_clock_t(current->times.tms_cstime); >> + if (copy_to_user(tbuf, &temp, sizeof(struct tms))) >> return -EFAULT; >> - return jiffies; >> + } >> + return jiffies_to_clock_t(jiffies); >> } >> >> /* >> >> > to do it correctly, and not have it screw other aspects up, you need >> to >> > find >> > a hz .patch file >> > >> > kev >> > >> > ->-----Original Message----- >> > ->From: [EMAIL PROTECTED] >> > ->[mailto:[EMAIL PROTECTED] Behalf Of >> > ->[EMAIL PROTECTED] >> > ->Sent: Thursday, October 16, 2003 4:35 PM >> > ->To: [EMAIL PROTECTED] >> > ->Subject: [hlds_linux] Hz Value? >> > -> >> > -> >> > ->Hmm I forgot where do I put the HZ line again? I forgot which >> > ->file :( to make it 1000HZ :) >> > -> >> > ->Any help will be cool >> > -> >> > ->Thanks! >> > ->Jackson >> > -> >> > ->_______________________________________________ >> > ->To unsubscribe, edit your list preferences, or view the list >> > ->archives, please visit: >> > ->http://list.valvesoftware.com/mailman/listinfo/hlds_linux >> > >> > >> > _______________________________________________ >> > To unsubscribe, edit your list preferences, or view the list archives, >> > please visit: >> > http://list.valvesoftware.com/mailman/listinfo/hlds_linux >> >> _______________________________________________ >> To unsubscribe, edit your list preferences, or view the list archives, >> please visit: http://list.valvesoftware.com/mailman/listinfo/hlds_linux > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlds_linux > _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlds_linux

