Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 01 Apr 2007 22:55:02 +0200
From:      Andre Oppermann <andre@freebsd.org>
To:        Kip Macy <kmacy@FreeBSD.org>
Cc:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   Re: PERFORCE change 117123 for review
Message-ID:  <46101C26.5030306@freebsd.org>
In-Reply-To: <200704012020.l31KKr0O097740@repoman.freebsd.org>
References:  <200704012020.l31KKr0O097740@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Kip Macy wrote:
> http://perforce.freebsd.org/chv.cgi?CH=117123
> 
> Change 117123 by kmacy@kmacy_vt-x:opentoe_init on 2007/04/01 20:20:02
> 
> 	add entry busdma tag to each each queue to allow mappings to be created in parallel
> 	track zone and type for rx freelist for simplifying later free
> 	convert rx freelists over to only using clusters, allocating the mbuf right before the 
> 	call to get_packet

Thanks for using it.  This was the idea behind providing this interface.
 From a cache busting point of view attaching the mbuf after the cluster
has been filled is very good.  The Sandvine guys found that out a long
time ago and it indeed makes a lot of sense.  When allocating whole
clusters the mbuf gets touched twice, once at allocation and once when
the driver fills in the information from the RX ring.  This way it only
gets touched in the latter case and the former cache pollution is skipped
over.

> 	This change alleviates a good portion of the recent (last 2 weeks) 18% performance drop 
> 	in peak TCP throughput

Can you attribute any specific change to the drop in performance?

-- 
Andre



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