Date: Tue, 20 Aug 2002 15:44:16 -0400 From: Bosko Milekic <bmilekic@unixdaemons.com> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: Luigi Rizzo <rizzo@icir.org>, freebsd-net@FreeBSD.ORG Subject: Re: m_getcl and end-to-end performance Message-ID: <20020820154416.A27782@unixdaemons.com> In-Reply-To: <15714.39494.661931.882244@grasshopper.cs.duke.edu>; from gallatin@cs.duke.edu on Tue, Aug 20, 2002 at 03:36:38PM -0400 References: <15714.27671.533860.408996@grasshopper.cs.duke.edu> <20020820093939.B48541@iguana.icir.org> <15714.39494.661931.882244@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Aug 20, 2002 at 03:36:38PM -0400, Andrew Gallatin wrote: > > Luigi Rizzo writes: > > > > now if you have patches i'll be happy to have a look at them. > > Here's what I'm running with now. It removes the M_PKTHDR > requirement, allowing me to use multiple m_getcl()'s to stock jumbo > frames. I forgot about something in Luigi's original patch: Does this stuff make sure to only stock the pool with mbufs+clusters and not mbufs+any_other_external_buffer? This requirement seems to be necessary in m_freem() because otherwise you could be getting an mbuf+something_other_than_a_cluster from m_getcl(), which is _not_ what the function is supposed to do. > The uicp_socket.c is just a cheesey hack to soreceive() so as to > pretend we do mcl_pool restocking in m_free(). > > For a netperf UDP_STREAM, I see ~1,000 to ~2,000 packets/sec increase > in throughput for sizes 256 through 2K. For large (8K) I see a > ~20-30Mb/sec increase (but that's only a few hundred pkts/sec). > > Drew -- Bosko Milekic * bmilekic@unixdaemons.com * bmilekic@FreeBSD.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020820154416.A27782>