Hi Michael,

> -----Original Message-----
> From: Zhoujian (jay)
> Sent: Friday, December 15, 2017 12:52 PM
> To: 'Michael S. Tsirkin' <m...@redhat.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
> 
> 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.
> 

If the globals don't exist, the disadvantage I found is that the check
"if memslots number exceeds" will be moved from the beginning to the end
in vhost_dev_init, does it acceptable? Or are there other ideas to avoid
globals?

To be honest, I prefer to add globals in vhost-backend.c and vhost-user.c
respectively, the value of used_memslots for the same type of backend is the
same.

Regards,
Jay

Reply via email to