Subject: Re: Optimizing instruction-cache, more packets at each stage

From: Jesper Dangaard Brouer <[email-masked]>
Date: Thu, 21 Jan 2016 13:23:04 +0100

On Wed, 20 Jan 2016 15:27:38 -0800
Tom Herbert <[email-masked]> wrote:

> weaknesses of Toeplitz we talked about recently and that fact that
> Jenkins is really fast to compute, I am starting to think maybe we
> should always do a software hash and not rely on HW for it...

Please don't enforce a software hash.  You are proposing a hash
computation per packet which cost in the area 50-100 nanosec (?). And
on data which is cache cold (even with DDIO, you take the L3 cache
cost/hit).

Consider the increase in network hardware speeds.

Worst-case (pkt size 64 bytes) time between packets:
 *  10 Gbit/s -> 67.2 nanosec
 *  40 Gbit/s -> 16.8 nanosec
 * 100 Gbit/s ->  6.7 nanosec

Adding such a per packet cost is not going to fly.

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  Author of http://www.iptv-analyzer.org
  LinkedIn: http://www.linkedin.com/in/brouer