From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Timur Tabi <timur@freescale.com>,
linux-kernel@vger.kernel.org, rdreier@cisco.com,
jirislaby@gmail.com, peterz@infradead.org, will.newton@gmail.com,
hancockrwd@gmail.com, jeremy@goop.org
Subject: Re: [PATCH v4] introduce macro spin_event_timeout()
Date: Wed, 11 Mar 2009 11:01:51 +1100 [thread overview]
Message-ID: <1236729711.7086.28.camel@pasglop> (raw)
In-Reply-To: <20090310153537.5fd5d84d@lxorguk.ukuu.org.uk>
On Tue, 2009-03-10 at 15:35 +0000, Alan Cox wrote:
> > This primary purpose of this macro is to poll on a hardware register until a
> > status bit changes. The timeout ensures that the loop still terminates if the
> > bit doesn't change as expected. This macro makes it easier for driver
> > developers to perform this kind of operation properly.
>
> NAK this - on a lot of platforms 1uS is the wrong timescale. Also we
> shouldn't be encouraging this kind of polling by making it very easy to
> write.
>
> It might be a useful internal macro for some freescale drivers but if so
> it doesn't belong in the core headers
I don't totally agree with your reasoning here Alan.
A simple fact of life is that drivers -will- do that sort spinning. They
don't always have a choice. Now do we want all drivers to do it
differently and get it wrong (such as not having timeouts etc...) or do
we provide a helper that has the added advantage of allowing us a lot
more easily to audit them ?
Hell, we can even make the helper warn if called with a too high timeout
value or that sort of thing...
I think it's all benefit to move that sort of cruft to a generic helper
like that in the long run.
Cheers,
Ben.
next prev parent reply other threads:[~2009-03-11 0:04 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-10 15:30 [PATCH v4] introduce macro spin_event_timeout() Timur Tabi
2009-03-10 15:35 ` Alan Cox
2009-03-10 15:50 ` Timur Tabi
2009-03-10 16:05 ` Will Newton
2009-03-10 16:11 ` Timur Tabi
2009-03-11 0:01 ` Benjamin Herrenschmidt [this message]
2009-03-11 0:37 ` Alan Cox
2009-03-11 16:48 ` Timur Tabi
2009-03-11 16:58 ` Alan Cox
2009-03-11 18:18 ` Timur Tabi
2009-03-11 21:58 ` Benjamin Herrenschmidt
2009-03-12 2:45 ` Grant Likely
2009-03-12 15:54 ` Timur Tabi
2009-03-12 16:01 ` Grant Likely
2009-03-12 16:19 ` Timur Tabi
2009-03-12 16:50 ` Peter Zijlstra
2009-03-12 19:05 ` Timur Tabi
2009-03-13 3:03 ` Benjamin Herrenschmidt
2009-03-13 4:51 ` Grant Likely
2009-03-10 18:41 ` Grant Likely
2009-03-10 19:04 ` Timur Tabi
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=1236729711.7086.28.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=hancockrwd@gmail.com \
--cc=jeremy@goop.org \
--cc=jirislaby@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=rdreier@cisco.com \
--cc=timur@freescale.com \
--cc=will.newton@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 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.