Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Aug 2003 17:11:03 -0400 (EDT)
From:      Jeff Roberson <jroberson@chesapeake.net>
To:        "Alan L. Cox" <alc@imimic.com>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/i386/i386 pmap.c
Message-ID:  <20030818171003.Y12093-100000@mail.chesapeake.net>
In-Reply-To: <20030818165803.P12093-100000@mail.chesapeake.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 18 Aug 2003, Jeff Roberson wrote:

> On Mon, 18 Aug 2003, Alan L. Cox wrote:
>
> > Jeff Roberson wrote:
> > >
> > > On Sun, 17 Aug 2003, Alan Cox wrote:
> > >
> > > > alc         2003/08/17 15:27:30 PDT
> > > >
> > > >   FreeBSD src repository
> > > >
> > > >   Modified files:
> > > >     sys/i386/i386        pmap.c
> > > >   Log:
> > > >   Acquire the pte object's mutex when performing vm_page_grab().  Note: It is
> > > >   my long-term objective to eliminate the pte object.  In the near term, this
> > > >   does, however, enable the addition of some vm object locking assertions.
> > > >
> > > >   Revision  Changes    Path
> > > >   1.427     +4 -0      src/sys/i386/i386/pmap.c
> > > >
> > >
> > > What is your plan for the pte object?  Will we still be able to page out
> > > page tables?
> > >
> >
> > Yes, expect no loss of functionality.  The use of a pte object simply
> > reflects the pre-"VM_ALLOC_NOOBJ" days when vm_page_alloc() always
> > required an object to contain the allocated page.  As some of my other
> > recent pmap changes have demonstrated it's equally easy and perhaps
> > faster to use the page table structure itself as the "container" rather
> > than doing vm_page_lookup() on the pte obj.  (Annecdotal tests suggested
> > that eliminating the vm_page_lookup()s from places such as pmap_copy()
> > reduced "buildworld" time by ~0.5%.)
> >
> > Regards,
> > Alan
> >
>
> I thought that the pte object was required so that we could page out the
> page tables though?  Will the pager still know that it can discard the
> pages?  We should be able to recreate them from a fault, yes?  Do you
> intend to modify the pager so that it will simply discard unwired NOOBJ
> pages?  It seems like that would work.
>
> Thanks,
> Jeff
>

Nevermind, I misunderstood.  According to jake, we only discard page
tables once we discard all of the pages that they map.  The rest of the
time the page table pages are wired.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030818171003.Y12093-100000>