On Fri, Aug 26, 2022 at 10:13:47AM -0400, Peter Xu wrote: > On Fri, Aug 26, 2022 at 03:53:09PM +0200, Emanuele Giuseppe Esposito wrote: > > What do you mean "will empty all regions with those listeners"? > > But yes theoretically vhost-vdpa and physmem have commit callbacks that > > are independent from whether region_add or other callbacks have been called. > > For kvm and probably vhost it would be no problem, since there won't be > > any list to iterate on. > > Right, begin()/commit() is for address space update, so it should be fine > to have nothing to commit, sorry. Hold on.. When I was replying to your patch 2 and reading the code around, I fount that this patch does affect vhost.. see region_nop() hook and also vhost's version of vhost_region_addnop(). I think vhost will sync its memory layout for each of the commit(), and any newly created AS could emptify vhost memory list even if registered on address_space_memory. The other thing is address_space_update_topology() seems to be only used by address_space_init(). It means I don't think there should have any listener registered to this AS anyway.. :) So iiuc this patch (even if converting to loop over per-as memory listeners) is not needed. -- Peter Xu