dpif-netdev: Prefetch next packet before miniflow_extract().
authorDaniele Di Proietto <diproiettod@vmware.com>
Mon, 15 Jun 2015 18:06:39 +0000 (19:06 +0100)
committerEthan Jackson <ethan@nicira.com>
Mon, 15 Jun 2015 22:03:50 +0000 (15:03 -0700)
commit72a5e2b8fc8c7c316c0b9feb96b7be5b19265c7c
treedadcf07db878200c2a47ca91c6561a00d85b81ea
parent9fc789b9062818161890d165e0bc71621209404a
dpif-netdev: Prefetch next packet before miniflow_extract().

It appears that miniflow_extract() in emc_processing() spends a lot of
cycles waiting for the packet's data to be read.

Prefetching the next packet's data while parsing removes this delay.
For a single flow pipeline the throughput improves by ~10%.  With a
more realistic pipeline the change has a much smaller effect (~0.5%
improvement)

Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
Signed-off-by: Ethan Jackson <ethan@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
lib/dpif-netdev.c