From: Nish Aravamudan <nish.aravamudan@gmail.com>
To: "jdavis@accessline.com" <jdavis@accessline.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Odd Timer behavior in 2.6 vs 2.4 (1 extra tick)
Date: Fri, 29 Apr 2005 14:28:49 -0700 [thread overview]
Message-ID: <29495f1d05042914285b83beaa@mail.gmail.com> (raw)
In-Reply-To: <E29E71BB437ED411B12A0008C7CF755B2BC9BE@mail.accessline.com>
On 4/8/05, jdavis@accessline.com <jdavis@accessline.com> wrote:
>
>
> Hello,
>
> I've created a pretty straight forward timer using setitimer, and noticed
> some odd differences between 2.4 and 2.6, I wonder if I could get a
> clarification if this is the way it should work, or if I should continue to
> try to "fix" it.
>
> I create a RealTime Thread( SCHED_FIFO, maxPriority-1 ) (also tried
> SCHED_RR) ...
>
> that creates a timer ...setitimer( ITIMER_REAL, SIGALRM) with a 10 milli
> period. (I've also tried timer_create with CLOCK_REALTIME and SIGRTMIN)
>
> and then the thread does a sem_wait() on a semaphore.
>
> the signal handler does a sem_post() .
>
> on 2.4.X the (idle) worst case latency is ~40 microseconds,
> on 2.6.X the (idle) latency is about the same plus 1 tick of the scheduler
> ~1000 micro seconds... Always.. Every time.
> So to work around this on 2.6 I simply subtract 1 millisecond from my timer
> as a fudge factor and everything works as expected.
There are several problems with the current soft-timer subsystem in
this area. Basically, the actual tick rate is slightly more than once
per millisecond, which requires adding one jiffy to compensate.
Additionally, one can't be sure ``where'' one is within a tick, so
another jiffy has to be added, to make sure the timer does not go off
early. sys_nanosleep() does something similar.
I will be submitting an RFC based on John Stultz's timeofday rework
which tries to resolve these issues.
Thanks,
Nish
prev parent reply other threads:[~2005-04-29 21:30 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-08 17:39 Odd Timer behavior in 2.6 vs 2.4 (1 extra tick) jdavis
2005-04-08 22:19 ` Steven Rostedt
2005-04-21 2:58 ` [PATCH] Bad rounding in timeval_to_jiffies [was: Re: Odd Timer behavior in 2.6 vs 2.4 (1 extra tick)] Steven Rostedt
2005-04-21 3:40 ` Steven Rostedt
2005-04-21 8:51 ` Russell King
2005-04-21 10:51 ` Steven Rostedt
2005-04-21 14:58 ` Linus Torvalds
2005-04-21 15:34 ` Steven Rostedt
2005-04-21 15:53 ` Chris Friesen
2005-04-21 16:13 ` Linus Torvalds
2005-04-22 2:54 ` Edgar Toernig
2005-04-29 21:28 ` Nish Aravamudan [this message]
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=29495f1d05042914285b83beaa@mail.gmail.com \
--to=nish.aravamudan@gmail.com \
--cc=jdavis@accessline.com \
--cc=linux-kernel@vger.kernel.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