On Tue, Sep 23, 2025 at 7:48 PM Li,Zhaoxin(ACG CCN) <[email protected]> wrote: > > On 2025/9/23 17:06,“Stefano Garzarella”<[email protected] > <mailto:[email protected]>> wrote: > > >CCing Cindy since she introduced this code with commit > >f9a09ca3ea ("vhost: add support for configure interrupt"), so she can > >help to review this, since I don't really get this change. > > >On Mon, Sep 22, 2025 at 11:19:32PM +0800, Li Zhaoxin wrote: > >>From: lizhaoxin <[email protected] <mailto:[email protected]>> > >> > >>After the VM is suspended/resumed or live-migrated, > >>we do not want the guest to output information such as > >>the capacity of the block device, as this is noticeable to the tenant. > >>Also, there is no need to immediately send a config notifier > >>for the virtio device after vhost_dev_start. > > >Can you explain more clearly what your problem is and why this patch > >solves it? > > >Thanks, > >Stefano > > Hi Stefano and Cindy, > > In the vhost-vdpa scenario, after executing virsh suspend vm followed by > virsh resume vm, or when live migrating the VM to the destination host, the > guest kernel will output the following additional logs: > > [Tue Sep 23 19:07:04 2025] virtio_blk virtio1: [vda] new size: 20971520 > 512-byte logical blocks (10.7 GB/10.0 GiB) > [Tue Sep 23 19:07:04 2025] virtio_blk virtio3: [vdb] new size: 20971520 > 512-byte logical blocks (10.7 GB/10.0 GiB) > > This occurs because when the vhost device is started, the sequence > vhost_dev_start -> vhost_start_config_intr -> > event_notifier_set(&dev->vdev->config_notifier) is triggered, which sends a > configuration change notification (config notification) to the guest. > However, it appears that actively sending this notification is currently > unnecessary, and no additional processing is performed in the event of a > sending failure. So, we removed the call to > event_notifier_set(&dev->vdev->config_notifier). > > Thanks, > Li Zhaoxin > Hi Zhaoxin
this function tests and prevents event loss, I think maybe we should not remove it simply maybe you can do something while it print the log? Thanks cindy > >> > >>Co-developed-by: Gao Shiyuan <[email protected] > >><mailto:[email protected]>> > >>Signed-off-by: Gao Shiyuan <[email protected] > >><mailto:[email protected]>> > >>Signed-off-by: Li Zhaoxin <[email protected] > >><mailto:[email protected]>> > >>--- > >> hw/virtio/vhost.c | 7 +------ > >> 1 file changed, 1 insertion(+), 6 deletions(-) > >> > >>diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c > >>index 6557c58d12..1f8a495ef8 100644 > >>--- a/hw/virtio/vhost.c > >>+++ b/hw/virtio/vhost.c > >>@@ -1847,15 +1847,10 @@ static void vhost_stop_config_intr(struct vhost_dev > >>*dev) > >> > >> static void vhost_start_config_intr(struct vhost_dev *dev) > >> { > >>- int r; > >>- > >> assert(dev->vhost_ops); > >> int fd = event_notifier_get_fd(&dev->vdev->config_notifier); > >> if (dev->vhost_ops->vhost_set_config_call) { > >>- r = dev->vhost_ops->vhost_set_config_call(dev, fd); > >>- if (!r) { > >>- event_notifier_set(&dev->vdev->config_notifier); > >>- } > >>+ dev->vhost_ops->vhost_set_config_call(dev, fd); > >> } > >> } > >> > >>-- > >>2.34.1 > >> > > > > >
