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/