Skip site navigation (1)Skip section navigation (2)
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>