net/virtio-user: support memory hotplug
authorMaxime Coquelin <maxime.coquelin@redhat.com>
Tue, 8 May 2018 07:10:45 +0000 (15:10 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 14 May 2018 21:31:50 +0000 (22:31 +0100)
commit12ecb2f63b1288df2857567896ccb7a4dc3aeab2
tree7870b9d21d84e8e7a92ada6927b49d5a5f9bae59
parentd5022533c20aed365d513663806a999459037015
net/virtio-user: support memory hotplug

When memory is hot-added or hot-removed, the virtio-user driver has to
notify the vhost-user backend with sending a VHOST_USER_SET_MEM_TABLE
request with the new memory map as payload.

This patch implements and registers a mem_event callback, it pauses the
datapath and updates memory regions to vhost in case of hot-add or
hot-remove event. This memory region update has only to be done when the
device is already started, so a new status flag is added to the device to
keep track of the status.

As the device can now be managed by different threads, a mutex is
introduced to protect against concurrent device configuration.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
drivers/net/virtio/virtio_user/virtio_user_dev.c
drivers/net/virtio/virtio_user/virtio_user_dev.h