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