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

Under what conditions are VMAs merged?



Okay, as part of doing this persistent memory system, I apparently need to
know better when and if VMAs are merged.  The persistent memory obviously
does lots of mprotect() to what is otherwise a large private mapping of a
file (not anonymous.)

In the checkpoint routine I thought doing an mprotect(PROT_READ) on the
entire region as a single system call would coalesce the VMAs, but
apparently that is not the case; after running my standard stress-test
application, /proc/pid/maps show 51635 mappings, most of them contiguous
and otherwise matching the surrounding mappings in every way; a dump of
/proc/pid/maps is at ftp://terminus.zytor.com/pub/hpa/map.gz for the
morbidly curious.

This system is running a stock 2.4.12-ac1; the database file is 1
GB+overhead in size (1,074,008,064 bytes to be exact), it is mapped at
0x5f000000.

Appreciative for any suggestions.

	-hpa

--
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-mm.org/