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>