Huawei Xie
e928fd0bb0
virtio: optimize avail ring update
Avail ring is updated by the frontend and consumed by the backend. There are frequent core to core cache transfers for the avail ring. This optmization avoids avail ring entry index update if the entry already holds the same value. As DPDK virtio PMD implements FIFO free descriptor list (also for performance reason of CACHE), in which descriptors are allocated from the head and freed to the tail, with this patch in most cases avail ring will remain the same, then it would be valid in both caches of frontend and backend. Suggested-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Huawei Xie <huawei.xie@intel.com> Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD license for the core libraries and drivers. The kernel components are GPLv2 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%