On Thu, 28 Aug 2008, Aaron J. Grier wrote:
On Thu, Aug 28, 2008 at 10:35:19PM +0200, Manuel Bouyer wrote:On Thu, Aug 28, 2008 at 01:24:23PM -0500, David Young wrote:Drivers for network interfaces reserve many mbufs for receiving packets, and they are not smart enough to shrink their reservation.The mbuf can also be in socket queues; if you drop them you're effectively killing the connection.
...
I see PR8129, which was closed in 2002 with the comment "Does not happen with tlp." something either broke along the line, or mbufs could be a red herring. what else allocates from mclpool?
I ran into this problem on a Dell Blade server with 2 bnx interfaces when I attempted to use both interfaces. The bnx driver was allocating at least half the mclpool for each interface, leaving none for any other uses. I think I was using i386 at the time, later switching to amd64, and noticed that the default NMBCLUSTERS on amd64 is twice the number as on i386.
I've run into the same problem in the past because I have locally modified the tlp and elinkx drivers to allocate larger recieve ring buffers.
-- Michael L. Hitch mhitch%montana.edu@localhost Computer Consultant Information Technology Center Montana State University Bozeman, MT USA