All of lore.kernel.org
 help / color / mirror / Atom feed
* local_irq_disable() V/S disable_irq()
@ 2009-11-04  6:12 Rajat Jain
  0 siblings, 0 replies; only message in thread
From: Rajat Jain @ 2009-11-04  6:12 UTC (permalink / raw)
  To: Kernel Newbies, linux-newbie


Hi,

I'm just trying to understand how he things would look like, if the
device sends an interrupt (edge-triggered) while a driver has issued one
of the above mentioned APIs (to disable the interrupts temporarily). 

A) local_irq_disable(): As far as I understand, this API disables the
interrupt by operating at the local CPU registers (disabling the global
interrupt enable bit for THIS CPU). The interrupt is still enabled at
the interrupt controller level.  Assuming that the interrupts are
configured such that only THIS CPU receives all the interrupts, what
would happen in this situation if the device sends an interrupt? Will it
be noticed / acknowledged? When the driver re-enables the interrupts via
local_irq_enable()?

B) disable_irq(): I think this disables the interrupt by disabling the
specific interrupt at the interrupt controller level (Thus for all
CPUs). Any interrupt triggered during this time will be lost, right?

Thanks,

Rajat

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-11-04  6:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-04  6:12 local_irq_disable() V/S disable_irq() Rajat Jain

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.