This patchset allows QEMU to poll and check the device used buffer after sending all SVQ control commands, instead of polling and checking immediately after sending each SVQ control command, so that QEMU can send all the SVQ control commands in parallel, which have better performance improvement.
I use vdpa_sim_net to simulate vdpa device, refactor vhost_vdpa_net_load() to call vhost_vdpa_net_load_mac() 30 times, refactor `net_vhost_vdpa_cvq_info.load` to call vhost_vdpa_net_load() 1000 times, to build a test environment for sending multiple SVQ control commands. Time in monotonic to finish `net_vhost_vdpa_cvq_info.load`: QEMU monotonic time -------------------------------------------------- not patched 89202 -------------------------------------------------- patched 80455 This patchset resolves the GitLab issue at https://gitlab.com/qemu-project/qemu/-/issues/1578. Hawkins Jiawei (2): vdpa: rename vhost_vdpa_net_cvq_add() vdpa: send CVQ state load commands in parallel net/vhost-vdpa.c | 150 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 112 insertions(+), 38 deletions(-) -- 2.25.1