From: Arnd Bergmann <arnd@arndb.de>
To: Aubrey <aubreylee@gmail.com>
Cc: "Luke Yang" <luke.adi@gmail.com>,
linux-kernel@vger.kernel.org, "Andrew Morton" <akpm@osdl.org>
Subject: Re: [PATCH 1/4] Blackfin: arch patch for 2.6.18
Date: Mon, 25 Sep 2006 08:54:04 +0200 [thread overview]
Message-ID: <200609250854.04470.arnd@arndb.de> (raw)
In-Reply-To: <6d6a94c50609232035x4025672dg4f02b3bcceb6d531@mail.gmail.com>
On Sunday 24 September 2006 05:35, Aubrey wrote:
> > This looks racy. What if you get an interrupt after testing need_resched()
> > but before the idle instruction?
> >
> > Normally, this should look like
> >
> > while(!need_resched()) {
> > local_irq_disable();
> > if (!need_resched())
> > asm volatile("idle");
> > local_irq_enable();
> > }
> >
> > Of course that only works if your idle instruction wakes up on pending
> > interrupts.
>
>
> No, that doesn't work on blackfin. Blackfin need interrupt(here is
> timer interrupt) to wake up the core from IDLE mode. Once you disable
> the interrupt, the core will sleep forever.
Ok, then this is something you should take back as feedback to your
CPU designers. With the behavior you describe, the interrupt latency
(until the point where an application runs) can be up to one jiffy
longer than it should be, which is unacceptable for many real-time
users.
Worse, it means that you can not use the CONFIG_NO_IDLE_HZ option in the
future, because you have no way to guarantee that you ever wake up from
idle if you hit the race.
Arnd <><
next prev parent reply other threads:[~2006-09-25 6:54 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-21 3:32 [PATCH 1/4] Blackfin: arch patch for 2.6.18 Luke Yang
2006-09-21 9:59 ` Luke Yang
2006-09-23 0:18 ` Arnd Bergmann
2006-09-23 1:18 ` Randy.Dunlap
2006-09-23 1:24 ` Roland Dreier
2006-09-23 1:58 ` Mike Frysinger
2006-09-23 6:50 ` Mike Frysinger
2006-09-23 11:03 ` Arnd Bergmann
2006-09-23 11:15 ` Mike Frysinger
2006-09-23 11:29 ` Arnd Bergmann
2006-09-23 13:07 ` Arnd Bergmann
2006-09-23 11:28 ` Matthieu CASTET
2006-09-23 11:35 ` Mike Frysinger
2006-09-23 19:43 ` Arnd Bergmann
2006-09-24 3:49 ` Luke Yang
2006-09-24 3:35 ` Aubrey
2006-09-24 3:50 ` Randy Dunlap
2006-09-24 4:28 ` Aubrey
2006-09-25 6:54 ` Arnd Bergmann [this message]
2006-09-25 7:49 ` Aubrey
2006-09-25 9:26 ` Arnd Bergmann
2006-09-25 9:39 ` Luke Yang
2006-09-25 9:45 ` Aubrey
2006-09-25 15:39 ` Aubrey
2006-09-25 17:05 ` Arnd Bergmann
2006-09-26 3:42 ` Aubrey
2006-09-26 9:43 ` Arnd Bergmann
2006-09-27 10:04 ` Aubrey
2006-09-27 11:37 ` Arnd Bergmann
2006-09-23 21:27 ` David Woodhouse
2006-09-25 16:52 ` Randy Dunlap
2006-09-25 18:05 ` Mike Frysinger
-- strict thread matches above, loose matches on Subject: below --
2006-09-23 16:29 Robin Getz
2006-09-23 18:10 ` Arnd Bergmann
2006-09-23 17:57 Robin Getz
2006-09-23 23:25 Robin Getz
2006-09-24 7:29 ` David Woodhouse
2006-09-25 23:21 Robin Getz
2006-09-27 16:25 Robin Getz
2006-09-27 16:36 ` Randy Dunlap
2006-09-27 16:41 ` Arnd Bergmann
2006-09-27 17:19 ` Robin Getz
2006-09-27 20:57 ` Arnd Bergmann
2006-09-28 9:31 ` Bernd Schmidt
2006-09-28 11:04 ` Arnd Bergmann
2006-09-28 11:39 ` Bernd Schmidt
2006-09-28 12:35 ` Arnd Bergmann
2006-09-27 17:47 Robin Getz
2006-09-27 19:19 ` Jörn Engel
2006-09-27 21:22 Robin Getz
2006-09-27 21:36 ` Arnd Bergmann
2006-09-27 22:56 Robin Getz
2006-09-27 23:01 Robin Getz
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=200609250854.04470.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=akpm@osdl.org \
--cc=aubreylee@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luke.adi@gmail.com \
/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