does freebsd support so called Scalable I/O on intel NIC ?

Robert Watson rwatson at FreeBSD.org
Sun Oct 26 13:43:02 UTC 2008


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 at 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 at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>>
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>


More information about the freebsd-net mailing list