From owner-freebsd-net@FreeBSD.ORG Mon Jul 7 19:53:45 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 700B31065680 for ; Mon, 7 Jul 2008 19:53:45 +0000 (UTC) (envelope-from artemb@gmail.com) Received: from fk-out-0910.google.com (fk-out-0910.google.com [209.85.128.189]) by mx1.freebsd.org (Postfix) with ESMTP id EA6C78FC65 for ; Mon, 7 Jul 2008 19:53:44 +0000 (UTC) (envelope-from artemb@gmail.com) Received: by fk-out-0910.google.com with SMTP id k31so1267360fkk.11 for ; Mon, 07 Jul 2008 12:53:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references :x-google-sender-auth; bh=IZz6YA8lcBB0+cwM3lKHpFz41Tggpbc/toqW9XtBvt8=; b=oRQPdQQU9ZMDIqrcDyXt+inB34qI8XY+oR1scoOzIZ/g+Izshj+cJCzT7zWDnEHv3M IHz71VuM7HvjyQ9nD3Aj3NEVD9Nu5N5Tcp5b0nFaUPOlPPHHLkCUe4Id4qoLjSurmtsR NXyA3rHXRy5Gqogj544VkbfOzSPrka2fBuMjY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references:x-google-sender-auth; b=HDy8Kq0/gULQGtivKUAcONbcdnaBElu7cO67nNJpCk+iq1Bd8K/+u2jwnNzEnipVVL Jlc41pVNG3sKm5AE5BNEWM+LUoQ/Xw1dDcfZAN+cOyS1m8eoRu39PpYeqm3A4BqhmugN OPRMbdAwY7Rcie4fxqh6QP//Hj3Swk36jQPjM= Received: by 10.86.25.17 with SMTP id 17mr4557527fgy.50.1215458872941; Mon, 07 Jul 2008 12:27:52 -0700 (PDT) Received: by 10.86.83.19 with HTTP; Mon, 7 Jul 2008 12:27:52 -0700 (PDT) Message-ID: Date: Mon, 7 Jul 2008 12:27:52 -0700 From: "Artem Belevich" Sender: artemb@gmail.com To: "FreeBSD Net" In-Reply-To: <20080708045135.V1022@besplex.bde.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <4867420D.7090406@gtcomm.net> <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> X-Google-Sender-Auth: 1701e430fa4259c1 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 19:53:45 -0000 Hi, As was already mentioned, we can't avoid all cache misses as there's data that's recently been updated in memory via DMA and therefor kicked out of cache. However, we may hide some of the latency penalty by prefetching 'interesting' data early. I.e. we know that we want to access some ethernet headers, so we may start pulling relevant data into cache early. Ideally, by the time we need to access the field, it will already be in the cache. When we're counting nanoseconds per packet this may bring some performance gain. Just my $0.02. --Artem