From: Roman Zippel <zippel@linux-m68k.org>
To: john stultz <johnstul@us.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org
Subject: Re: [RFC] HZ free ntp
Date: Sat, 6 Jan 2007 17:56:20 +0100 [thread overview]
Message-ID: <200701061756.20470.zippel@linux-m68k.org> (raw)
In-Reply-To: <1167771052.3141.32.camel@localhost>
Hi,
On Tuesday 02 January 2007 21:50, john stultz wrote:
> > > It should be called every NTP_INTERVAL_FREQ times, but occasionally
> > > it's off
>
> Wait, so second_overflow should be called every NTP_INTERVAL_FREQ times
> (instead of every second)? Surely that's not right.
But it is, that's the reason the various adjustment values are divided by it,
so they are applied to the next NTP_INTERVAL_FREQ times.
BTW I think NTP_INTERVAL_FREQ isn't the right name, CLOCK_UPDATE_FREQ would be
a better name, currently ntp is the main user, but a clock can also be
updated via other means (e.g. adjtimex or another clock).
> > > So in this case the loop in update_wall_time() should rather look like
> > > this:
> > >
> > > while (offset >= clock->cycle_interval) {
> > > ...
> > > second_overflow();
> > > while (clock->xtime_nsec >= (u64)NSEC_PER_SEC << clock->shift) {
> > > clock->xtime_nsec -= (u64)NSEC_PER_SEC << clock->shift;
> > > xtime.tv_sec++;
> > > }
> > > ...
> > > }
> > >
> > > (Also note the change from "if" to "while".)
>
> This would assume that clock->cycle_interval would *always* be the
> length of a full second and that isn't what the patch trying to do.
>
> Maybe could you explain this some more?
As I said this was the case for a value of one.
Anyway, to avoid these problems, I'd prefer to keep it at least at 2 or better
at 4. This would still drastically reduce the time spent in the loop and we
can revisit the issue later.
bye, Roman
next prev parent reply other threads:[~2007-01-07 2:09 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-05 4:40 -mm merge plans for 2.6.20 Andrew Morton
2006-12-05 4:56 ` Jeff Garzik
2006-12-05 5:41 ` Andrew Morton
2006-12-05 7:04 ` Jens Axboe
2006-12-05 15:00 ` Mark Lord
2006-12-06 19:19 ` Conke Hu
2006-12-06 19:26 ` Randy Dunlap
2006-12-06 19:40 ` Jeff Garzik
2006-12-06 22:36 ` Andrew Morton
2006-12-05 5:14 ` Paul Mackerras
2006-12-05 5:42 ` Andrew Morton
2006-12-05 5:53 ` Nick Piggin
2006-12-05 5:49 ` Nick Piggin
2006-12-05 8:36 ` Gautham R Shenoy
2006-12-05 8:47 ` Peter Zijlstra
2006-12-05 11:06 ` ext2 future [was Re: -mm merge plans for 2.6.20] Pavel Machek
2006-12-05 13:23 ` -mm merge plans for 2.6.20 John W. Linville
2006-12-05 14:27 ` Roman Zippel
2006-12-06 3:46 ` Horst Schirmeier
2006-12-05 16:02 ` Dave Jones
2006-12-12 17:49 ` Dave Jones
2006-12-19 5:20 ` Nick Piggin
2006-12-19 6:44 ` Dave Jones
2006-12-19 7:02 ` Nick Piggin
2007-01-07 17:36 ` page_mapcount(page) went negative Dave Jones
2007-01-10 23:53 ` Nick Piggin
2006-12-05 17:35 ` -mm merge plans for 2.6.20 James Simmons
2006-12-05 18:01 ` Andrew Morton
2006-12-05 18:25 ` James Simmons
2006-12-05 18:37 ` [PATCH] backlight sysfs change to the fbdev drivers James Simmons
2006-12-05 18:37 ` James Simmons
2006-12-05 19:43 ` -mm merge plans for 2.6.20 Andrew Morton
2006-12-05 19:59 ` James Simmons
2006-12-05 20:20 ` Andrew Morton
2006-12-05 21:34 ` James Simmons
2006-12-06 23:40 ` Andrew Morton
2006-12-07 14:31 ` James Simmons
2006-12-05 20:40 ` Miguel Ojeda
2006-12-06 14:42 ` James Simmons
2006-12-05 19:18 ` Josef Sipek
2006-12-05 19:21 ` [PATCH 1/2] fsstack: Make fsstack_copy_attr_all copy inode size Josef Sipek
2006-12-05 19:22 ` [PATCH 2/2] fsstack: Fix up ecryptfs's fsstack usage Josef Sipek
2006-12-05 22:28 ` Andrew Morton
2006-12-05 22:38 ` Josef Sipek
2006-12-05 22:49 ` Andrew Morton
2006-12-05 23:16 ` Josef Sipek
2006-12-05 21:00 ` -mm merge plans for 2.6.20 Ingo Molnar
2006-12-05 21:17 ` -mm merge plans for 2.6.20, scheduler bits Ingo Molnar
2006-12-05 20:59 ` Siddha, Suresh B
2006-12-05 21:47 ` Ingo Molnar
2006-12-05 21:29 ` Miguel Ojeda
2006-12-06 2:59 ` -mm merge plans for 2.6.20 Roman Zippel
2006-12-06 4:30 ` Andrew Morton
2006-12-06 8:32 ` Thomas Gleixner
2006-12-06 12:54 ` Roman Zippel
2006-12-06 13:11 ` Ingo Molnar
2006-12-06 14:33 ` Roman Zippel
2006-12-06 15:22 ` Ingo Molnar
2006-12-06 16:42 ` Roman Zippel
2006-12-06 16:58 ` Ingo Molnar
2006-12-06 16:59 ` Ingo Molnar
2006-12-12 20:40 ` [RFC] HZ free ntp john stultz
2006-12-13 9:51 ` Ingo Molnar
2006-12-13 18:48 ` john stultz
2006-12-13 13:47 ` Roman Zippel
2006-12-13 19:19 ` john stultz
2006-12-13 20:40 ` Roman Zippel
2006-12-20 1:32 ` john stultz
2006-12-20 1:54 ` john stultz
2006-12-21 4:26 ` Andrew Morton
2007-01-01 18:29 ` Roman Zippel
2007-01-02 19:46 ` john stultz
2007-01-02 20:50 ` john stultz
2007-01-06 16:56 ` Roman Zippel [this message]
2007-01-22 19:27 ` [patch] HZ-free NTP Ingo Molnar
2007-01-22 19:39 ` Ingo Molnar
2007-01-01 16:27 ` [RFC] HZ free ntp Roman Zippel
2007-01-02 19:42 ` john stultz
2007-01-06 16:46 ` Roman Zippel
2006-12-06 12:33 ` -mm merge plans for 2.6.20 Roman Zippel
2006-12-08 14:09 ` Stephen Smalley
2006-12-08 20:58 ` Andrew Morton
2006-12-10 15:07 ` Mimi Zohar
2006-12-09 9:30 ` Randy Dunlap
2006-12-09 9:44 ` Andrew Morton
2006-12-10 20:12 ` Randy Dunlap
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=200701061756.20470.zippel@linux-m68k.org \
--to=zippel@linux-m68k.org \
--cc=akpm@osdl.org \
--cc=johnstul@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/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.