[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
mmap/munmap semantics
Hi!
With the ongoing development of GLAME there arise the following
problems with the backing-store management, which is a mmaped
file and does "userspace virtual memory management":
- I cannot see a way to mmap a part of the file but set the
contents initially to zero, i.e. I want to setup an initially
dirty zero-mapping which is assigned to a part of the file.
Currently I'm just mmaping the part and do the zeroing by
reading from /dev/zero (which does as I understand from the
kernel code just create this zero mappings) - is there a more
portable way to achieve this?
- I need to "drop" a mapping sometimes without writing the contents
back to disk - I cannot see a way to do this with linux currently.
Ideally a hole could be created in the mmapped file on drop time -
is this possible at all with the VFS/ext2 at the moment (creating
a hole in a file by dropping parts of it)?
So for the first case we could add a flag to mmap like MAP_ZERO to
indicate a zero-map (dirty).
For the second case either the munmap call needs to be extended or
some sort of madvise with a MADV_CLEAN flag? Or we can just adjust
mprotect(PROT_NONE) and subsequent munmap() to do the dropping?
Richard.
--
The GLAME Project: http://www.glame.de/
Hosted by SourceForge: http://glame.sourceforge.net/
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/