Re: Re: locking and interrupts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 







>
Krishna, you seem to be getting confused between kernel getting
preempted and kernel getting interrupted.
Any spin lock will disable kernel preemption.
If you use spin_lock() then it will just disable kernel preemption but
if you get any interrupt then its handler will get executed.
But if you use spin_lock_irqsave() then it will disable preemption
plus it will disable local interrupts.

I suggest you should read "Kernel Synchronization Methods" chapter
from Linux Kernel Development by Robert Love.


-Vinit


Dear vinit,

Thanks a lot  and yes I was confused between kernel preemption and interpput disabling. Your all the valuable words has solved my all the queries.

Further, I was reading robert love 8th & 9th chapter to get my confusions clear. Thanks for all the mails and kind words. I am just concluding.

Preemption is a software term and interrupts are always related with hardware which has far more priority than processes, any type of spin lock will disable preemption, but if you dont want your code should preempted by interrupt handler then you have to disable the interrupts.


Best regards,
Krishna



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux