Il 04/06/2013 15:52, Peter Lieven ha scritto: > On 30.05.2013 16:41, Paolo Bonzini wrote: >> Il 30/05/2013 16:38, Peter Lieven ha scritto: >>>>> You could also scan the page for nonzero values before writing it. >>> i had this in mind, but then choosed the other approach.... turned >>> out to be a bad idea. >>> >>> alexey: i will prepare a patch later today, could you then please >>> verify it fixes your problem. >>> >>> paolo: would we still need the madvise or is it enough to not write >>> the zeroes? >> It should be enough to not write them. > > Problem: checking the pages for zero allocates them. even at the source.
It doesn't look like. I tried this program and top doesn't show an increasing amount of reserved memory: #include <stdio.h> #include <stdlib.h> int main() { char *x = malloc(500 << 20); int i, j; for (i = 0; i < 500; i += 10) { for (j = 0; j < 10 << 20; j += 4096) { *(volatile char*) (x + (i << 20) + j); } getchar(); } } Paolo