Skip site navigation (1)Skip section navigation (2)
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>