Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Dec 2003 17:00:57 -0500 
From:      Gerrit Nagelhout <gnagelhout@sandvine.com>
To:        "'freebsd-hackers@freebsd.org'" <freebsd-hackers@freebsd.org>
Subject:   Page size for mbufs
Message-ID:  <FE045D4D9F7AED4CBFF1B3B813C85337021AAFE0@mail.sandvine.com>

next in thread | raw e-mail | index | archive | help
Hi,

As part of some performance tuning for a bridging-like application, I am
looking at the page sizes being used for mbufs (headers & clusters).  As far
as I can tell, it is currently using standard 4K pages for this.  In this
application (Running on 2.8 Ghz Xeon), there seems to be large pipeline
stall whenever new mbufs are being accessed.  The number of active mbufs in
the system is about 4096, which works out to 2048 pages for the clusters
alone.  Since there are only 64 TLB entries in the xeon, I suspect that TLB
thrashing will have a severe performance impact.  In order to try and get
around this, I'd like to try and change the page size for the Mbufs.  Does
anybody have any ideas on the best/easiest way to try this out, and figure
out what the performance impact is?
I know that the mbufs are allocated out of the mb_map, which is created by
kmem_suballoc.  I have also noticed some 4M page support in pmap.c, but I'm
not sure how to tie the two together.  Any suggestions?
Thanks,

Gerrit Nagelhout



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