Date: Sat, 22 Jul 2000 09:20:23 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: Greg Lehey <grog@lemis.com> Cc: Chuck Paterson <cp@bsdi.com>, David Greenman <dg@root.com>, freebsd-smp@freebsd.org Subject: Re: ipending (was: SMP progress (was: Stepping on Toes)) Message-ID: <200007221620.JAA29862@apollo.backplane.com> References: <200007051652.KAA14768@berserker.bsdi.com> <20000722185705.A10221@wantadilla.lemis.com>
index | next in thread | previous in thread | raw e-mail
:In a similar way, I'm removing interrupt mask copies in memory. We
:still mask interrupts which aren't in use, but no others. If anybody
:has any reason not to want to do this, we should talk about it.
:
:Greg
I think you still have to mask level interrupts, otherwise you won't
be able to sti. Some subsystems may generate a phenominal number
of interrupts while the interrupt routine is running -- for example,
the serial ports. I think the masking was put in there as an
optmiization not only for that, but also so the interrupt could be
EOI'd early so as to allow a new interrupt to become pending while
the interrupt routine was running (thus closing a potential window of
opportunity where an interrupt might otherwise be missed).
If you remove the masking you have to delay the EOI and that is probably
a huge mistake because it may lead to lost interrupts. Another example:
if a keyboard interrupt is lost you can lose the keyboard entierly. If
the EOI is delayed there is a much greater chance of losing the keyboard
interrupt.
-Matt
Matthew Dillon
<dillon@backplane.com>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200007221620.JAA29862>
