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 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.