cvs commit: src/sys/vm vm_kern.c vm_map.c vm_map.h

Brian Fundakowski Feldman green at FreeBSD.org
Mon Aug 9 14:47:03 PDT 2004


On Mon, Aug 09, 2004 at 04:52:15PM -0400, Andrew Gallatin wrote:
> Brian Feldman [green at FreeBSD.org] wrote:
> 
> >   * Require all mappings to be unwired before they are deleted.
> >     When VM space is still wired upon deletion, it will be waited
> >     upon for the following unwire.  This makes vslock(9) work
> >     rather than allowing kernel-locked memory to be deleted
> >     out from underneath of its consumer as it would before.
> 
> Can you explain in a little more detail what would happen now in the
> following scenario:
> 
> An application running in userspace allocates SIZE bytes at "addr",
> either with an mmap or via sbrk.  Then something in the kernel calls:
> vm_map_wire(map, addr, addr + SIZE, TRUE) on its behalf.
> Then the application frees (or munmaps) "addr".
> 
> Does the application sleep waiting for something to unwire addr+SIZE?

Yes, that is exactly what happens (replace TRUE with appropriate
current flags); is there some other behavior you would expect to see?

-- 
Brian Fundakowski Feldman                           \'[ FreeBSD ]''''''''''\
  <> green at FreeBSD.org                               \  The Power to Serve! \
 Opinions expressed are my own.                       \,,,,,,,,,,,,,,,,,,,,,,\


More information about the cvs-all mailing list