Date: Thu, 5 Jul 2001 12:47:27 -0700 (PDT) From: Matthew Jacob <mjacob@feral.com> To: John Baldwin <jhb@FreeBSD.org> Cc: <smp@FreeBSD.org> Subject: cvs commit: src/sys/dev/isp isp_freebsd.c [ Giant ] Message-ID: <20010705124154.B37950-100000@wonky.feral.com> In-Reply-To: <XFMail.010705123748.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[ moving to smp, which the other discussion should done as well ] On Thu, 5 Jul 2001, John Baldwin wrote: > > On 05-Jul-01 Matt Jacob wrote: > > mjacob 2001/07/05 10:14:57 PDT > > > > Modified files: > > sys/dev/isp isp_freebsd.c > > Log: > > Things have become cinched down more tightly about assertions for Giant. > > This uncovered some missing spots where I trade off between isp's lock > > and Giant as I enter CAM. > > I would prefer that you just leave Giant held rather than releasing it until > all the code "under" the unlock/lock pair doesn't need Giant at all. I don't enter with Giant held. This is a driver marked 'safe' and has it's own lock. It needs to transition from CAM's lock (which is Giant now) to its own on entry from CAM and swap back on return. It needs to transition from it's own lock to CAM's lock when it calls CAM from interrupt context. There are reasons why I'm doing this now rather than later- the most important of which is that it keeps you honest. Anothre reason for doing this is that lacking as yet any real design for locking within CAM, at least identifying all of the handoff places Is A Good Thing (tm). The APIs and the definitions of how SMP is supposed to work in FreeBSD are there. You'll have to have a really damned good reason to convince me that I should *not* use them if they're there. -matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010705124154.B37950-100000>