From owner-freebsd-net@FreeBSD.ORG Mon Nov 12 07:28:12 2012 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C677DE22 for ; Mon, 12 Nov 2012 07:28:12 +0000 (UTC) (envelope-from oppermann@networx.ch) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id 30C768FC0C for ; Mon, 12 Nov 2012 07:28:10 +0000 (UTC) Received: (qmail 94325 invoked from network); 12 Nov 2012 09:02:30 -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 ; 12 Nov 2012 09:02:30 -0000 Message-ID: <50A0A502.1030306@networx.ch> Date: Mon, 12 Nov 2012 08:28:02 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121010 Thunderbird/16.0.1 MIME-Version: 1.0 To: Alfred Perlstein Subject: Re: auto tuning tcp References: <50A0A0EF.3020109@mu.org> In-Reply-To: <50A0A0EF.3020109@mu.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org, Adrian Chadd , Peter Wemm 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: Mon, 12 Nov 2012 07:28:12 -0000 On 12.11.2012 08:10, Alfred Perlstein wrote: > I noticed that TCBHASHSIZE does not autotune. > > What do you think of the following algorithm? > > Basically round down to next power of two based on nmbclusters / 64. Please wait out for a real fix of the various mbuf-whatever tuning issue I'll propose shortly. This approach may become inapproriate. Also the mbuf limits can be changed at runtime by sysctl. -- Andre > -Alfred > > #include > #include > #include > > > int > main(int argc, char **argv) > { > int nmbclusters; > int pow2cl; > > nmbclusters = atoi(argv[1]); > pow2cl = 1 << (fls(nmbclusters / 64)-1); > if (pow2cl < 512) > pow2cl = 512; > printf("%d\n", pow2cl); > return (0); > > } > > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" > >