Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Mar 2002 11:26:43 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        "Rogier R. Mulhuijzen" <drwilco@drwilco.net>, Mike Silbersack <silby@silby.com>, Tom <bifrost@minions.com>, Dimitar Peikov <mitko@rila.bg>, cjp <cjp@sandstorm.net>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: Swapping performance
Message-ID:  <200203071926.g27JQhU68778@apollo.backplane.com>
References:  <20020307095452.D18855-100000@frond.minions.com> <5.1.0.14.0.20020307193205.01c3b0f0@mail.drwilco.net> <3C87BD3D.49BE8105@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help

:>    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 majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203071926.g27JQhU68778>