Date: Sun, 5 Jul 2009 21:40:21 +0000 (UTC) From: Alan Cox <alc@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/i386/i386 pmap.c src/sys/i386/xen pmap.c Message-ID: <200907052140.n65Lekdb032856@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
alc 2009-07-05 21:40:21 UTC
FreeBSD src repository
Modified files:
sys/i386/i386 pmap.c
sys/i386/xen pmap.c
Log:
SVN rev 195385 on 2009-07-05 21:40:21Z by alc
PAE adds another level to the i386 page table. This level is a small
4-entry table that must be located within the first 4GB of RAM. This
requirement is met by defining an UMA zone with a custom back-end
allocator function. This revision makes two changes to this back-end
allocator function: (1) It replaces the use of contigmalloc() with the
use of kmem_alloc_contig(). This eliminates "double accounting", i.e.,
accounting by both the UMA zone and malloc tags. (I made the same
change for the same reason to the zones supporting jumbo frames a week
ago.) (2) It passes through the "wait" parameter, i.e., M_WAITOK,
M_ZERO, etc. to kmem_alloc_contig() rather than ignoring it.
pmap_init() calls uma_zalloc() with both M_WAITOK and M_ZERO. At the
moment, this is harmless only because the default behavior of
contigmalloc()/kmem_alloc_contig() is to wait and because pmap_init()
doesn't really depend on the memory being zeroed.
The back-end allocator function in the Xen pmap is dead code. I am
changing it nonetheless because I don't want to leave any "bad examples"
in the source tree for someone to copy at a later date.
Approved by: re (kib)
Revision Changes Path
1.639 +2 -5 src/sys/i386/i386/pmap.c
1.13 +5 -6 src/sys/i386/xen/pmap.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907052140.n65Lekdb032856>
