Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 03 Mar 2008 23:19:08 +0100
From:      Kris Kennaway <kris@FreeBSD.org>
To:        Bakul Shah <bakul@bitblocks.com>
Cc:        gnn@freebsd.org, current@freebsd.org
Subject:   Re: Differences in malloc between 6 and 7?
Message-ID:  <47CC795C.9050600@FreeBSD.org>
In-Reply-To: <20080303211731.D89A05B30@mail.bitblocks.com>
References:  <20080303211731.D89A05B30@mail.bitblocks.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Bakul Shah wrote:
> On Mon, 03 Mar 2008 15:23:33 EST gnn@freebsd.org  wrote:
>> One of the folks I'm working with found this.  The following code,
>> which yes, is just an example, is 1/2 as fast on 7.0-RELEASE as on
>> 6.3.  Where should I look to find out why?
> 
> Specifying malloc option K (double virtual memory chunk size)
> roughly halves the runtime.  Additional Ks reduce it more and
> more.  As this test spends most of its time in the kernel,
> may be this is just due to the mmap overhead? Or may be the
> defaults for 6.3 were different.

Well, the whole architecture of malloc is different.

I also see a big performance cliff (drops by a factor of 10) when malloc 
size exceeds the chunk size (1MB by default).  Also concurrent access to 
mmapped memory performs badly in FreeBSD right now.  I have patches that 
convert the vm_map lock to a sx to avoid this contention, but they need 
some more work.

Kris



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