Need for a new spinlock API?

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

 



Hi,

We often have a case where a driver wants to access its data structure
in process context as well as in interrupt context (in its ISR). In
such scenarios, we generally use spin_lock_irqsave() to grab the lock
as well as disable all the local interrupts. AFAIK, disabling of local
interrupts is required so as to avoid running your ISR (which needs
the lock) while process context is holding the lock. However, this
also disables any other ISRs (which DO NOT need the lock) on the local
processor.

Isn't this sub-optimal? Shouldn't there be a finer grained locking?

I was wondering if it is possible to have a spin lock API that grabs
the lock and disables ONLY the specified irq on the local processor?

Am I missing something here?

Rajat
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs

[Index of Archives]     [Audio]     [Hams]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Fedora Users]

  Powered by Linux