On 17 Mar 2014, at 07:54, David Malone <dwmal...@maths.tcd.ie> wrote:

>>  (1) Merge a software implementation of the Toeplitz hash specified in
>>      RSS implemented by David Malone.  This is used to allow suitable
>>      pcbgroup placement of connections before the first packet is
>>      received from the NIC.  Software hashing is generally avoided,
>>      however, due to high cost of the hash on general-purpose CPUs.
> 
> I could look at a faster software implementation, but I guess most of
> the value is when hashing is done on the NIC.

In my benchmarking (a couple of years ago) the software path never really 
turned up a lot. If you end up with a flow migrating from an RSS NIC to a 
non-RSS NIC, you fall back on the 'reservation' hash table, using the 
conventional hash and picking up contention, but you don't end up doing the 
software version of Toeplitz per-packet. The only reason we need a software 
implementation (currently) is to do an initial placement of a new outbound flow 
into the hash table prior to receiving a packet with the hardware-generated 
hash on it. For the inbound direction, we can pick it up from the first packet. 
(Although, actually, we also need to do it for inbound flows that come from 
non-RSS NICs -- or localhost or such).

Robert
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to