Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Mar 1999 19:15:36 -0800
From:      David Greenman <dg@root.com>
To:        Jonathan Lemon <jlemon@americantv.com>
Cc:        dillon@apollo.backplane.com, freebsd-hackers@FreeBSD.ORG
Subject:   Re: 3.1-STABLE dies on 40+ connects 
Message-ID:  <199903260315.TAA00298@implode.root.com>
In-Reply-To: Your message of "Thu, 25 Mar 1999 21:08:10 CST." <19990325210810.58396@right.PCS> 

next in thread | previous in thread | raw e-mail | index | archive | help
>So that would explain why I see the peak value for NMBCLUSTERS
>exceeding the max; the system allocated more, and then ran out of
>space in the vm map.

   It's the total space in the "mb_map" that determines the real limit. The
"max" in the netstat output is just the nmbclusters part, but the real max
is the size of the map (which, again, also has space for mbufs).

>But what I was really asking was at what point does the system decide
>to put data in a cluster as opposed to putting it into a normal mbuf 
>and then tacking it onto the mbuf chain?  As I understand it, the NIC 
>DMA's data directly into mbufs on it's receive ring; are these then
>passed to ether_input.  Are the buffers that the NIC uses always clusters?

   In general, the system uses mbuf clusters (large buffers) whenever there
is more data than will fit into just a single mbuf. Device drivers have
various policies, however, so what actually happens can vary.

-DG

David Greenman
Co-founder/Principal Architect, The FreeBSD Project


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




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