BKL- BIG kernel lock + smp

nidhi mittal hada nidhimittal19 at gmail.com
Mon Aug 12 06:08:09 EDT 2013

Hi all,

I have an smp linux redhat kernel running on many cpu cores.

I know that one process running on one of cpu has tried for Big kernel lock
I am finding that another process on another CPU is trying for BKL.

My question is :-
Being on different processors , can they both try and acquire BKL ?

Can two processes running on different CPUs, acquire BKL , at same time?

Another doubt (for same infrastructure)
*BKL and preemption and spinlock*

1) If i find from core for a process task struct that *lock_depth = 0 *, *does
that ensure this process has acquired BKL ?*
as without taking lock it remain -1 ??

2) If i get preempt_count as non negative but *not 1*, instead a very big
number 67174400 , does that ensure that
*kernel preemption has been disabled by this process and its running in
atomic context ?*

3) If a process has taken BKL , kernel premption is disabled from that
point of time,
now same process if tries to acquire another spinlock , thats held by some
other process...
will it cause a deadlock ?

i assume, other process if gets to run on other cpu, will run and release
the lock and hence will
be acquired by this process.. is it right ?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130812/0fa1b2cf/attachment.html 

More information about the Kernelnewbies mailing list