cvs commit: src/sys/kern uipc_usrreq.c
Nate Lawson
nate at root.org
Sat Jun 12 06:32:37 GMT 2004
On Thu, 10 Jun 2004, Alfred Perlstein wrote:
> * Robert Watson <rwatson at FreeBSD.org> [040610 14:34] wrote:
> > - Sam's version of this change, as with the BSD/OS version, made use of
> > both a global lock and per-unpcb locks. However, in practice, the
> > global lock covered all accesses, so I have simplified out the unpcb
> > locks in the interest of getting this merged faster (reducing the
> > overhead but not sacrificing granularity in most cases). We will want
> > to explore possibilities for improving lock granularity in this code in
> > the future.
>
> I noticed this in the BSD/os version, it was sort of like...
> "the global lock covers everything, what's the point of the
> underlying locks..?"
In my conversation with the BSD/OS guys, there were often cases where they
went with a more global lock within a subsystem versus untangling
re-entrant paths, which would be needed for finer-grained locking. This
was true for the CAM approach they used where a single mutex per device
instance and a middle layer lock protected queue handling.
-Nate
More information about the cvs-src
mailing list