On Wed, Jul 31, 2019 at 04:32:52PM -0300, Jason Gunthorpe wrote: > On Wed, Jul 31, 2019 at 09:29:28PM +0800, Jason Wang wrote: > > > > On 2019/7/31 下午8:41, Jason Gunthorpe wrote: > > > On Wed, Jul 31, 2019 at 04:46:50AM -0400, Jason Wang wrote: > > > > The vhost_set_vring_num_addr() could be called in the middle of > > > > invalidate_range_start() and invalidate_range_end(). If we don't reset > > > > invalidate_count after the un-registering of MMU notifier, the > > > > invalidate_cont will run out of sync (e.g never reach zero). This will > > > > in fact disable the fast accessor path. Fixing by reset the count to > > > > zero. > > > > > > > > Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx> > > > Did Michael report this as well? > > > > > > Correct me if I was wrong. I think it's point 4 described in > > https://lkml.org/lkml/2019/7/21/25. > > I'm not sure what that is talking about > > But this fixes what I described: > > https://lkml.org/lkml/2019/7/22/554 > > Jason These are two reasons for a possible counter imbalance. Unsurprisingly they are both fixed if you reset the counter to 0. -- MST