From owner-freebsd-net@FreeBSD.ORG Mon Jul 7 22:17:23 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4AB6C1065675 for ; Mon, 7 Jul 2008 22:17:23 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outD.internet-mail-service.net (outd.internet-mail-service.net [216.240.47.227]) by mx1.freebsd.org (Postfix) with ESMTP id 2F3A08FC1E for ; Mon, 7 Jul 2008 22:17:23 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id BF0682364; Mon, 7 Jul 2008 15:17:50 -0700 (PDT) Received: from julian-mac.elischer.org (localhost [127.0.0.1]) by idiom.com (Postfix) with ESMTP id A0C282D601A; Mon, 7 Jul 2008 15:17:22 -0700 (PDT) Message-ID: <487295F2.7070802@elischer.org> Date: Mon, 07 Jul 2008 15:17:22 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.14 (Macintosh/20080421) MIME-Version: 1.0 To: Peter Jeremy References: <2d3001c8def1$f4309b90$020b000a@bartwrkstxp> <486FFF70.3090402@gtcomm.net> <48701921.7090107@gtcomm.net> <4871E618.1080500@freebsd.org> <20080708002228.G680@besplex.bde.org> <48724238.2020103@freebsd.org> <20080708034304.R21502@delplex.bde.org> <20080708045135.V1022@besplex.bde.org> <48727BA9.6020702@elischer.org> <20080707221257.GH62764@server.vk2pj.dyndns.org> In-Reply-To: <20080707221257.GH62764@server.vk2pj.dyndns.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: FreeBSD Net Subject: Re: Freebsd IP Forwarding performance (question, and some info) [7-stable, current, em, smp] X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 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, 07 Jul 2008 22:17:23 -0000 Peter Jeremy wrote: > On 2008-Jul-07 13:25:13 -0700, Julian Elischer wrote: >> what you need is a speculative prefetch where you an tell teh >> processor "We will probably need the following address so start >> getting it while we go do other stuff". > > This looks like the PREFETCH instructions that exist in at least amd64 > and SPARC. Unfortunately, their optimal use is very implementation- > dependent and the AMD documentation suggests that incorrect use can > degrade performance. > It might be worth looking to see if the network processing threads might be able to prefetch the IP header at least :-)