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