ixgbe: remove burst size restriction of vector Rx
authorCunming Liang <cunming.liang@intel.com>
Tue, 4 Aug 2015 11:47:12 +0000 (19:47 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 9 Sep 2015 13:17:41 +0000 (15:17 +0200)
commit45e73f4208ee98f57d21322a9777d1c7479dbc80
tree04cd49ae67e8de36c3b6897fae8f36a6ba6c31e9
parentb7fcd13c90a3a543a34a7725c5a6bf319a358b96
ixgbe: remove burst size restriction of vector Rx

On receive side, the burst size now floor aligns to RTE_IXGBE_DESCS_PER_LOOP
power of 2. According to this rule, the burst size less than 4 still won't
receive anything.
(Before this change, the burst size less than 32 can't receive anything.)
_recv_*_pkts_vec returns no more than 32(RTE_IXGBE_RXQ_REARM_THRESH) packets.

On transmit side, the max burst size no longer bind with a constant, however
it still requires to check the cross tx_rs_thresh violation.

There's no obvious performance drop found on both recv_pkts_vec
and recv_scattered_pkts_vec on burst size 32.

Signed-off-by: Cunming Liang <cunming.liang@intel.com>
Reviewed-by: Zoltan Kiss <zoltan.kiss@linaro.org>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
drivers/net/ixgbe/ixgbe_rxtx.c
drivers/net/ixgbe/ixgbe_rxtx.h
drivers/net/ixgbe/ixgbe_rxtx_vec.c