linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: john stultz <johnstul@us.ibm.com>
To: Pavel Machek <pavel@suse.cz>
Cc: Andrea Arcangeli <andrea@suse.de>,
	Zwane Mwaikambo <zwane@arm.linux.org.uk>,
	Con Kolivas <kernel@kolivas.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: dynamic-hz
Date: Mon, 13 Dec 2004 12:34:00 -0800	[thread overview]
Message-ID: <1102970039.1281.415.camel@cog.beaverton.ibm.com> (raw)
In-Reply-To: <20041213191249.GB1052@elf.ucw.cz>

On Mon, 2004-12-13 at 11:12, Pavel Machek wrote:
> Hi!
> 
> > > But that does not matter, right? Yes, one-shot timer will not fire
> > > exactly at right place, but as long as you are reading TSC and basing
> > > next shot on current time, error should not accumulate.
> > 
> > As said in the rest of the message, the error (or some other error)
> > accumulates heavily today in the tick-loss compensation/adjustment
> > algorithm in arch/i386/kernel/timers/timer_tsc.c, so I'm sceptical
> > about
> 
> I do not see how it should accumulate. Lets have working TSC. You want
> to emulate fixed-period timer with single-shot timer.

Its caused by the fact that we don't use the the TSC to accumulate time.
We are instead interpolating between timer ticks and the TSC, where the
timer tick is what really accumulates time, and the TSC is used for
inter-tick time keeping (with the exception of the lost tick
compensation code).

Unfortunately interrupt delay and queueing can cause situations where a
tick appears to be lost, but then immediately after a second one
appears. In this case we add two, compensating for the loss, and then
add one more.

One could try to catch these early-seeming ticks w/ similar compensation
code, but due to TSC calibration error there are sure to be holes where
more time inconsistencies could poke through. 

My feeling is that we need to stop interpolating and just trust one time
source (ie: the TSC or ACPIPM or HPET or whatever). Check out my
timeofday patches for more details.

