Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Aug 1997 14:59:04 -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:  <199708272159.OAA00591@phaeton.artisoft.com>
In-Reply-To: <199708272039.OAA29795@Ilsa.StevesCafe.com> from "Steve Passe" at Aug 27, 97 02:39:03 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> > >    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.
> 
> thats already planned.  sio.c and cy.c are already MP-safe from the kernel's
> point of view.  The problem is that they are not 'concurrancy-safe', ie
> they never expected to be run concurrently by more than 1 CPU.  This
> sort of problem is not so well demonstrated with an example driver, as the
> specific issues will vary from driver to driver.

I don't think I understand the distinction.  If by "the are already
MP safe" you mean "because of the lock", that's not a flaggable
attribute.  Something which is MPSAFE flagged would have to allow
itself to be reentered by the kernel.

Crearly, a single interrupt is not reenterable for the same device
context -- only for  seperate device contexts, assuming a shared
interrupt (PCI?).

The flag I'm talking about is a "this driver may be reentered" flag;
are you saying it's possible to reenter it on the same CPU, but not
on a different CPU?  That' might be one issue, but I don't think
that would qualify for the MPSAFE flag...


					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?199708272159.OAA00591>