Special schedulers, one CPU only kernel, one only userland
Luigi Rizzo
rizzo at icir.org
Thu Aug 18 01:40:57 GMT 2005
On Wed, Aug 17, 2005 at 01:28:28PM -0400, John Baldwin wrote:
...
> fxp(4)'s locking is somewhat buggy where you are looking probably. I think
> I've already committed the fixes to HEAD so that detach() is less
> discouraging (we just lock fxp_stop() in detach now). The calls to
well, my specific concern with the detach routine (but I was wrong,
at least on this part) was that dropping the lock could cause the struct to
go away while the interrupt handler was working on it.
Now i see that this should be safe because bus_teardown_intr()
blocks until we are out of the handler (the comment "Unhook interrupt
before dropping lock." is probably stale...), and given that
the detach() handler runs under giant and we cannot have multiple
instances of it, at least this path seems safe.
However I am still unclear on what happens if a detach() is racing with the
output path (leading to fxp_start()).
cheers
luigi
More information about the freebsd-arch
mailing list