From owner-freebsd-arch@FreeBSD.ORG Fri Aug 19 08:41:42 2011 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9D2E11065673; Fri, 19 Aug 2011 08:41:42 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 77DCD8FC16; Fri, 19 Aug 2011 08:41:42 +0000 (UTC) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 6574546B06; Fri, 19 Aug 2011 04:41:41 -0400 (EDT) Date: Fri, 19 Aug 2011 09:41:41 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Lev Serebryakov In-Reply-To: <810527321.20110819123700@serebryakov.spb.ru> Message-ID: References: <810527321.20110819123700@serebryakov.spb.ru> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Vadim Goncharov , freebsd-arch@freebsd.org Subject: Re: FreeBSD problems and preliminary ways to solve X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Aug 2011 08:41:42 -0000 On Fri, 19 Aug 2011, Lev Serebryakov wrote: >> 3. Kernel features for complex network solutions (netgraph, carp, ipfw). >> The niche for routers & traffic analysis is still ours. It would be >> nice to take e.g. pfSense and agree with some vendor (Netgear, >> D-Link, etc) to put on sale hardware with FreeBSD inside. > > What about 10G routing? Here are reports about full-bandwidth 10G routing > on modern Intel NICs with Linux (and multi-core server), but I didn't see > any such data for FreeBSD, and somebody says, that Intel drivers and network > stack is not so good parallel in FreeBSD. Our network stack is actually pretty parallel as such things go, and there are a number of changes in FreeBSD 9.x that extend this work. Most of the performance work is being done on edge nodes rather than middle nodes -- i.e., maxing out multiple 10gbps links serving content, etc, rather than in routing configurations, though. We also have a strong and growing collection of 10gbps drivers. You'll find our drivers lifted for many other systems, including Solaris :-). There are a few known issues in terms of parallelism -- one is contention between the ithread and user thread on per-TCP connection locks. Another is that we still haven't managed to switch to per-CPU statistics for the network stack (which is fairly straight forward in a specific sense, but we'd like a proper abstraction for it so we can generalise). Robert