Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Oct 2008 13:43:01 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Kip Macy <kmacy@freebsd.org>
Cc:        Bartosz Giza <gizmen@blurp.pl>, freebsd-net@freebsd.org
Subject:   Re: does freebsd support so called Scalable I/O on intel NIC ?
Message-ID:  <alpine.BSF.1.10.0810261339100.20675@fledge.watson.org>
In-Reply-To: <3c1674c90810241552v5fd3e58fvf6bd43ad94558b1e@mail.gmail.com>
References:  <200810241612.04764.gizmen@blurp.pl> <3c1674c90810241552v5fd3e58fvf6bd43ad94558b1e@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 24 Oct 2008, Kip Macy wrote:

> It is simply a knob to adjust on all new server network cards. You could 
> benefit from it on a predominantly UDP workload. I believe that tcp_input is 
> still sufficiently serialized that it would not make sense for TCP 
> workloads.

In principle we can benefit on the basis that we drop the global lock fairly 
quickly for steady-state workloads (i.e., few SYN/FIN/RST packets), but there 
should be lots of contention on tcbinfo.

If anyone is interested in doing some benchmarks, I have some patches that 
should apply fairly easily againts 8.x or 7.x as of 7.1 to move to optimistic 
read-locking of the global lock for steady state packets, but once in a while 
we have to upgrade or drop and re-acquire to get an exclusive lock when it 
turns out something that looked like a steady state packet did require the 
global lock exclusively, such as the ACK to transitioning to or from 
established.

I've not had a chance to do much benchmarking on them, and theorize that they 
probably help quite a lot for lots of steady-state connections, but as 
connection length gets shorter the optimistic assumption becomes less true and 
begins to hurt performance.

The long-term plan is to move to some more agressive decomposition of the 
tcbinfo lock, but I've not started on that yet as I'm waiting for the rwlock 
changes to settle, and need to evaluate the above tcbinfo rwlock patch.

Robert N M Watson
Computer Laboratory
University of Cambridge

>
> -Kip
>
> On Fri, Oct 24, 2008 at 2:12 PM, Bartosz Giza <gizmen@blurp.pl> wrote:
>> Hi,
>>
>> i am looking for a good NIC from NIC to put on our quite busy router based
>> on freebsd 6.3 (soon 7.x)
>> I've found server NIC from intel and there is such a thing like scalable I/O
>> on windows and linux.
>> (from web page)
>>
>> "load balancing on multiple CPUs Increases
>> performance on multi-processor systems by efficiently
>> balancing network loads across CPU cores when used
>> with Receive-Side Scaling from Microsoft or Scalable
>>  I/O on Linux*"
>>
>> Is such thing supported on freebsd ?
>>
>> And one more question. Does anybody has some data what is difference on
>> desktop and server NIC from INTEL in pps or so.
>> I wonder how faster could be those server NICs
>>
>> thanks
>> _______________________________________________
>> 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"
>>
> _______________________________________________
> 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"
>



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