From owner-aic7xxx Tue Apr 28 09:30:19 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id JAA29740 for aic7xxx-outgoing; Tue, 28 Apr 1998 09:30:19 -0700 (PDT) (envelope-from owner-aic7xxx@FreeBSD.ORG) Received: from dledford.dialnet.net (root@dledford.dialnet.net [206.65.249.116]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id JAA29734 for ; Tue, 28 Apr 1998 09:30:17 -0700 (PDT) (envelope-from dledford@dialnet.net) Received: from dialnet.net (localhost [127.0.0.1]) by dledford.dialnet.net (8.8.5/8.8.4) with ESMTP id LAA21320; Tue, 28 Apr 1998 11:29:40 -0500 Message-ID: <354603F4.A3218543@dialnet.net> Date: Tue, 28 Apr 1998 11:29:40 -0500 From: Doug Ledford X-Mailer: Mozilla 4.05 [en] (X11; I; Linux 2.1.96 i686) MIME-Version: 1.0 To: Matthew Jacob CC: "Robert G. Brown" , Mail Receiver , aic7xxx@FreeBSD.ORG, linux-smp@vger.rutgers.edu, linux-tulip@cesdis1.gsfc.nasa.gov Subject: Re: Duration of Blocked Interrupts References: <3545FDE9.3710DBCD@feral.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-aic7xxx@FreeBSD.ORG Precedence: bulk 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 Opinions expressed are my own, but they should be everybody's. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe aic7xxx" in the body of the message