numam-dpdk/lib
Tiwei Bie e5c494a7a2 vhost: batch small guest memory copies
This patch adaptively batches the small guest memory copies.
By batching the small copies, the efficiency of executing the
memory LOAD instructions can be improved greatly, because the
memory LOAD latency can be effectively hidden by the pipeline.
We saw great performance boosts for small packets PVP test.

This patch improves the performance for small packets, and has
distinguished the packets by size. So although the performance
for big packets doesn't change, it makes it relatively easy to
do some special optimizations for the big packets too.

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Tested-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: Yuanhan Liu <yliu@fridaylinux.org>
2017-10-10 15:48:53 +02:00
..
librte_acl lib: remove duplicate includes 2017-07-16 17:30:06 +02:00
librte_bitratestats ethdev: increase port id range 2017-10-06 18:23:25 +02:00
librte_cfgfile cfgfile: rework load function 2017-10-09 00:50:48 +02:00
librte_cmdline cmdline: fix compilation with -Og 2017-10-06 02:49:50 +02:00
librte_compat fix typos using codespell utility 2017-06-14 23:54:13 +02:00
librte_cryptodev cryptodev: fix C11 extensions in exported header 2017-08-05 01:18:21 +02:00
librte_distributor lib: remove duplicate includes 2017-07-16 17:30:06 +02:00
librte_eal vfio: refactor PCI BAR mapping 2017-10-10 15:37:58 +02:00
librte_efd update Cavium Inc copyright headers 2017-07-08 17:43:49 +02:00
librte_ether xen: remove dependency in libraries 2017-10-09 01:52:08 +02:00
librte_eventdev eventdev: bump library version 2017-08-08 20:01:39 +02:00
librte_gro gro: fix typo in map file 2017-08-31 23:02:54 +02:00
librte_hash hash: optimize Toeplitz RSS computation 2017-10-07 13:50:43 +02:00
librte_ip_frag ip_frag: rename map file to standardized name 2017-08-31 23:02:57 +02:00
librte_jobstats jobstats: fix a doxygen comment 2017-10-08 22:22:08 +02:00
librte_kni ethdev: increase port id range 2017-10-06 18:23:25 +02:00
librte_kvargs mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_latencystats ethdev: increase port id range 2017-10-06 18:23:25 +02:00
librte_lpm lib: remove duplicate includes 2017-07-16 17:30:06 +02:00
librte_mbuf eal: allow user to override default mempool driver 2017-10-06 20:48:22 +02:00
librte_member member: add AVX for HT mode 2017-10-09 00:02:45 +02:00
librte_mempool mem: remove API to get physical address in dom0 2017-10-09 01:52:37 +02:00
librte_meter mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_metrics metrics: fix compilation with -Og 2017-10-06 02:49:50 +02:00
librte_net net: fix inner L2 length in packet type parser 2017-10-05 23:34:45 +02:00
librte_pdump ethdev: increase port id range 2017-10-06 18:23:25 +02:00
librte_pipeline mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_port ethdev: increase port id range 2017-10-06 18:23:25 +02:00
librte_power power: add turbo functions to map file 2017-10-03 10:46:12 +02:00
librte_reorder fix typos using codespell utility 2017-06-14 23:54:13 +02:00
librte_ring ring: increase maximum ring size 2017-10-05 23:23:12 +02:00
librte_sched sched: remove check for SSE4 2017-07-04 14:39:18 +02:00
librte_table update Cavium Inc copyright headers 2017-07-08 17:43:49 +02:00
librte_timer lib: remove duplicate includes 2017-07-16 17:30:06 +02:00
librte_vhost vhost: batch small guest memory copies 2017-10-10 15:48:53 +02:00
Makefile cfgfile: remove EAL dependency 2017-10-09 00:44:59 +02:00