[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lock_kernel()



On Mon, Sep 08, 2003 at 12:54:18AM -0700, Prem Anand Ramanathan wrote:
|Hi,
|    I have a question on lock_kernel() macro? it does nothing in case of single processor. But in multi processor it does a spinlock on a kernel global flag. What is the semantic of this macro? 


is a recursive locking.
Process "A" holding Big Kernel Lock, can issue another lock_kernel() without
incourring in a deadlock.


|If once called (lock_kernel) then all the subsequent calls to the same macro will be blocked until unlock_kernel is called??

(see above)


|If that is the case many device drivers use this call even while around the calls that sleep. 
|If anyone could help me, that would be of great help. 


i suggest this paper:
"BKL: One lock to Bind Them All" from
Ottawa Linux Symposium 2002 Conference Proceedings.

grab it from:
http://www.linux.org.uk/~ajh/ols2002_proceedings.pdf.gz


|-Smaillboy.
|
|
|---------------------------------
|Do you Yahoo!?
|Yahoo! SiteBuilder - Free, easy-to-use web site design software
-- 



Daniele.


--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/