Duration of Blocked Interrupts
Doug Ledford
dledford at dialnet.net
Tue Apr 28 09:30:19 PDT 1998
Matthew Jacob wrote:
>
> Yes, this might be true. The only problem here is that in
> looking over the version of the linux AIC stuff I have,
> it *does* go to the effort to restore_flags in a number
> of places so it doesn't lock out *everyone* for long periods
> of time. That is, it locks out all interrupts briefly
> (mostly to mark that it's servicing an interrupt), and
> then it runs a while w/o. It blocks interrupts checking
> for sequencer conditions (usually error cases), and also
> while cleaning up after finishing. It then unblocks
> interrupts before calling the linux midlayer to complete
> (well done, actually).
>
> By "blocking/unblocking" I mean higher level interrupts.
> I could easily believe that if your network cards are
> at lower or same irqs they might starve. But short
> of doing some more clever thread managment, or doing
> an explicit sti() in the SCSI midlayer, I doubt that this
> is easily fixable.
I did change that in the later versions of my code. For 2.1.x, it is
specifically required that we *don't* enable interrupts during completion
processing. I could put it back for 2.0.x, but it would create a few
questions on my part until I've had time to fully verify everything does
what it's suppossed to do.
--
Doug Ledford <dledford at dialnet.net>
Opinions expressed are my own, but
they should be everybody's.
To Unsubscribe: send mail to majordomo at FreeBSD.org
with "unsubscribe aic7xxx" in the body of the message
More information about the aic7xxx
mailing list