On Fri, Oct 23, 2020 at 04:56:20PM +0200, Daniel Vetter wrote: > On Fri, Oct 23, 2020 at 4:54 PM Christian König > <christian.koenig@xxxxxxx> wrote: > > > > Am 23.10.20 um 14:21 schrieb Daniel Vetter: > > > ttm_resource_manager->use_type is only used for runtime changes by > > > vmwgfx. I think ideally we'd push this functionality into drivers - > > > ttm itself does not provide any locking to guarantee this is safe, so > > > the only way this can work at runtime is if the driver does provide > > > additional guarantees. vwmgfx does that through the > > > vmw_private->reservation_sem. Therefore supporting this feature in > > > shared code feels a bit misplaced. > > > > > > As a first step add a WARN_ON to make sure the resource manager is > > > empty. This is just to make sure I actually understand correctly what > > > vmwgfx is doing, and to make sure an eventual subsequent refactor > > > doesn't break anything. > > > > > > This check should also be useful for other drivers, to make sure they > > > haven't leaked anything. > > > > > > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> > > > Cc: Christian Koenig <christian.koenig@xxxxxxx> > > > Cc: Huang Rui <ray.huang@xxxxxxx> > > > > I'm pretty sure that this will trigger for vmwgfx. But that's what it is > > supposed to do, isn't it? > > Yeah, this is an accidental dump of my wip pile, and it's not done yet > at all. Please disregard (at least for now). > -Daniel > > > Reviewed-by: Christian König <christian.koenig@xxxxxxx> Ok decided to submit these 3 patches finally, including the 2 vmwgfx fixes which should avoid the splat. I included your r-b, pls complain if that's not ok anymore. Thanks, Daniel > > > > > --- > > > include/drm/ttm/ttm_resource.h | 4 ++++ > > > 1 file changed, 4 insertions(+) > > > > > > diff --git a/include/drm/ttm/ttm_resource.h b/include/drm/ttm/ttm_resource.h > > > index f48a70d39ac5..789ec477b607 100644 > > > --- a/include/drm/ttm/ttm_resource.h > > > +++ b/include/drm/ttm/ttm_resource.h > > > @@ -191,6 +191,10 @@ struct ttm_resource { > > > static inline void > > > ttm_resource_manager_set_used(struct ttm_resource_manager *man, bool used) > > > { > > > + int i; > > > + > > > + for (i = 0; i < TTM_MAX_BO_PRIORITY; i++) > > > + WARN_ON(!list_empty(&man->lru[i])); > > > man->use_type = used; > > > } > > > > > > > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx