From: george anzinger <george@mvista.com>
To: Hannu Savolainen <hannu@opensound.com>
Cc: "Grover, Andrew" <andrew.grover@intel.com>,
Linux <linux-kernel@vger.kernel.org>
Subject: Re: HZ, preferably as small as possible
Date: Thu, 11 Jul 2002 00:15:24 -0700 [thread overview]
Message-ID: <3D2D308C.ECE3CA5E@mvista.com> (raw)
In-Reply-To: Pine.LNX.4.10.10207110847170.6183-100000@zeus.compusonic.fi
Hannu Savolainen wrote:
>
> Hi,
>
> IMHO the easiest solution is just making HZ selectable (100 or 1000 or
> maybe 1024) when configuring the kernel. Also there has to be a variable
> that exports the configured HZ value to modules. In that way users can
> select HZ depending on their needs.
>
> There are users who don't use power management. Instead they need higher
> HZ for various reasons. Kernels compiled with HZ=1000 have been used
> successfully since year 0 without any major problems. Making HZ
> configurable just makes life easier for such users.
>
> OTOH the higher wakeup rate during low power states can be cured by
> temporarily lowering the hw clock rate from 1000 to 100. The timer
> interrupt handler just increases jiffies by 10 (instead of 1). All code
> compiled with HZ=1000 still works but there may be latency problems during
> low power states.
>
> On Wed, 10 Jul 2002, george anzinger wrote:
>
> > "Grover, Andrew" wrote:
> > >
> > > I'd like to see HZ closer to 100 than 1000, for CPU power reasons. Processor
> > > power states like C3 may take 100 microseconds+ to enter/leave - time when
> > > both the CPU isn't doing any work, but still drawing power as if it was. We
> > > pop out of C3 whenever there is an interrupt, so reducing timer interrupts
> > > is good from a power standpoint by amortizing the transition penalty over a
> > > longer period of power savings.
> > >
> > > But on the other hand, increasing HZ has perf/latency benefits, yes? Have
> > > these been quantified? I'd either like to see a HZ that has balanced
> > > power/performance, or could we perhaps detect we are on a system that cares
> > > about power (aka a laptop) and tweak its value at runtime?
> >
> > HZ is used in a LOT of places. I suspect "tweaking" at run
> > time would be a bit difficult.
> This is not a problem at all. Just define HZ as:
>
> extern int system_hz;
> #define HZ system_hz
>
> After that all code will use variable HZ. Changing HZ on fly will be
> dangerous. However HZ can be made a boot time (LILO) parameter.
This is not really advisable. A good deal to of the timer
code depends on HZ being a constant so that calculations are
done at compile time. A lot of this code would be
measurably slower if these calculations were required at run
time. For example, often a divide is used with the
understanding that it will be done at compile time, not run
time.
-g
>
> > The high-res-timers patch give high resolution timers with
> > out changing HZ. Interrupts are scheculed as needed,
> > between the 1/HZ ticks, so a quite system will have few (if
> > any) interrupts between the ticks.
> >
> > --
> > George Anzinger george@mvista.com
> > High-res-timers:
> > http://sourceforge.net/projects/high-res-timers/
> > Real time sched: http://sourceforge.net/projects/rtsched/
> > Preemption patch:
> > http://www.kernel.org/pub/linux/kernel/people/rml
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
> >
>
> Best regards,
>
> Hannu
> -----
> Hannu Savolainen (hannu@opensound.com)
> http://www.opensound.com (Open Sound System (OSS))
> http://www.compusonic.fi (Finnish OSS pages)
--
George Anzinger george@mvista.com
High-res-timers:
http://sourceforge.net/projects/high-res-timers/
Real time sched: http://sourceforge.net/projects/rtsched/
Preemption patch:
http://www.kernel.org/pub/linux/kernel/people/rml
next prev parent reply other threads:[~2002-07-11 7:13 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-10 19:59 HZ, preferably as small as possible Grover, Andrew
2002-07-10 21:09 ` george anzinger
2002-07-11 6:03 ` Hannu Savolainen
2002-07-11 7:15 ` george anzinger [this message]
2002-07-12 0:36 ` Stevie O
2002-07-12 0:50 ` Thunder from the hill
2002-07-12 0:55 ` Robert Love
2002-07-12 0:58 ` Thunder from the hill
2002-07-12 1:24 ` Alan Cox
2002-07-12 1:37 ` Mark Hahn
2002-07-12 1:09 ` george anzinger
2002-07-12 1:26 ` Roland Dreier
2002-07-12 17:30 ` george anzinger
2002-07-12 1:35 ` Stevie O
2002-07-12 3:01 ` Bernd Eckenfels
2002-07-11 12:54 ` Thunder from the hill
2002-07-11 15:59 ` Martin Dalecki
2002-07-10 21:28 ` Andrew Morton
2002-07-10 21:35 ` Benjamin LaHaise
2002-07-10 21:38 ` Andrew Morton
2002-07-10 21:42 ` Benjamin LaHaise
2002-07-11 2:14 ` CaT
2002-07-11 17:01 ` Martin Dalecki
2002-07-10 22:01 ` Thunder from the hill
2002-07-10 22:09 ` Cort Dougan
2002-07-11 13:36 ` Whoa... (was: Re: HZ, preferably as small as possible) Mark Mielke
2002-07-11 21:08 ` Daniel Phillips
2002-07-10 22:41 ` HZ, preferably as small as possible Thunder from the hill
2002-07-10 22:47 ` Thunder from the hill
2002-07-10 22:49 ` Eli Carter
2002-07-10 23:05 ` Thunder from the hill
2002-07-10 23:08 ` Dave Mielke
2002-07-10 23:13 ` Thunder from the hill
2002-07-10 23:50 ` J.A. Magallon
2002-07-11 0:28 ` Lincoln Dale
2002-07-11 11:35 ` Kasper Dupont
2002-07-11 12:30 ` Alan Cox
2002-07-11 13:37 ` Kasper Dupont
2002-07-11 15:46 ` Alan Cox
2002-07-11 18:51 ` george anzinger
2002-07-15 5:06 ` Linus Torvalds
2002-07-15 16:26 ` Robert Love
2002-07-15 18:56 ` Linus Torvalds
2002-07-15 19:52 ` mbs
2002-07-15 20:01 ` yodaiken
2002-07-16 11:41 ` Vojtech Pavlik
2002-07-17 19:33 ` Daniel Phillips
2002-07-17 20:31 ` Richard B. Johnson
2002-07-17 20:40 ` Daniel Phillips
2002-07-17 21:02 ` Richard B. Johnson
2002-07-17 21:02 ` Linus Torvalds
2002-07-17 21:16 ` Daniel Phillips
2002-07-18 12:57 ` Richard B. Johnson
2002-07-18 13:25 ` Daniel Phillips
2002-07-18 10:10 ` Kai Henningsen
2002-07-17 20:55 ` Linus Torvalds
-- strict thread matches above, loose matches on Subject: below --
2002-07-11 2:46 Grover, Andrew
2002-07-11 3:01 ` Jeff Garzik
2002-07-11 11:45 ` Alan Cox
2002-07-11 17:08 ` Martin Dalecki
2002-07-11 19:21 ` Albert D. Cahalan
2002-07-16 9:17 ` Kai Henningsen
2002-07-11 20:34 ` Bill Davidsen
2002-07-12 12:01 ` Martin Dalecki
2002-07-15 5:15 ` Linus Torvalds
2002-07-15 6:56 ` Albert D. Cahalan
2002-07-15 8:24 ` Russell King
2002-07-15 15:48 ` David Mosberger
2002-07-15 18:20 ` Albert D. Cahalan
2002-07-15 18:30 ` David Mosberger
2002-07-15 16:07 ` Albert D. Cahalan
2002-07-15 17:06 ` Russell King
2002-07-15 18:43 ` Albert D. Cahalan
2002-07-15 18:53 ` Russell King
2002-07-15 18:50 ` Linus Torvalds
2002-07-15 20:15 ` Albert D. Cahalan
2002-07-15 8:58 ` Dave Mielke
2002-07-11 7:09 ` george anzinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3D2D308C.ECE3CA5E@mvista.com \
--to=george@mvista.com \
--cc=andrew.grover@intel.com \
--cc=hannu@opensound.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.