[lkml]   [1999]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] HZ change for ix86
Kurt -

Thanx for the insightful information about the impact of changing the HZ
values. Questions: a) how platform specific is this setting (i86, ALPHA, et al),
and b) Does increasing the HZ value increases context switches or increases
duration of each context?

This sounds like an excellent developer's config option to me.... Any chance
of this happening soon?


Ben Scherrey

Kurt Garloff wrote:

> lately, I've seen a couple of questions about changing HZ in the kernel for
> ix86. Your scheduler will run more often and your system might feel snappier
> when increasing HZ, that's why we want it. Overhead for doing so got
> relativlely low with recent CPUs, so me might really want it.
> Basically, you can change it without causing any problems within the kernel.
> However the HZ based value is reported by a system call sys_times() to the
> userspace and as well from the proc fs.
> So, this has to be fixed to have a seamless HZ change.
> I created a patch which changes the values of HZ to 400 and fixed all places
> I could spot which report the jiffies value to userspace. I think I caught
> all of them. Note that 400 is a nice value, because we have to divide the
> values by 4 then, which the gcc optimizes to shift operations, which can be
> done in one or two cycles each and even parallelized on modern CPUs. Integer
> divisions are slow on the ix86 (~20 cycles) and the sys_times() needs four of
> them. You can easily change HZ to 500 and HZ_TO_STD to 5 in asm-i386/param.h,
> but then you would loose 80 CPU cycles per sys_times() syscall, which you
> might want to avoid.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:49    [W:0.093 / U:4.692 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site