From owner-freebsd-net@FreeBSD.ORG Mon Jul 7 23:21:59 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 E455C106567D for ; Mon, 7 Jul 2008 23:21:59 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outN.internet-mail-service.net (outn.internet-mail-service.net [216.240.47.237]) by mx1.freebsd.org (Postfix) with ESMTP id C9A678FC0C for ; Mon, 7 Jul 2008 23:21:59 +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 640A5242F; Mon, 7 Jul 2008 16:22:18 -0700 (PDT) Received: from julian-mac.elischer.org (localhost [127.0.0.1]) by idiom.com (Postfix) with ESMTP id 548992D6016; Mon, 7 Jul 2008 16:21:59 -0700 (PDT) Message-ID: <4872A516.4000306@elischer.org> Date: Mon, 07 Jul 2008 16:21:58 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.14 (Macintosh/20080421) MIME-Version: 1.0 To: Artem Belevich References: <4867420D.7090406@gtcomm.net> <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> In-Reply-To: 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 23:22:00 -0000 Artem Belevich wrote: >> Prefetching when you are waiting for the data isn't a help. > > Agreed. Got to start prefetch around ns > before you actually need the data and move on doing other things that > do not depend on the data you've just started prefetching. > >> 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". > > It does not have to be 'speculative' either. "*Will*" is just a very definite subset of 'speculation' :-) > In this particular case > we have very good idea that we *will* need some data from ethernet > header and, probably, IP and TCP headers as well. We might as well tel > the hardware to start pulling data in without stalling the CPU. Intel > has instructions specifically for this purpose. I assume AMD has them > too. > > --Artem > _______________________________________________ > 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"