Hi Michael,

> -----Original Message-----
> From: Michael S. Tsirkin [mailto:m...@redhat.com]
> Sent: Friday, December 15, 2017 12:36 PM
> To: Zhoujian (jay) <jianjay.z...@huawei.com>
> Cc: Dr. David Alan Gilbert <dgilb...@redhat.com>; qemu-devel@nongnu.org;
> Huangweidong (C) <weidong.hu...@huawei.com>; Gonglei (Arei)
> <arei.gong...@huawei.com>; wangxin (U) <wangxinxin.w...@huawei.com>;
> Liuzhe (Cloud Open Labs, NFV) <gary.liu...@huawei.com>; Igor Mammedov
> <imamm...@redhat.com>
> Subject: Re: [PATCH 0/2] vhost: two fixes
> 
> On Fri, Dec 15, 2017 at 02:38:35AM +0000, Zhoujian (jay) wrote:
> > Hi Dave,
> >
> > > -----Original Message-----
> > > From: Dr. David Alan Gilbert [mailto:dgilb...@redhat.com]
> > > Sent: Friday, December 15, 2017 3:49 AM
> > > To: Michael S. Tsirkin <m...@redhat.com>
> > > Cc: Zhoujian (jay) <jianjay.z...@huawei.com>; qemu-devel@nongnu.org;
> > > Huangweidong (C) <weidong.hu...@huawei.com>; Gonglei (Arei)
> > > <arei.gong...@huawei.com>; wangxin (U) <wangxinxin.w...@huawei.com>;
> > > Liuzhe (Cloud Open Labs, NFV) <gary.liu...@huawei.com>; Igor
> > > Mammedov <imamm...@redhat.com>
> > > Subject: Re: [PATCH 0/2] vhost: two fixes
> > >
> > > * Michael S. Tsirkin (m...@redhat.com) wrote:
> > > > On Fri, Dec 15, 2017 at 12:36:30AM +0800, Jay Zhou wrote:
> > > > > Jay Zhou (2):
> > > > >   vhost: add used memslot number for vhost-user
> > > > >   vhost: double check memslot number
> > > > >
> > > > >  hw/virtio/vhost-user.c            | 31 +++++++++++++++++++++++++
> > > > >  hw/virtio/vhost.c                 | 49
> > > ++++++++++++++++++++++++++++++++++-----
> > > > >  include/hw/virtio/vhost-backend.h |  4 ++++
> > > > >  3 files changed, 78 insertions(+), 6 deletions(-)
> > > >
> > > > Cc two developers working on these files right now.
> > >
> > > I have to admit to not understanding the 'used_memslots' variable.
> > >
> > > * It's a global in vhost.c
> > > * but set by vhost_set_memory that's called from the listener
> associated
> > >   with each individual vhost
> > > * While they're probably always the same, the merging code calls
> > >   the vhost_backend_can_merge method for each device, so the number
> > >   of regions can be different.
> > >
> >
> > Your mean for some devices the new added MemoryRegionSection can be
> > merged, but for others it can not be merged? IIUC the vhost_mem for
> > each vhost_dev is the same.
> >
> > Meanwhile, I think it is more reasonable to add globals in
> > vhost-backend.c and vhost-user.c respectively instead of
> > 'used_memslots'. The reason is explained in patch 1. What do you think?
> >
> > Regards,
> > Jay
> 
> I'd rather avoid globals completely if possible.
> 

It is possible, we could add a 'used_memslots' variable in struct vhost_dev
for per device. I will try to do it in v2.

Regards,
Jay

Reply via email to