From owner-freebsd-net@FreeBSD.ORG Fri Mar 8 18:06:13 2013 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 5437A2D0 for ; Fri, 8 Mar 2013 18:06:13 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id B9162A97 for ; Fri, 8 Mar 2013 18:06:12 +0000 (UTC) Received: (qmail 93868 invoked from network); 8 Mar 2013 19:19:21 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 8 Mar 2013 19:19:21 -0000 Message-ID: <513A2887.2010408@freebsd.org> Date: Fri, 08 Mar 2013 19:05:59 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: Garrett Wollman Subject: Re: Limits on jumbo mbuf cluster allocation References: <20793.36593.774795.720959@hergotha.csail.mit.edu> <51399926.6020201@freebsd.org> <20794.6692.191898.682241@hergotha.csail.mit.edu> In-Reply-To: <20794.6692.191898.682241@hergotha.csail.mit.edu> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org, Jack Vogel X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Mar 2013 18:06:13 -0000 On 08.03.2013 18:04, Garrett Wollman wrote: > < said: > >> I am not strongly opposed to trying the 4k mbuf pool for all larger sizes, >> Garrett maybe if you would try that on your system and see if that helps >> you, I could envision making this a tunable at some point perhaps? > > If you can provide a patch I can certainly build it in to our kernel > and have it ready the next time the production server crashes. I'd > like it to be at least a *little* tested by someone else beforehand, > though. This should do the trick. -- Andre Index: dev/ixgbe/ixgbe.c =================================================================== --- dev/ixgbe/ixgbe.c (revision 247893) +++ dev/ixgbe/ixgbe.c (working copy) @@ -1120,12 +1120,8 @@ */ if (adapter->max_frame_size <= 2048) adapter->rx_mbuf_sz = MCLBYTES; - else if (adapter->max_frame_size <= 4096) + else adapter->rx_mbuf_sz = MJUMPAGESIZE; - else if (adapter->max_frame_size <= 9216) - adapter->rx_mbuf_sz = MJUM9BYTES; - else - adapter->rx_mbuf_sz = MJUM16BYTES; /* Prepare receive descriptors and buffers */ if (ixgbe_setup_receive_structures(adapter)) {