All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrian Bunk <bunk@stusta.de>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: inappropriate use of in_atomic()
Date: Tue, 31 May 2005 02:20:27 +0200	[thread overview]
Message-ID: <20050531002027.GE3627@stusta.de> (raw)
In-Reply-To: <20050310204006.48286d17.akpm@osdl.org>

On Thu, Mar 10, 2005 at 08:40:06PM -0800, Andrew Morton wrote:
> 
> in_atomic() is not a reliable indication of whether it is currently safe
> to call schedule().
> 
> This is because the lockdepth beancounting which in_atomic() uses is only
> accumulated if CONFIG_PREEMPT=y.  in_atomic() will return false inside
> spinlocks if CONFIG_PREEMPT=n.
> 
> Consequently the use of in_atomic() in the below files is probably
> deadlocky if CONFIG_PREEMPT=n:

I haven't looked deeper into it, but as a FYI the following files from 
your list still use in_atomic in 2.6.12-rc5-mm1:

>...
> 	drivers/net/irda/sir_kthread.c
> 	drivers/net/wireless/airo.c
> 	drivers/video/amba-clcd.c
> 	drivers/acpi/osl.c
> 	drivers/ieee1394/ieee1394_transactions.c
>...


> Note that the same beancounting is used for the "scheduling while atomic"
> warning, so if the code calls schedule with locks held, we won't get a
> warning.  Both are tied to CONFIG_PREEMPT=y.
> 
> The kernel provides no reliable runtime way of detecting whether or not it
> is safe to call schedule().
> 
> Can we please find ways to change the above code to not use in_atomic()? 
> Then we can whack #ifndef MODULE around its definition to reduce
> reoccurrences.  Will probably rename it to something more scary as well.
> 
> Thanks.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


      parent reply	other threads:[~2005-05-31  0:23 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-11  4:40 inappropriate use of in_atomic() Andrew Morton
2005-03-11  4:40 ` Andrew Morton
2005-03-11  4:53 ` Roland Dreier
2005-03-11 12:38   ` Arjan van de Ven
2005-03-11  6:25 ` Stephen Rothwell
2005-03-11  6:25   ` Stephen Rothwell
     [not found] ` <20050310204006.48286d17.akpm-3NddpPZAyC0@public.gmane.org>
2005-03-11  9:11   ` Jan Kasprzak
2005-03-11  9:11     ` [ACPI] " Jan Kasprzak
2005-03-11  9:46     ` Andrew Morton
2005-03-11  9:46       ` Andrew Morton
     [not found]       ` <20050311014601.166ae43d.akpm-3NddpPZAyC0@public.gmane.org>
2005-03-11 12:26         ` [Linux-fbdev-devel] " Benjamin Herrenschmidt
2005-03-11 12:26           ` [Linux-fbdev-devel] Re: [ACPI] " Benjamin Herrenschmidt
2005-03-12  0:13           ` Andrew Morton
2005-03-12  0:13             ` Andrew Morton
2005-03-12  0:22             ` Benjamin Herrenschmidt
2005-03-12  0:22               ` [Linux-fbdev-devel] " Benjamin Herrenschmidt
2005-05-31  0:20 ` Adrian Bunk [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=20050531002027.GE3627@stusta.de \
    --to=bunk@stusta.de \
    --cc=akpm@osdl.org \
    --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.