Messages in this thread |  | | Subject | Re: WARNING in __mmdrop | From | Jason Wang <> | Date | Mon, 29 Jul 2019 13:56:08 +0800 |
| |
On 2019/7/26 下午11:03, Jason Gunthorpe wrote: > On Fri, Jul 26, 2019 at 10:00:20PM +0800, Jason Wang wrote: >> The question is, MMU notifier are allowed to be blocked on >> invalidate_range_start() which could be much slower than synchronize_rcu() >> to finish. >> >> Looking at amdgpu_mn_invalidate_range_start_gfx() which calls >> amdgpu_mn_invalidate_node() which did: >> >> r = reservation_object_wait_timeout_rcu(bo->tbo.resv, >> true, false, MAX_SCHEDULE_TIMEOUT); >> >> ... > The general guidance has been that invalidate_start should block > minimally, if at all. > > I would say synchronize_rcu is outside that guidance.
Yes, I get this.
> > BTW, always returning EAGAIN for mmu_notifier_range_blockable() is not > good either, it should instead only return EAGAIN if any > vhost_map_range_overlap() is true.
Right, let me optimize that.
Thanks
> > Jason
|  |