Date: Tue, 09 Sep 1997 19:12:12 -0600 From: "Justin T. Gibbs" <gibbs@plutotech.com> To: Doug Ledford <dledford@dialnet.net> Cc: "Justin T. Gibbs" <gibbs@plutotech.com>, "Daniel M. Eischen" <deischen@iworks.InterWorks.org>, aic7xxx@freebsd.org Subject: Re: Interesting anomoly with a 2940UW Message-ID: <199709100115.TAA28871@pluto.plutotech.com> In-Reply-To: Your message of "Tue, 09 Sep 1997 20:02:56 CDT." <199709100102.UAA18640@dledford.dialnet.net>
next in thread | previous in thread | raw e-mail | index | archive | help
>To be quite honest, I think most of the races you have mentioned in >relation to my usage of the CMDOUTCNT variable exist not only in my code, >but in yours as well. Nope. Since I only drop the count to 0 once I'm sure that the sequencer has put fifodepth commands into the QOUTFIFO (as I have removed that many from the FIFO), I'm guaranteed that CMDOUTCNT is equal to fifodepth. This means that the sequencer is either in the spin lock or executing before reaching the lock. This ensures that when I set CMDOUTCNT to 0, the FIFO is truely empty and that the sequencer will increment CMDOUTCNT before it places another entry in the FIFO. >Does that sound any more efficient (and race protected) to you? It would be unacceptable to me to run with interrupts disabled for any length of time in a disk driver especially when it isn't necessary. -- Justin T. Gibbs =========================================== FreeBSD: Turning PCs into workstations ===========================================
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709100115.TAA28871>