2e84937377
Data_ring is a pre-mapped guest ring buffer that vmxnet3 backend has access to directly without a need for buffer address mapping and unmapping during packet transmission. It is useful in reducing device emulation cost on the tx path. There are some additional cost though on the guest driver for packet copy and overall it's a win. This patch leverages the data_ring for packets with a length less than or equal to the data_ring entry size (128B). For larger packet, we won't use the data_ring as that requires one extra tx descriptor and it's not clear if doing this will be beneficial. Performance results show that this patch significantly boosts vmxnet3 64B tx performance (pkt rate) for l2fwd application on a Ivy Bridge server by >20% at which point we start to hit some bottleneck on the rx side. Signed-off-by: Yong Wang <yongwang@vmware.com> |
||
---|---|---|
.. | ||
vmxnet3 | ||
Makefile | ||
vmxnet3_ethdev.c | ||
vmxnet3_ethdev.h | ||
vmxnet3_logs.h | ||
vmxnet3_ring.h | ||
vmxnet3_rxtx.c |