[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200803220011.CEC82820.QSOtJOVFFHFMLO@I-love.SAKURA.ne.jp>
Date: Sat, 22 Mar 2008 00:11:40 +0900
From: Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>
To: akpm@...ux-foundation.org
Cc: linux-kernel@...r.kernel.org
Subject: Re: use of preempt_count instead of in_atomic() at leds-gpio.c
Hello.
> > In short, you are saying that there is _no_ reliable way to determine
> > am-i-called-from-inside-spinlock.
>
> That's correct.
So, it is impossible to know whether I am inside a spinlock or not.
OK. That's not what I want to do.
I want to make sure that my code (not a device driver) is called only from a context
where use of down()/mutex_lock()/kmalloc(GFP_KERNEL)/get_user_pages()/kmap() etc. are permitted.
Is "if (in_atomic()) return;" check a correct method for avoiding deadlocks
when my code was accidentally called from a context
where use of down()/mutex_lock()/kmalloc(GFP_KERNEL)/get_user_pages()/kmap() etc. are not permitted?
I'm assuming that in_atomic() returns nonzero whenever scheduling is not permitted.
Regards.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists