<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/i386/include/pmap.h, branch stable/5</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=stable%2F5</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=stable%2F5'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2005-01-31T23:27:04Z</updated>
<entry>
<title>MFC: /*- and related license changes</title>
<updated>2005-01-31T23:27:04Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2005-01-31T23:27:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=c9769f3ab5327a99909391e070c143e92ddc43ec'/>
<id>urn:sha1:c9769f3ab5327a99909391e070c143e92ddc43ec</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MFC multiple pmap changes</title>
<updated>2004-10-10T19:08:00Z</updated>
<author>
<name>Alan Cox</name>
<email>alc@FreeBSD.org</email>
</author>
<published>2004-10-10T19:08:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=267b92e122a63846a24d14e0eb112e63f067abe7'/>
<id>urn:sha1:267b92e122a63846a24d14e0eb112e63f067abe7</id>
<content type='text'>
amd64 and i386
 - Remove unnecessary checks for curthread == NULL and pmap == NULL.
 - Release the page queues lock earlier in pmap_protect() and pmap_remove()
   in order to reduce contention.
 - Remove an outdated assertion from _pmap_allocpte().
 - Simplify the reference counting of page table pages.  Specifically, use
   the page table page's wired count rather than its hold count to contain
   the reference count.
 - Prevent the unexpected deallocation of a page table page while
   performing pmap_copy().
 - Eliminate the unnecessary masking of the page offset bits from the
   physical address that is stored in the vm_page.
 - Undo revision 1.251.  This change was a performance pessimizing work-
   around that is no longer required.  Now, if the preexisting PTE is
   invalid, pmap_enter() does not call pmap_invalidate_page() to update
   the TLB(s).
 - Make pte_load_store() an atomic operation in all cases, not just i386
   PAE.
 - Restructure pmap_enter() to prevent the loss of a page modified (PG_M)
   bit in a race between processors.  (This restructuring assumes the newly
   atomic pte_load_store() for correct operation.)

amd64 only
 - It is now an error to call pmap_unuse_pt without the paddr of the pde
   that contained the pte.
 - Remove an unused declaration.

i386 only
 - Modify pmap_pte() to support its use on non-current, non-kernel pmaps
   without holding Giant.

Approved by: re (scottl)
</content>
</entry>
<entry>
<title>MFC: Increase NKPT to allow for up to 16GB on i386/PAE and amd64.</title>
<updated>2004-10-09T03:00:17Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2004-10-09T03:00:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=43dd15c596f1528b92ef5972b894838f62c04798'/>
<id>urn:sha1:43dd15c596f1528b92ef5972b894838f62c04798</id>
<content type='text'>
Approved by: re
</content>
</entry>
<entry>
<title>Reduce the size of pv entries by 15%.  This saves 1MB of KVA for mapping</title>
<updated>2004-06-29T15:57:05Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2004-06-29T15:57:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=654bd0e802fbda5afc7372b44842849beabd7674'/>
<id>urn:sha1:654bd0e802fbda5afc7372b44842849beabd7674</id>
<content type='text'>
pv entries per 1GB of user virtual memory.  (eg: if we had 1GB file was
mmaped into 30 processes, that would theoretically reduce the KVA demand by
30MB for pv entries.  In reality though, we limit pv entries so we don't
have that many at once.)

We used to store the vm_page_t for the page table page.  But we recently
had the pa of the ptp, or can calculate it fairly quickly.  If we wanted
to avoid the shift/mask operation in pmap_pde(), we could recover the
pa but that means we have to store it for a while.

This does not measurably change performance.

Suggested by:  alc
Tested by:  alc
</content>
</entry>
<entry>
<title>Include &lt;sys/_lock.h&gt;'s prerequisite &lt;sys/queue.h&gt; before including the</title>
<updated>2004-06-20T00:33:14Z</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>2004-06-20T00:33:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=4df7435a7881bc697d1118dcc9eb018f56bb76ba'/>
<id>urn:sha1:4df7435a7881bc697d1118dcc9eb018f56bb76ba</id>
<content type='text'>
former, not after.
</content>
</entry>
<entry>
<title>MFamd64</title>
<updated>2004-06-16T07:03:15Z</updated>
<author>
<name>Alan Cox</name>
<email>alc@FreeBSD.org</email>
</author>
<published>2004-06-16T07:03:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=4d831945a7d914509767ff24f52e6273be13d81b'/>
<id>urn:sha1:4d831945a7d914509767ff24f52e6273be13d81b</id>
<content type='text'>
 Introduce pmap locking to many of the pmap functions.
</content>
</entry>
<entry>
<title> - Remove an unused declaration.</title>
<updated>2004-06-13T03:44:11Z</updated>
<author>
<name>Alan Cox</name>
<email>alc@FreeBSD.org</email>
</author>
<published>2004-06-13T03:44:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=8559e0a2913d557aed0193e0f255b4ac0f2772ac'/>
<id>urn:sha1:8559e0a2913d557aed0193e0f255b4ac0f2772ac</id>
<content type='text'>
 - Move a definition inside the scope of a #ifdef _KERNEL.
</content>
</entry>
<entry>
<title> - pmap_kenter_temporary()'s first parameter, which is a physical address,</title>
<updated>2004-04-10T23:28:49Z</updated>
<author>
<name>Alan Cox</name>
<email>alc@FreeBSD.org</email>
</author>
<published>2004-04-10T23:28:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0af0eeacb693f468f48cfff35f242c243e35bd59'/>
<id>urn:sha1:0af0eeacb693f468f48cfff35f242c243e35bd59</id>
<content type='text'>
   should be declared as vm_paddr_t not vm_offset_t.
</content>
</entry>
<entry>
<title> - pmap_kenter_temporary() is unused by machine-independent code.  Therefore,</title>
<updated>2004-04-10T22:41:46Z</updated>
<author>
<name>Alan Cox</name>
<email>alc@FreeBSD.org</email>
</author>
<published>2004-04-10T22:41:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=b14d6acced991c56cdee9bab37fd877aac79ffc9'/>
<id>urn:sha1:b14d6acced991c56cdee9bab37fd877aac79ffc9</id>
<content type='text'>
   move its declaration to the machine-dependent header file on those
   machines that use it.  In principle, only i386 should have it.
   Alpha and AMD64 should use their direct virtual-to-physical mapping.
 - Remove pmap_kenter_temporary() from ia64.  It is unused.  Approved
   by: marcel@
</content>
</entry>
<entry>
<title>Remove advertising clause from University of California Regent's</title>
<updated>2004-04-07T20:46:16Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2004-04-07T20:46:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=f36cfd49adb62472fd7009ecd4f0927c126ff785'/>
<id>urn:sha1:f36cfd49adb62472fd7009ecd4f0927c126ff785</id>
<content type='text'>
license, per letter dated July 22, 1999 and email from Peter Wemm,
Alan Cox and Robert Watson.

Approved by: core, peter, alc, rwatson
</content>
</entry>
</feed>
