cvs commit: src/sys/alpha/alpha pmap.c src/sys/amd64/amd64pmap.c
src/sys/i386/i386 pmap.c src/sys/vm vm_page.c
scottl at freebsd.org
Thu Jul 29 13:26:14 PDT 2004
On Thu, 29 Jul 2004, Alan Cox wrote:
> On Thu, Jul 29, 2004 at 03:41:03PM -0400, Robert Watson wrote:
> > On Thu, 29 Jul 2004, Scott Long wrote:
> > > > - Enable recursion on the page queues lock. This allows calls to
> > > > vm_page_alloc(VM_ALLOC_NORMAL) and UMA's obj_alloc() with the page
> > > > queues lock held. Such calls are made to allocate page table pages
> > > > and pv entries.
> > >
> > > My understanding is that recursive mutexes are quite expensive. Is
> > > recursion a common occurrance now, and is there a good way to
> > > profile/measure these paths?
> > No opinion on the change itself, but just to clarify this wording a little
> > for those reading who don't follow the locking work blow-by-blow: flagging
> > a mutex as recursive itself is not expensive, but the act of recursing the
> > mutex is expensive.
> I've benchmarked these changes on alpha, amd64 and i386 under
> buildworld. The overhead is small.
> Also, recursion on the mutex will be rare, occurring under conditions
> of an empty or near-empty free list.
Great! Thanks for all of your work here =-)
More information about the cvs-src