cvs commit: src/sys/i386/i386 pmap.c src/sys/kern kern_mbuf.c src/sys/vm uma.h uma_core.c

Alan Cox alc at FreeBSD.org
Fri Apr 4 18:41:13 UTC 2008


alc         2008-04-04 18:41:12 UTC

  FreeBSD src repository

  Modified files:
    sys/i386/i386        pmap.c 
    sys/kern             kern_mbuf.c 
    sys/vm               uma.h uma_core.c 
  Log:
  Reintroduce UMA_SLAB_KMAP; however, change its spelling to
  UMA_SLAB_KERNEL for consistency with its sibling UMA_SLAB_KMEM.
  (UMA_SLAB_KMAP met its original demise in revision 1.30 of
  vm/uma_core.c.)  UMA_SLAB_KERNEL is now required by the jumbo frame
  allocators.  Without it, UMA cannot correctly return pages from the
  jumbo frame zones to the VM system because it resets the pages' object
  field to NULL instead of the kernel object.  In more detail, the jumbo
  frame zones are created with the option UMA_ZONE_REFCNT.  This causes
  UMA to overwrite the pages' object field with the address of the slab.
  However, when UMA wants to release these pages, it doesn't know how to
  restore the object field, so it sets it to NULL.  This change teaches
  UMA how to reset the object field to the kernel object.
  
  Crashes reported by: kris
  Fix tested by: kris
  Fix discussed with: jeff
  MFC after: 6 weeks
  
  Revision  Changes    Path
  1.614     +3 -1      src/sys/i386/i386/pmap.c
  1.40      +2 -1      src/sys/kern/kern_mbuf.c
  1.32      +1 -0      src/sys/vm/uma.h
  1.149     +4 -0      src/sys/vm/uma_core.c


More information about the cvs-src mailing list