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