thanks
-john




  reply	other threads:[~2004-12-13 20:45 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-11 14:23 dynamic-hz Andrea Arcangeli
2004-12-11 14:50 ` dynamic-hz Zwane Mwaikambo
2004-12-12  6:57   ` dynamic-hz Andrea Arcangeli
2004-12-11 21:41 ` dynamic-hz Jan Engelhardt
2004-12-12 16:35 ` dynamic-hz Pavel Machek
2004-12-12 22:23   ` dynamic-hz Andrea Arcangeli
2004-12-12 23:36     ` dynamic-hz Con Kolivas
2004-12-12 23:42       ` dynamic-hz Pavel Machek
2004-12-13  0:09         ` dynamic-hz Con Kolivas
2004-12-13  8:37           ` dynamic-hz Jan Engelhardt
2004-12-13 10:43           ` dynamic-hz Pavel Machek
2004-12-13 11:08             ` dynamic-hz Andrea Arcangeli
2004-12-13 19:36               ` dynamic-hz john stultz
2004-12-12 23:43       ` dynamic-hz Andrea Arcangeli
2004-12-13  0:18         ` dynamic-hz Con Kolivas
2004-12-13  0:27           ` dynamic-hz Andrea Arcangeli
2004-12-13  1:50             ` dynamic-hz Zwane Mwaikambo
2004-12-13 11:28               ` dynamic-hz Andrea Arcangeli
2004-12-13 12:43                 ` dynamic-hz Pavel Machek
2004-12-13 12:58                   ` dynamic-hz Andrea Arcangeli
2004-12-13 19:12                     ` dynamic-hz Pavel Machek
2004-12-13 20:34                       ` john stultz [this message]
2004-12-13 20:49                         ` dynamic-hz Pavel Machek
2004-12-14  2:04                           ` dynamic-hz Andrea Arcangeli
     [not found]                           ` <20041214013924.GB14617@atomide.com>
2004-12-14  9:37                             ` dynamic-hz Pavel Machek
2004-12-14 21:18                               ` dynamic-hz Tony Lindgren
2004-12-14 22:06                                 ` dynamic-hz Pavel Machek
2004-12-14 23:00                                   ` dynamic-hz linux-os
2004-12-14 23:13                                     ` dynamic-hz Tony Lindgren
2004-12-22 20:02                                       ` dynamic-hz Tony Lindgren
2004-12-14 23:04                                   ` dynamic-hz Tony Lindgren
2004-12-14  2:46                         ` dynamic-hz Andrea Arcangeli
2004-12-14 19:24                           ` dynamic-hz john stultz
2004-12-14  2:36                       ` dynamic-hz Andrea Arcangeli
2004-12-14  9:39                         ` dynamic-hz Pavel Machek
2004-12-14  9:59                         ` dynamic-hz Pavel Machek
2004-12-14 15:25                           ` dynamic-hz Andrea Arcangeli
2004-12-14 22:02                             ` USB making time drift [was Re: dynamic-hz] Pavel Machek
2004-12-14 23:16                               ` Andrea Arcangeli
2004-12-15  2:59                                 ` Gene Heskett
2004-12-15  9:17                                   ` Andrea Arcangeli
2004-12-15 16:44                                     ` Gene Heskett
2004-12-15 18:20                                       ` Andrea Arcangeli
2004-12-16  1:59                                         ` Gene Heskett
2004-12-16 11:30                                           ` Andrea Arcangeli
2004-12-16 12:50                                           ` Alan Cox
2004-12-15 20:16                                       ` Pavel Machek
2004-12-16  2:02                                         ` Gene Heskett
2004-12-15 17:03                                     ` Gene Heskett
2004-12-15 17:48                                       ` Tim Schmielau
2004-12-16  2:03                                         ` Gene Heskett
2004-12-16  0:58                                 ` Pavel Machek
2004-12-16  2:33                                   ` john stultz
2004-12-16  1:15                               ` Time goes crazy in 2.6.9 after long cli [was Re: USB making time drift] Pavel Machek
2004-12-16 11:13                                 ` Andrea Arcangeli
2004-12-16 12:49                                   ` Alan Cox
2004-12-13 14:50                 ` dynamic-hz Zwane Mwaikambo
2004-12-13  7:43       ` dynamic-hz Stefan Seyfried
2004-12-13 13:58         ` dynamic-hz Russell King
2004-12-13 14:14           ` dynamic-hz Russell King
2004-12-13 14:52           ` dynamic-hz Alan Cox
2004-12-13 16:23             ` dynamic-hz Russell King
2004-12-13 17:53               ` dynamic-hz Michael Buesch
2004-12-13 18:04                 ` dynamic-hz Russell King
2004-12-13 19:04               ` dynamic-hz Pavel Machek
2004-12-13 20:11               ` dynamic-hz Russell King
2004-12-14  0:16             ` dynamic-hz Eric St-Laurent
2004-12-15 18:04               ` dynamic-hz Alan Cox
2004-12-15 19:54                 ` dynamic-hz linux-os
2004-12-16  2:17                   ` dynamic-hz Gene Heskett
2004-12-16 12:42                     ` dynamic-hz linux-os
2004-12-17 20:12                     ` dynamic-hz H. Peter Anvin
2004-12-16  9:10                 ` dynamic-hz Gabriel Paubert
2004-12-16 12:17                   ` dynamic-hz Geert Uytterhoeven
2004-12-16 14:00                   ` dynamic-hz Mitchell Blank Jr
2004-12-13 15:30           ` dynamic-hz Zwane Mwaikambo
2004-12-13 15:59             ` dynamic-hz Russell King
2004-12-13 16:14               ` dynamic-hz Pavel Machek
2004-12-13 16:06           ` dynamic-hz Pavel Machek
2004-12-13 16:19         ` dynamic-hz Jan Engelhardt
2004-12-13  8:29       ` dynamic-hz Jan Engelhardt
2004-12-14 22:54         ` dynamic-hz Lee Revell
2004-12-14 23:38           ` dynamic-hz Chris Friesen
2004-12-15  8:32             ` dynamic-hz Jan Engelhardt
2004-12-13 11:02       ` dynamic-hz Andrew Morton
2004-12-13 11:17         ` dynamic-hz Andrea Arcangeli
2004-12-13 11:25           ` dynamic-hz Andrew Morton
2004-12-13 11:47             ` dynamic-hz Andrea Arcangeli
2004-12-14  3:56               ` dynamic-hz Nish Aravamudan
2004-12-14  3:54             ` dynamic-hz Nish Aravamudan
2004-12-14  4:29               ` dynamic-hz Andrew Morton
2004-12-14  5:25                 ` dynamic-hz Nish Aravamudan
2004-12-17 20:10                 ` dynamic-hz Nish Aravamudan
2004-12-14 10:01               ` dynamic-hz Domen Puncer
2004-12-14 16:56                 ` dynamic-hz Nish Aravamudan
2004-12-14 14:23               ` dynamic-hz linux-os
2004-12-14 16:54                 ` dynamic-hz Nish Aravamudan
2004-12-14 17:15                   ` dynamic-hz Andrea Arcangeli
2004-12-14 17:42                     ` dynamic-hz Nish Aravamudan
2004-12-14 18:29                       ` dynamic-hz Andrea Arcangeli
2004-12-14 19:00                         ` dynamic-hz Nish Aravamudan
2004-12-14 18:22                     ` dynamic-hz linux-os
2004-12-14 18:38                       ` dynamic-hz Andrea Arcangeli
2004-12-14 18:50                       ` dynamic-hz Pavel Machek
2004-12-13 11:19         ` dynamic-hz Hans Kristian Rosbach
2004-12-13 11:22           ` dynamic-hz Pavel Machek
2004-12-13 11:39             ` dynamic-hz Andrea Arcangeli
2004-12-13 12:51             ` dynamic-hz Hans Kristian Rosbach
2004-12-13 13:01               ` dynamic-hz Andrea Arcangeli
2004-12-13 13:02                 ` dynamic-hz Andrea Arcangeli
2004-12-13 15:06               ` dynamic-hz Geert Uytterhoeven
2004-12-13 16:12                 ` dynamic-hz Pavel Machek
2004-12-13 16:14                   ` dynamic-hz Geert Uytterhoeven
2004-12-14  4:06                   ` dynamic-hz Nish Aravamudan
2004-12-14  4:05               ` dynamic-hz Nish Aravamudan
2004-12-13 11:33           ` dynamic-hz Andrea Arcangeli
2004-12-13 14:38           ` dynamic-hz Zwane Mwaikambo
2004-12-13 12:00       ` dynamic-hz Alan Cox
2004-12-13 15:52         ` dynamic-hz Andrea Arcangeli
2004-12-14 22:28       ` dynamic-hz Lee Revell
2004-12-14 22:40         ` dynamic-hz Con Kolivas
2004-12-14 22:50           ` dynamic-hz Lee Revell
2004-12-13 20:26 ` dynamic-hz Olaf Hering
2004-12-13 22:41   ` dynamic-hz Andrea Arcangeli
2004-12-13 20:56 ` dynamic-hz john stultz
2004-12-13 22:21   ` dynamic-hz Andrea Arcangeli

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=1102970039.1281.415.camel@cog.beaverton.ibm.com \
    --to=johnstul@us.ibm.com \
    --cc=andrea@suse.de \
    --cc=kernel@kolivas.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pavel@suse.cz \
    --cc=zwane@arm.linux.org.uk \
    /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).