linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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: Wed, 13 Dec 2006 14:47:52 +0100 (CET)	[thread overview]
Message-ID: <Pine.LNX.4.64.0612131338420.1867@scrub.home> (raw)
In-Reply-To: <1165956021.20229.10.camel@localhost>

Hi,

On Tue, 12 Dec 2006, john stultz wrote:

> Basically INTERVAL_LENGTH_NSEC defines the NTP interval length that the
> time code will use to accumulate with. In this patch I've pushed it out
> to a full second, but it could be set via config (NSEC_PER_SEC/HZ for
> regular systems, something larger for systems using dynticks).

Why do you want to use such an interval? This makes everything only more 
complicated.
The largest possible interval is freq cycles (or 1 second without 
adjustments). That is the base interval and without redesigning NTP we 
can't change that. This base interval can be subdivided into smaller
intervals for incremental updates.
You cannot choose arbitrary intervals otherwise you get other problems, 
e.g. with your patch time_offset handling is broken.

> +	/* calculate the length of one NTP adjusted second */
> +	second_length = (u64)(tick_usec * NSEC_PER_USEC * USER_HZ);
> +	second_length += (s64)CLOCK_TICK_ADJUST;
> +	adj_length = (s64)time_freq;
> +
> +	/* calculate tick length @ HZ*/
> +	tick_length = (second_length << TICK_LENGTH_SHIFT)
> +			+ (adj_length << (TICK_LENGTH_SHIFT - SHIFT_NSEC));
> +	do_div(tick_length, HZ);
> +	tick_nsec = tick_length >> TICK_LENGTH_SHIFT;
> +
> +
> +	/* calculate interval_length_base */
> +	/* XXX - this is broken up to avoid 64bit overlfows */
> +	interval_length_base = second_length * INTERVAL_LENGTH_NSEC;
> +	interval_length_base <<= 2;
> +	do_div(interval_length_base, NSEC_PER_SEC);
> +	interval_length_base <<= TICK_LENGTH_SHIFT-2;

You don't have to introduce anything new, it's tick_length that changes 
and HZ that becomes a variable in this function.

bye, Roman

  parent reply	other threads:[~2006-12-13 13:58 UTC|newest]

Thread overview: 85+ 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 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 [this message]
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
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=Pine.LNX.4.64.0612131338420.1867@scrub.home \
    --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 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).