From: Ingo Molnar <mingo@elte.hu>
To: Roman Zippel <zippel@linux-m68k.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org, John Stultz <johnstul@us.ibm.com>
Subject: Re: [PATCH 01/13] hrtimer: round up relative start time
Date: Mon, 13 Feb 2006 14:01:43 +0100 [thread overview]
Message-ID: <20060213130143.GA10771@elte.hu> (raw)
In-Reply-To: <Pine.LNX.4.61.0602131208050.30994@scrub.home>
* Roman Zippel <zippel@linux-m68k.org> wrote:
> > This adds an artificial offset to the expiry time, for what reason? The
> > expiry code makes sure that timers can not expire early. See:
> >
> > timer = rb_entry(node, struct hrtimer, node);
> > if (now.tv64 <= timer->expires.tv64)
> > break;
> >
> > in kernel/hrtimers.c:run_hrtimer_queue(), where now is already tick
> > aligned.
> >
> > Please provide a testcase (or detailed use-case) which proves that this
> > is necessary.
>
> Let's assume a get_time() which simply returns xtime and so has a
> resolution of around TICK_NSEC. This means the real time when one
> calls get_time() is somewhere between xtime and xtime+TICK_NSEC.
> Assuming the real time is xtime+TICK_NSEC-1, get_time() will return
> xtime and a relative timer with TICK_NSEC-1 will expire immediately.
> The old code did this correctly. For most hardware this is not a real
> issue, as the delivery time is larger than the clock resolution, but
> unless you can guarantee it's not an issue on _any_ supported
> hardware, this fix is needed. As I already said this can be better
> fixed as soon as we have a better clock abstraction, until then this
> is only restores the old behaviour.
but there is no 'old behavior' to restore to. The +1 to itimer intervals
caused artifacts that were hitting users and caused 2.4 -> 2.6 itimer
regressions, which hrtimers fixed. E.g.:
http://bugzilla.kernel.org/show_bug.cgi?id=3289
so i dont think restoring the first timeout of an interval timer to be
increased by resolution [which your patch does] has any meaning. It
'restores' to half of what 2.6 did prior hrtimers. Doing that would be
inconsistent and would push the 'sum-up' errors observed for interval
timers above to be again observable in user-space (if user-space does a
series of timeouts). What's the point?
Ingo
next prev parent reply other threads:[~2006-02-13 13:03 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-13 1:09 [PATCH 01/13] hrtimer: round up relative start time Roman Zippel
2006-02-13 10:52 ` Thomas Gleixner
2006-02-13 11:25 ` Roman Zippel
2006-02-13 13:01 ` Ingo Molnar [this message]
2006-02-13 13:42 ` Roman Zippel
2006-02-13 14:44 ` Ingo Molnar
2006-02-13 15:49 ` Roman Zippel
2006-02-13 19:55 ` Ingo Molnar
2006-02-13 22:29 ` Roman Zippel
2006-02-14 7:41 ` Ingo Molnar
2006-02-14 10:18 ` Roman Zippel
2006-02-14 12:20 ` [patch] hrtimer: round up relative start time on low-res arches Ingo Molnar
2006-02-14 21:51 ` Thomas Gleixner
2006-02-15 0:30 ` Roman Zippel
2006-02-15 9:19 ` Ingo Molnar
2006-02-15 12:26 ` Roman Zippel
2006-02-15 20:43 ` john stultz
2006-02-16 14:10 ` Roman Zippel
2006-02-16 19:06 ` john stultz
2006-02-16 23:44 ` Roman Zippel
2006-02-17 0:28 ` john stultz
2006-02-17 15:02 ` Roman Zippel
2006-02-14 10:26 ` [PATCH 01/13] hrtimer: round up relative start time Thomas Gleixner
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=20060213130143.GA10771@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@osdl.org \
--cc=johnstul@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=zippel@linux-m68k.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