BKL- BIG kernel lock + smp
nidhi mittal hada
nidhimittal19 at gmail.com
Mon Aug 12 06:08:09 EDT 2013
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
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...
More information about the Kernelnewbies