From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: santosh prasad nayak <santoshprasadnayak@gmail.com>
Cc: FlorianSchandinat@gmx.de, linux-fbdev@vger.kernel.org,
linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: Re: [PATCH] Video : Amba: Use in_interrupt() in clcdfb_sleep().
Date: Sun, 11 Mar 2012 14:36:15 +0000 [thread overview]
Message-ID: <20120311143615.GB13336@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <CAOD=uF7kQHABCmxUL3-J-hZ1E2mXrb7dgsYq7msHhiPJ4Gm-Ew@mail.gmail.com>
On Sun, Mar 11, 2012 at 07:47:27PM +0530, santosh prasad nayak wrote:
> Not to use in_atomic() in driver code.
>
> Following article inspired me to do the change.
> http://lwn.net/Articles/274695/
>
> "in_atomic() is for core kernel use only. Because in special
> circumstances (ie: kmap_atomic()) we run inc_preempt_count() even on
> non-preemptible kernels to tell the per-arch fault handler that it was
> invoked by copy_*_user() inside kmap_atomic(), and it must fail.
> In other words, in_atomic() works in a specific low-level situation,
> but it was never meant to be used in a wider context. Its placement in
> hardirq.h next to macros which can be used elsewhere was, thus, almost
> certainly a mistake. As Alan Stern pointed out, the fact that Linux
> Device Drivers recommends the use of in_atomic() will not have helped
> the situation. Your editor recommends that the authors of that book be
> immediately sacked. "
>
> In the present case, we just check whether its an IRQ context or user
> context. So for that
> we can use "in_interrupt()".
>
> Greg also mentions the same in the following mail.
> http://www.spinics.net/lists/newbies/msg43402.html
In which case, we'll just have to do mdelay() and forget about allowing
anything else to run for the 20ms that we need to sleep. Sucky but
that's the way things are.
next prev parent reply other threads:[~2012-03-11 14:36 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-11 13:26 [PATCH] Video : Amba: Use in_interrupt() in clcdfb_sleep() santosh nayak
2012-03-11 13:22 ` richard -rw- weinberger
2012-03-11 13:27 ` Russell King - ARM Linux
2012-03-11 14:29 ` santosh prasad nayak
2012-03-11 14:36 ` Russell King - ARM Linux [this message]
2012-03-11 14:49 ` santosh prasad nayak
2012-03-11 15:03 ` Russell King - ARM Linux
2012-03-11 15:31 ` santosh prasad nayak
2012-03-11 15:48 ` Russell King - ARM Linux
2012-03-11 16:49 ` santosh prasad nayak
2012-03-11 16:42 ` Russell King - ARM Linux
2012-03-11 16:58 ` santosh prasad nayak
2012-03-11 17:05 ` Russell King - ARM Linux
2012-03-11 18:24 ` Alan Cox
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=20120311143615.GB13336@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=FlorianSchandinat@gmx.de \
--cc=kernel-janitors@vger.kernel.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=santoshprasadnayak@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;
as well as URLs for NNTP newsgroup(s).