From: Nick Craig-W. <nc...@ax...> - 2002-04-29 21:26:15
|
On Mon, Apr 29, 2002 at 11:20:33AM -0400, Jeff Dike wrote: > nc...@ax... said: > > This may be a stupid question - but why doesn't UML mmap MAP_ANONYMOUS > > (or /dev/null) so a file in /tmp wouldn't be needed? > > > Just a thought and there is probably a very good technical reason why > > not! > > Yup, there is. mmapping /dev/zero is the obvious thing to do on 2.4. However > if you mmap a range from /dev/zero, write into it, and then mmap that same > range to a different address, you don't get the data that you put there. You > get zeros. That sounds like a bug? I wrote a quick test program to verify it and I agree that the kernel does different things for mapping /tmp/xzy than for /dev/zero. > This makes /dev/zero useless for UML's VM system. > > And MAP_ANONYMOUS doesn't work because you can't map the same data in multiple > places since you have no file descriptor acting as a handle to the > memory. I thought you could use any number you liked as the fd and mmap would use it like a handle. I just wrote a quick test program to check and that doesn't work either. -- Nick Craig-Wood nc...@ax... |