Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Apr 2009 21:57:47 +0800
From:      Sepherosa Ziehau <sepherosa@gmail.com>
To:        Robert Watson <rwatson@freebsd.org>
Cc:        freebsd-net@freebsd.org, Ivan Voras <ivoras@freebsd.org>
Subject:   Re: Advice on a multithreaded netisr patch?
Message-ID:  <ea7b9c170904070657y1670fc80qd67dc1fa9cde2ff6@mail.gmail.com>
In-Reply-To: <alpine.BSF.2.00.0904071350520.45341@fledge.watson.org>
References:  <gra7mq$ei8$1@ger.gmane.org> <alpine.BSF.2.00.0904051422280.12639@fledge.watson.org> <grac1s$p56$1@ger.gmane.org> <ea7b9c170904062157u1c457f27md565f9a95a51a705@mail.gmail.com> <alpine.BSF.2.00.0904071350520.45341@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Apr 7, 2009 at 8:54 PM, Robert Watson <rwatson@freebsd.org> wrote:
>
> On Tue, 7 Apr 2009, Sepherosa Ziehau wrote:
>
>> On Sun, Apr 5, 2009 at 9:34 PM, Ivan Voras <ivoras@freebsd.org> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ea7b9c170904070657y1670fc80qd67dc1fa9cde2ff6>