linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: george anzinger <george@mvista.com>
To: Frank Schneider <SPATZ1@t-online.de>
Cc: "Antonios G. Danalis" <danalis@udel.edu>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: increasing HZ in Linux kernel
Date: Sat, 15 Sep 2001 00:15:08 -0700	[thread overview]
Message-ID: <3BA2FFFC.49FBDDC8@mvista.com> (raw)
In-Reply-To: <3BA134F3.FA661E9E@udel.edu> <3BA23D51.B456C9EE@mvista.com> <3BA24424.A3C74D69@t-online.de>

Frank Schneider wrote:
> 
> george anzinger schrieb:
> >
> > "Antonios G. Danalis" wrote:
> > >
> > > Hello,
> > >
> > > I want to increase the frequency of the clock interrupt up
> > > to ~10000 to run some experiments.
> > >
> > > Is there an easy way to increase clock interrupt freq, or
> > > do I have to mess with the whole kernel ?
> > >
> > The approach we are taking in the high-res-timers project
> > (http://sourceforge.net/projects/high-res-timers) is to leave HZ alone
> > and schedule timer interrupts as needed between the 1/HZ ticks.  I have
> > an kernel with most of the infrastructure ready to put on the
> > sourceforge site (today I hope), that you may want to look at.  Be
> > aware, however, it is not really a simple change.  You may also want to
> > look at the UTIME patch from the University of Kansas, which, to some
> > extent, is where I started.  We both leave HZ alone and schedule timer
> > ticks as needed to get high resolution.
> >
> > As you have noted, changing HZ impacts other sub systems.  There is also
> > an issue of jiffie rollover which affects the longest time you can set
> > timers for.  Currently with HZ =100 and 32-bit integers, this is about
> > 248.55 days.
> 
> Sure ?
> I think it is 497 days, jiffies is "unsigned long" on IA32.

That is when it rolls over.  What I am talking about is when the compare
of two unsigned numbers gives the wrong answer.  That happens when the
difference is greater than 1/2 of the max count.  This is independent of
the actual values so it really doesn't matter what the counts are, just
the differences to be compared.  The kernel code is very careful to do
the compare in such a way as to avoid the issues around the actual size,
but the max difference of 1/2 the value is another matter and can not be
avoided with out extra bits.

This is important as the add_timer code checks to see if the time has
passed yet.  If so it queues the timer for the next tick.  This will
happen when the timer is to expire more than 1/2 the max unsigned int
from now.

George
> 
> (On PPC "HZ" is 1024, but i think there "jiffies" is 64-bit.)
> 
> I encountered this problem as my "/proc/uptime"-counter got over the
> ridge and the machine now has an uptime of 550 days, but /proc/uptime
> speaks of 550-497=53 days.
> 
> I also postet a patch against this effect, but this does only cosmetic
> and no major changes to other things like "jiffies".
> 
> If you move HZ to 1000, this moves to 24.855 days, and the
> > 10,000 you want moves it to 2.4855 days which will give problems with at
> > least the cron sub system and probably a lot of others.
> 
> The rollover at my machine (2.2.10) did not do any harm, but that does
> not mean that there will be no negative side-effect.
> 
> Solong..
> Frank.
> 
> --
> Frank Schneider, <SPATZ1@T-ONLINE.DE>.
> Microsoft isn't the answer.
> Microsoft is the question, and the answer is NO.
> ... -.-

      reply	other threads:[~2001-09-15  7:17 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-13 22:36 increasing HZ in Linux kernel Antonios G. Danalis
2001-09-14 17:24 ` george anzinger
2001-09-14 17:53   ` Frank Schneider
2001-09-15  7:15     ` george anzinger [this message]

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=3BA2FFFC.49FBDDC8@mvista.com \
    --to=george@mvista.com \
    --cc=SPATZ1@t-online.de \
    --cc=danalis@udel.edu \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).