DragonFly BSD
DragonFly commits List (threaded) for 2004-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

cvs commit: src/sys/vm vm_contig.c vm_extern.h vm_glue.c vm_kern.c vm_kern.h vm_map.c vm_map.h vm_zone.c


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 14 Jan 2004 15:26:14 -0800 (PST)

dillon      2004/01/14 15:26:14 PST

DragonFly src repository

  Modified files:
    sys/vm               vm_contig.c vm_extern.h vm_glue.c 
                         vm_kern.c vm_kern.h vm_map.c vm_map.h 
                         vm_zone.c 
  Log:
  Cleanup the vm_map_entry_[k]reserve/[k]release() API.  This API is used to
  guarentee that sufficient vm_map_entry structures are available for certain
  atomci VM operations.
  
  The kreserve/krelease API is only supposed to be used to dig into the kernel
  reserve, used when zalloc() must recurse into kmem_alloc() in order to
  allocate a new page.  Without this we can get into a kmem_alloc -> zalloc ->
  kmem_alloc deadlock.
  
  kreserve/krelease was being used improperly in my original work, causing it
  to be unable to guarentee the reserve and resulting in an occassional panic.
  This commit converts the improper usage back to using the non-k version of
  the API and (should) properly handle the zalloc() recursion case.
  
  Reported-by: David Rhodus <drhodus@xxxxxxxxx>
  
  Revision  Changes    Path
  1.3       +1 -1      src/sys/vm/vm_contig.c
  1.7       +8 -1      src/sys/vm/vm_extern.h
  1.19      +2 -2      src/sys/vm/vm_glue.c
  1.13      +24 -18    src/sys/vm/vm_kern.c
  1.8       +6 -0      src/sys/vm/vm_kern.h
  1.18      +14 -11    src/sys/vm/vm_map.c
  1.10      +1 -1      src/sys/vm/vm_map.h
  1.12      +1 -1      src/sys/vm/vm_zone.c


http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_contig.c.diff?r1=1.2&r2=1.3&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_extern.h.diff?r1=1.6&r2=1.7&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_glue.c.diff?r1=1.18&r2=1.19&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_kern.c.diff?r1=1.12&r2=1.13&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_kern.h.diff?r1=1.7&r2=1.8&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_map.c.diff?r1=1.17&r2=1.18&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_map.h.diff?r1=1.9&r2=1.10&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_zone.c.diff?r1=1.11&r2=1.12&f=h



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]