Date: Wed, 27 Aug 1997 13:28:07 -0700 (MST) From: Terry Lambert <terry@lambert.org> To: smp@csn.net (Steve Passe) Cc: terry@lambert.org, petrilli@amber.org, mestery@winternet.com, peters@gil.com.au, smp@FreeBSD.ORG Subject: Re: A how does it work question. Message-ID: <199708272028.NAA06259@phaeton.artisoft.com> In-Reply-To: <199708271826.MAA29172@Ilsa.StevesCafe.com> from "Steve Passe" at Aug 27, 97 12:26:35 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> - fast intrrrupts no longer use the giant lock. There is a simple lock that > prevents more than 1 fast interrupt from being in the kernel at once, > but this is strictly because of the way sio and cy are written, not because > the kernel couldn't do it, it could (I think!). Specifically they > use global variables that they implicitly expect to be non-volatile > while they are inside their ISR. If say, tty0 and tty1 both were inside > at the same time it would break. This points out a simple fact we > will have to deal with: most if not all the drivers are not MP-safe, > and each will need work to become so. Its not as simple as making > the kernel proper MP-safe, but each and EVERY driver needs work. Actually, you need a driver flag, and if it is not set, invoke the simple lock. This would let you set the flag (MPSAFE?) on drivers which didn't have the problem, and allow for a staged migration. At least one driver needs to be safed before the resto of them can be, using it as an example. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708272028.NAA06259>