Yes, spinlock would automatically disable kernel preemption. I was just giving 
theeoritical overview. As far as I know not all synchronization constructs 
would disable the kernel preemption automatically (for instance when acquiring 
a big kernel lock). In addition you could use preempt_enable() and 
preempt_disable() to explicitly enable or disable kernel preemption. Thanks.



-Govindraj 



On Wed, 07 Oct 2009 11:15:06 +0530  wrote

>Rajat San,Just asking (since i didn't see spinlock implementation in kernel 
>src),On Tue, Oct 6, 2009 at 5:52 PM, Rajat Jain  wrote:



Hello Govind,



> What happens when you go for spin locks without

> disabling kernel preemption? Suppose you acquire

> a spin lock in a system call handler (a service

> routine on behalf of a user mode process) with

> kernel preemption enabled.



This is not possible. Spin lock APIs disable kernel preemption

automatically.Spin lock APIs disables kernel preemption in all its api or some 
specific apis only. Please confirm and elaborate. 





Thanks,



RajatBest regards,Krishna 

Reply via email to