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 ?


Thanks
Nidhi