Re: Much improved sosend_*() functions

From: Andre Oppermann <andre_at_freebsd.org>
Date: Sat, 30 Sep 2006 01:30:23 +0200
John-Mark Gurney wrote:
> Andre Oppermann wrote this message on Fri, Sep 29, 2006 at 23:59 +0200:
>> Just don't overengineer the stuff.  Mbufs are only used temporarily and
>> a bit theoretical waste is not much a problem (so far at least).
> 
> Well, I beg to differ... most gige cards grab mbuf+cluster for every
> single ring buffer they have.. which is usually 512... so every gige
> interface for the most part consumes 1meg of memory that is not
> reusable...  because if we run out of mbuf+clusters to replace in the
> receive ring, we will not tap into the 1meg of mbuf+clusters available
> to us...  so, if you have a quad gige, that's 4megs wasted, plus w/ the
> fact that we could only use ~65% of that memory, that's a lot of memory
> wasted...

The problem is the network cards again.  Only a few allow different
rx rings to be used (for example bge(4)) where you can have multiple
mbuf (+cluster) sizes and the card choses the smallest fit at receive
time.

> Yeh, everyone says you have gigs of memory, but do we really want to
> be known as the wasteful OS?

-- 
Andre
Received on Fri Sep 29 2006 - 21:30:29 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:00 UTC