From: George Anzinger <george@mvista.com>
To: tglx@linutronix.de
Cc: Roman Zippel <zippel@linux-m68k.org>,
linux-kernel@vger.kernel.org, Andrew Morton <akpm@osdl.org>,
rostedt@goodmis.org, johnstul@us.ibm.com, mingo@elte.hu
Subject: Re: [patch 00/21] hrtimer - High-resolution timer subsystem
Date: Mon, 12 Dec 2005 17:25:28 -0800 [thread overview]
Message-ID: <439E2308.1000600@mvista.com> (raw)
In-Reply-To: <1134405768.4205.190.camel@tglx.tec.linutronix.de>
Thomas Gleixner wrote:
~
>
>
>>I wouldn't say a 1 day interval timer is a very realistic example and the
>>old timer wouldn't be very precise for this.
>
>
> Sure, as all comparisons are flawed. I just used a simple example to
> illustrate my POV.
>
>
>>The rationale for example talks about "a periodic timer with an absolute
>>_initial_ expiration time", so I could also construct a valid example with
>>this expectation. The more I read the spec the more I think the current
>>behaviour is not correct, e.g. that ABS_TIME is only relevant for
>>it_value.
>>So I'm interested in specific interpretations of the spec which support
>>the current behaviour.
My $0.02 worth: It is clear (from the standard) that the initial time
is to be ABS_TIME. It is also clear that the interval is to be added
to that time. IMHO then, the result should have the same property,
i.e. ABS_TIME. Sort of like adding an offset to a relative address.
The result is still relative.
>
>
> Unfortunately you find just the spec all over the place. I fear we have
> to find and agree on an interpretation ourself.
>
> I agree, that the restriction to the initial it_value is definitely
> something you can read out of the spec. But it does not make a lot of
> sense for me. Also the restriction to TIMER_ABSTIME is somehow strange
> as it converts an CLOCK_REALTIME timer to a CLOCK_MONOTONIC timer. I
> never understood the rationale behind that.
I don't think it really does that. The TIMER_ABSTIME flag just says
that the time requested is to be taken as "clock" time (which ever
clock) AND that this is to be the expire time regardless of clock
setting. We, in an attempt to simplify the lists, convert the expire
time into some common time notation (in most cases we convert relative
times to absolute times) but this introduces problems because the
caller has _asked_ for a relative or absolute time and not the other.
If the clock can not be set this is not a problem. If it can, well,
we need to keep track of what the caller wanted, absolute or relative.
It might help others to understand this if you were to remove the
clock names from your queues and instead call them "absolute_real" and
"up_time". Then it would be more clear, I think, that we are mapping
user requests onto these queues based on the desired functionality
without a predilection to put a timer on a given queue just because a
particular clock was requested. At this point it becomes clear, for
example, that a TIMER_ABSTIME request on the real clock is the _only_
request that should be mapped to the "absolute_real" list.
>
~
--
George Anzinger george@mvista.com
HRT (High-res-timers): http://sourceforge.net/projects/high-res-timers/
next prev parent reply other threads:[~2005-12-13 1:26 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-06 0:01 [patch 00/21] hrtimer - High-resolution timer subsystem tglx
2005-12-06 0:01 ` [patch 01/21] Move div_long_long_rem out of jiffies.h tglx
2005-12-06 0:01 ` [patch 02/21] Remove duplicate div_long_long_rem implementation tglx
2005-12-06 0:01 ` [patch 03/21] Deinline mktime and set_normalized_timespec tglx
2005-12-06 0:01 ` [patch 04/21] Clean up mktime and make arguments const tglx
2005-12-06 0:01 ` [patch 05/21] Export deinlined mktime tglx
2005-12-06 0:01 ` [patch 06/21] Remove unused clock constants tglx
2005-12-06 0:01 ` [patch 07/21] Coding style clean up of " tglx
2005-12-06 0:01 ` [patch 08/21] Coding style and white space cleanup tglx
2005-12-06 0:01 ` [patch 09/21] Make clockid_t arguments const tglx
2005-12-06 0:01 ` [patch 10/21] Coding style and white space cleanup tglx
2005-12-06 0:01 ` [patch 11/21] Create and use timespec_valid macro tglx
2005-12-06 0:01 ` [patch 12/21] Validate timespec of do_sys_settimeofday tglx
2005-12-06 0:01 ` [patch 13/21] Introduce nsec_t type and conversion functions tglx
2005-12-06 0:01 ` [patch 14/21] Introduce ktime_t time format tglx
2005-12-06 0:01 ` [patch 15/21] hrtimer core code tglx
2005-12-15 3:43 ` Matt Helsley
2005-12-06 0:01 ` [patch 16/21] hrtimer documentation tglx
2005-12-06 0:01 ` [patch 17/21] Switch itimers to hrtimer tglx
2005-12-06 0:01 ` [patch 18/21] Create hrtimer nanosleep API tglx
2005-12-06 0:01 ` [patch 19/21] Switch sys_nanosleep to hrtimer tglx
2005-12-06 0:01 ` [patch 20/21] Switch clock_nanosleep to hrtimer nanosleep API tglx
2005-12-06 0:01 ` [patch 21/21] Convert posix timers completely tglx
2005-12-06 17:32 ` [patch 00/21] hrtimer - High-resolution timer subsystem Roman Zippel
2005-12-06 19:07 ` Ingo Molnar
2005-12-07 3:05 ` Roman Zippel
2005-12-08 5:18 ` Paul Jackson
2005-12-08 8:12 ` Ingo Molnar
2005-12-08 9:26 ` Ingo Molnar
2005-12-08 13:08 ` Roman Zippel
2005-12-08 15:36 ` Steven Rostedt
2005-12-06 22:10 ` Thomas Gleixner
2005-12-07 3:11 ` Roman Zippel
2005-12-06 22:28 ` Thomas Gleixner
2005-12-07 9:31 ` Andrew Morton
2005-12-07 10:11 ` Ingo Molnar
2005-12-07 10:20 ` Ingo Molnar
2005-12-07 10:23 ` Nick Piggin
2005-12-07 10:49 ` Ingo Molnar
2005-12-07 11:09 ` Nick Piggin
2005-12-07 11:33 ` Ingo Molnar
2005-12-07 11:40 ` Nick Piggin
2005-12-07 13:06 ` Roman Zippel
2005-12-07 12:40 ` Roman Zippel
2005-12-07 23:12 ` Nick Piggin
2005-12-07 12:18 ` Roman Zippel
2005-12-07 16:55 ` Ingo Molnar
2005-12-07 17:17 ` Roman Zippel
2005-12-07 17:57 ` Ingo Molnar
2005-12-07 18:18 ` Roman Zippel
2005-12-07 18:02 ` Paul Baxter
2005-12-09 17:23 ` Thomas Gleixner
2005-12-12 13:39 ` Roman Zippel
2005-12-12 16:42 ` Thomas Gleixner
2005-12-12 18:37 ` Thomas Gleixner
2005-12-13 1:25 ` George Anzinger [this message]
2005-12-13 9:18 ` Thomas Gleixner
2005-12-15 1:35 ` Roman Zippel
2005-12-15 2:29 ` George Anzinger
2005-12-19 14:56 ` Roman Zippel
2005-12-19 20:54 ` George Anzinger
2005-12-21 23:03 ` Roman Zippel
2005-12-22 4:30 ` George Anzinger
2005-12-14 20:48 ` Roman Zippel
2005-12-14 22:30 ` Thomas Gleixner
2005-12-15 0:55 ` George Anzinger
2005-12-15 14:18 ` Steven Rostedt
2005-12-19 14:50 ` Roman Zippel
2005-12-19 22:05 ` Thomas Gleixner
-- strict thread matches above, loose matches on Subject: below --
2005-12-13 12:45 Nicolas Mailhot
2005-12-13 23:38 ` George Anzinger
2005-12-14 8:58 ` Kyle Moffett
2005-12-14 10:03 ` Nicolas Mailhot
2005-12-15 1:11 ` George Anzinger
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=439E2308.1000600@mvista.com \
--to=george@mvista.com \
--cc=akpm@osdl.org \
--cc=johnstul@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.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