Re: Disabling interrupts and masking interrupts

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

 



On Thu, 07 Mar 2013 09:28:58 -0800, Dave Hylands said:

> In my experience, edges triggered interrupts are always latched by the HW
> when they arrive. If another edge comes along between the initial edge and
> the time that the interrupt is cleared, then this second edge is lost. The
> fact that an interrupt is pending will still be retained though, and as
> soon as interrupts are enabled, then the interrupt handler will fire.

Actually, what you're describing there is hardware that converts edge
triggered to level triggered precisely because edge triggered stuff
sucks otherwise. ;)

> > Also, in common usage, "disabled interrupts" means that you're not
> > listening
> > to *any* interrupts, while "masked" means "we're not listening to *this*
> > interrupt source, even if we *are* accepting interrupts from other
> > sources".

> Normally disabling interrupts is just another form of masking, it just
> happens to mask all of the interrupts rather than one particular one. Even
> when you disable interrupts, you typically still have access to the
> unmasked interrupt state.

Yes, but it;'s still useful to distinguish between the two cases.  Also,
on many hardware architectures, the actual code to 'disable all' and 'disable
one' is very different (on X86, 'cli' does "all" very fast, ignoring exactly
one takes some more doing)

Attachment: pgp3Y5Zcgqjk0.pgp
Description: PGP signature

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://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