enic: improve Rx performance
authorJohn Daley <johndale@cisco.com>
Fri, 4 Mar 2016 21:09:00 +0000 (13:09 -0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 16 Mar 2016 15:57:12 +0000 (16:57 +0100)
commit947d860c821f4248dcf2fc01e98671524973eeea
tree018ea985bf8b941afc7508206ef38ba6f1235638
parent39ab35a36a47fb96d364d42566e4377cda3391bb
enic: improve Rx performance

This is a wholesale replacement of the Enic PMD receive path in order
to improve performance and code clarity. The changes are:
- Simplify and reduce code path length of receive function.
- Put most of the fast-path receive functions in one file.
- Reduce the number of posted_index updates (pay attention to
  rx_free_thresh)
- Remove the unneeded container structure around the RQ mbuf ring
- Prefetch next Mbuf and descriptors while processing the current one
- Use a lookup table for converting CQ flags to mbuf flags.

Signed-off-by: John Daley <johndale@cisco.com>
drivers/net/enic/Makefile
drivers/net/enic/base/vnic_rq.c
drivers/net/enic/base/vnic_rq.h
drivers/net/enic/enic.h
drivers/net/enic/enic_ethdev.c
drivers/net/enic/enic_main.c
drivers/net/enic/enic_res.h
drivers/net/enic/enic_rx.c [new file with mode: 0644]