When the guest memory is hotplugged, the vhost application which enables DMA acceleration must stop DMA transfers before the vhost re-maps the guest memory.
This patch set is to provide an unsafe API to drain inflight pkts which are submitted to DMA engine in vhost async data path, and notify the vhost application of stopping DMA transfers. And enable it in vhost example. v8: * updated doc in the code patch * fix a compile error in cross-compilation v7: * rebased on the latest codes * improved commit log v6: * removed unnecessary args for the new API * improved variable names and function names * added enable notification in set_mem_table * fixed vhost example queue clear process v5: * added fixes in 'vhost: fix async vhost ops return type' * improved git log, variable names and logs v4: * rebased on the latest codes v3: * added a patch to fix async ops return type * fixed async ops fail handler * updated the doc v2: * changed the patch structure Cheng Jiang (3): vhost: fix async vhost ops return type vhost: add unsafe API to clear packets in async vhost examples/vhost: handle memory hotplug for async vhost Jiayu Hu (1): vhost: handle memory hotplug for async vhost doc/guides/prog_guide/vhost_lib.rst | 5 + doc/guides/rel_notes/release_21_08.rst | 5 + examples/vhost/ioat.c | 4 +- examples/vhost/ioat.h | 8 +- examples/vhost/main.c | 55 ++++++++- examples/vhost/main.h | 1 + lib/vhost/rte_vhost_async.h | 30 ++++- lib/vhost/version.map | 1 + lib/vhost/vhost_user.c | 16 +++ lib/vhost/virtio_net.c | 152 ++++++++++++++++++++----- 10 files changed, 234 insertions(+), 43 deletions(-) -- 2.29.2