On Thu, Mar 19, 2009 at 05:02:48PM +0530, Amit Shah wrote:
On (Thu) Mar 19 2009 [10:39:05], Daniel P. Berrange wrote:
> char * buf = mmap(NULL, len, MAP_SHARED, MAP_ANONYMOUS, fd, offset)
> memset(buf, 0, len);
> munmap(buf, len);
>
> Or, do your calloc() of a 1 MB chunk, and then call safewrite in a
> loop, just to avoid too large a memory allocation.
Yeah; I forgot the free().
My approach was to never allocate more than 500MiB. However we can call
safezero() itself with less than 500M; is 200M OK?
No IMHO that's definitely too big. Even 1MB is too much if you
can avoid it, please try to use mmap, if that dowsn't work then
use 1MB chunk,
thanks,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/