From owner-freebsd-net@FreeBSD.ORG Tue Apr 7 13:57:48 2009 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 3BC811065675; Tue, 7 Apr 2009 13:57:48 +0000 (UTC) (envelope-from sepherosa@gmail.com) Received: from yx-out-2324.google.com (yx-out-2324.google.com [74.125.44.28]) by mx1.freebsd.org (Postfix) with ESMTP id C46988FC0A; Tue, 7 Apr 2009 13:57:47 +0000 (UTC) (envelope-from sepherosa@gmail.com) Received: by yx-out-2324.google.com with SMTP id 8so1658717yxm.13 for ; Tue, 07 Apr 2009 06:57:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=NRRxqRHX4tZnM+d5sybh74uSqZk7VEBGdro5w3v3oUM=; b=Y3xAq0Fz4k4FQxZO/DWcWfVJkSG+lKTCfSifAGsMHuPKq11Qo5LFRu1d9O1k2Pg0Pw IuX2B2iX2PMm33/GC9gQ69XYbh+gQJqXs+zS3YOPJKtW5xG3fGYR7OaQxKRPyYCZIbAp DYl8C6ZEUTFr26u2A3DP6zPPWZFAdyLLbeA80= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=SWj8DIjSSxrbAt4j8gCxDx80o2TUMI3W0a0vRo57UW4Pwn4aSEdnaPAwWgNVwWmFQH +Mgkj+lksBwj3ZRxmzrDYzi6jptZSCiV+auJ1Clt/41JBuT646S5hAoUBhxTbCmAmZ9r 0TjN1IK+DYgnwAR8Kub8Ev096YhJFCA1uQmJk= MIME-Version: 1.0 Received: by 10.150.133.18 with SMTP id g18mr390437ybd.181.1239112667344; Tue, 07 Apr 2009 06:57:47 -0700 (PDT) In-Reply-To: References: Date: Tue, 7 Apr 2009 21:57:47 +0800 Message-ID: From: Sepherosa Ziehau To: Robert Watson Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org, Ivan Voras Subject: Re: Advice on a multithreaded netisr patch? 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: Tue, 07 Apr 2009 13:57:48 -0000 On Tue, Apr 7, 2009 at 8:54 PM, Robert Watson wrote: > > On Tue, 7 Apr 2009, Sepherosa Ziehau wrote: > >> On Sun, Apr 5, 2009 at 9:34 PM, Ivan Voras wrote: >>> >>> Robert Watson wrote: >>>> >>>> On Sun, 5 Apr 2009, Ivan Voras wrote: >>>> >>>>> I thought this has something to deal with NIC moderation (em) but >>>>> can't really explain it. The bad performance part (not the jump) is >>>>> also visible over the loopback interface. >>>> >>>> FYI, if you want high performance, you really want a card supporting >>>> multiple input queues -- igb, cxgb, mxge, etc. if_em-only cards are >> >> PCI-E em(4) supports 2 RX queues. 82571/82572 support 2 TX queues. I have >> not tested multi-TX queues, but em(4) multi-RX queues work well in dfly >> (tested with 82573 and 82571) > > You may not have seen, but in FreeBSD 7.x and higher, we have a new if_igb > driver to support more recent Intel gigabit devices, which now probes a few > of the devices historically associated with if_em. For example, on one of > the boxes I use: If I understand the code correctly, it only takes 82575 and 82576; I don't have the hardware, else I would have already added dfly support (with multi rx queues at least, it seems 82576 supports 16 RX queues :) 8257{1/2/3} are still taken by em(4) in FreeBSD. In dfly, I simply forked em(4) (named emx) to create a special version for pci-e devices, for which Intel published developers' manual. I added multi-rxqueue support to it (multi-txqueue support is planned) and cleaned up the TX/RX path. IMHO, 82571 is too widely used to be ignored. Best Regards, sephe -- Live Free or Die