RE: preemptible spinlock?

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

 



Hi,

> I think the main idea spinlock disables preemption is,

> the other process that's spinning on the lock can acquire lock.

 

> but in some implementations of spinlock, like qspinlock in x86 (or mcs lock),
> I think there's no need to disable preemption. because processes
> waiting for lock cannot acquire the lock before the lock holder hand
> over to other process.


Are you talking about disabling local irq(ex. spin_lock_irqsave)?

If so, think about the situation that a process holding the lock is preempted 

by interrupt. And that interrupt handler tries to grab the spinlock.  

It will lead to deadlock.

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[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