On Fri, Oct 20, 2017 at 01:55:20AM +0000, Liu, Changpeng wrote: > > > > -----Original Message----- > > From: Michael S. Tsirkin [mailto:m...@redhat.com] > > Sent: Friday, October 20, 2017 8:28 AM > > To: Paolo Bonzini <pbonz...@redhat.com> > > Cc: Liu, Changpeng <changpeng....@intel.com>; qemu-devel@nongnu.org; > > stefa...@gmail.com; marcandre.lur...@redhat.com; fel...@nutanix.com; Harris, > > James R <james.r.har...@intel.com> > > Subject: Re: [PATCH v4 1/4] vhost-user: add new vhost user messages to > > support > > virtio config space > > > > On Thu, Oct 19, 2017 at 11:04:48PM +0200, Paolo Bonzini wrote: > > > On 19/10/2017 19:43, Michael S. Tsirkin wrote: > > > > On Thu, Oct 19, 2017 at 05:43:18PM +0200, Paolo Bonzini wrote: > > > >> On 19/10/2017 17:39, Michael S. Tsirkin wrote: > > > >>>> Add VHOST_USER_GET_CONFIG/VHOST_USER_SET_CONFIG messages > > which can be > > > >>>> used for live migration of vhost user devices, also vhost user > > > >>>> devices > > > >>>> can benefit from the messages to get/set virtio config space from/to > > > >>>> the > > > >>>> I/O target. For the purpose to support virtio config space change, > > > >>>> VHOST_USER_SET_CONFIG_FD message is added as the event notifier > > > >>>> in case virtio config space change in the I/O target. > > > >>>> > > > >>>> Signed-off-by: Changpeng Liu <changpeng....@intel.com> > > > >>> I don't much like it that config is getting passed through. > > > >>> > > > >>> IMO this makes managing things harder not easier. > > > >>> > > > >>> How about specific messages about specific parts of > > > >>> config space that you want to get from the backend? > > > >> > > > >> In the case of virtio-blk that would be all of it. Do you have a case > > > >> in mind where some part of the configuration space is owned by QEMU? > > > >> > > > >> Paolo > > > > > > > > Yes. seg_max > > > > > > The seg_max limit is established by whoever reads buffers from the vring > > > and passes them down to the lower layer. For vhost-blk that's the > > > device server, not QEMU. > > > > > > Paolo > > > > Good point. How about num_queues though? > num_queues is part of virtio_blk config, vhost-user slave can set it, > and Qemu driver can rewrite it if user want less IO queues.
Fundamentally QEMU needs to support this # of queues for this device. So whenever QEMU doesn't always expose config space as-is, need to document the exact semantics. Also, does backend need to know? > > > > Also why is there SET_CONFIG? Does not look like blk uses it. > Only one possible usage when disable write cache to vhost-user slave device. Again need to add documentation what can be written. > > > > And I wonder how do we do it for other devices. > > > > E.g. for net there's a bit in the middle of the > > config field that deals with migration. > Well, I'm okay to make those messages only valid for virtio block device, > because it's enough > for virtio block to be started with vhost-user slave target. OK but I'd rather make them at least somewhat generic so we can reuse them down the road. It looks like adding offset/size pair would solve most of the issues. Thoughts? > > > > > > -- > > MST