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