Date: Wed, 19 Feb 2003 15:12:40 -0700 From: Scott Long <scott_long@btc.adaptec.com> To: Mike Silbersack <silby@silby.com> Cc: Scott Long <scottl@freebsd.org>, src-committers@freebsd.org, cvs-src@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/dev/aac aac.c aac_pci.c Message-ID: <3E540158.20504@btc.adaptec.com> In-Reply-To: <200302192158.h1JLwYJn025529@repoman.freebsd.org> References: <200302192158.h1JLwYJn025529@repoman.freebsd.org> <20030219161458.T62705@patrocles.silby.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Mike Silbersack wrote: > Out of curiosity, how are you testing MPSAFEness other than by visual > inspection? I've been pondering making if_vr and if_xl MPSAFE, but I > really have no clue how to verify that I've done the job correctly. > > Mike "Silby" Silbersack > > > On Wed, 19 Feb 2003, Scott Long wrote: > > > >scottl 2003/02/19 13:58:34 PST > > > > Modified files: > > sys/dev/aac aac.c aac_pci.c > > Log: > > Make the aac driver be INTR_MPSAFE. Once the interrupt handler > determines > > that a command completion happened, all further processing is > deferred to > > a taskqueue. The taskqueue itself runs implicetely under Giant, but we > > already used a taskqueue for the biodone() processing, so this at least > > saves the contesting of Giant in the interrupt handler. > > > > Revision Changes Path > > 1.54 +12 -36 src/sys/dev/aac/aac.c > > 1.29 +3 -2 src/sys/dev/aac/aac_pci.c > > I've tested via assertions that the rest of the driver is under Giant. All this change really did was move some processing out of the interrupt path and into the already-existing taskqueue. The two pieces of the driver that need to be atomic are the handling of the hardware registers and the handling of the various queues. The former is pretty easy to identify via visual inspection, and the latter has an extensive amount of sanity checking and debugging built into it. Scott To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-src" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E540158.20504>