Hi all,<br><br>I have an smp linux redhat kernel running on many cpu cores.<br><br>I know that one process running on one of cpu has tried for Big kernel lock .<br>I am finding that another process on another CPU is trying for BKL.<br>
<br>My question is :-<br>-------------------------<br>Being on different processors , can they both try and acquire BKL ?<br><br>Can two processes running on different CPUs, acquire BKL , at same time?<br><br><br><br>Another doubt (for same infrastructure)<br>
<u><b>BKL and preemption and spinlock</b></u><br><br>1) If i find from core for a process task struct that <b>lock_depth = 0 </b>, <u><b>does that ensure this process has acquired BKL ?</b></u><br>as without taking lock it remain -1 ??<br>
<br>2) If i get preempt_count as non negative but <u><b>not 1</b></u>, instead a very big number 67174400 , does that ensure that <br><u><b>kernel preemption has been disabled by this process and its running in atomic context ?</b></u><br>
<br>3) If a process has taken BKL , kernel premption is disabled from that point of time, <br>now same process if tries to acquire another spinlock , thats held by some other process...<br>will it cause a deadlock ?<br><br>
i assume, other process if gets to run on other cpu, will run and release the lock and hence will <br>be acquired by this process.. is it right ?<br><br><br>Thanks<br>Nidhi <br><br>