Re: why both kernel lock as well as semaphore

From: Tigran Aivazian (tigran@veritas.com)
Date: Sat Dec 23 2000 - 09:05:37 EST


On Sat, 23 Dec 2000, Sourav Sen wrote:

>
> In many parts of the kernel, I have seen both semaphore is taken
> (eg. down(&current->mm->mmap_sem)) as well as kernel lock (lock_kernel())
> is also taken, why both are required? Whats the purpose of each?
>

because the semaphore is really needed (by design of the subsystem) but
the big kernel lock (BKL) is taken "just in case", i.e. just in case the
design is broken. Occasionally, the lock is removed to "see what
happens" -- if nobody complains then the design is probably correct
i.e. things are declared to "just work" and the attention is shifted to
some other subsystem.... :)

Does it make things clearer?

Regards,
Tigran

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Dec 23 2000 - 21:00:34 EST