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>
