:>    ptr = (char *) malloc(MALLOC_SIZE);
:>    bzero(ptr, MALLOC_SIZE);
:
:The bzero is unnecessary on FreeBSD.  Allocated pages start out
:zero'ed.  Part of the performance issue might be that FreeBSD is
:being asked to zero the pages twice, instead of once.

    malloc() does not guarentee a zero'd page, even though the 
    side effect of a malloc() that large could very well be to map
    demand-zero-fill space.

    The bzero() will have the effect of force-instantiating the
    storage for the malloc'd space.  It's appropriate for the
    test, I suppose, since the test is trying to test swap
    performance.


:It might be more interesting to mmap() anonymous memory
:(e.g. out of /dev/zero), rather than using malloc, and
:then use that memory the same way, instead (it's swap
:backed, as well).  Giving it an madvise, to tell it your
:intended access pattern would also be useful.

    Just mmap(... MAP_ANON...).  It will make no difference,
    though, because that is effectively what a malloc() of
    that size will do anyway.

                                        -Matt


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to