Op 12-03-2020 om 12:53 schreef Chris Wilson: > During driver unload, we have many asserts that we have released our > bookkeeping structs and are idle. In some cases, these struct are > protected by RCU and we do not release them until after an RCU grace > period. > > Reported-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > Fixes: 130a95e9098e ("drm/i915/gem: Consolidate ctx->engines[] release") > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/gt/intel_gt.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c > index 3dea8881e915..d09f7596cb98 100644 > --- a/drivers/gpu/drm/i915/gt/intel_gt.c > +++ b/drivers/gpu/drm/i915/gt/intel_gt.c > @@ -667,6 +667,9 @@ void intel_gt_driver_release(struct intel_gt *gt) > > void intel_gt_driver_late_release(struct intel_gt *gt) > { > + /* We need to wait for inflight RCU frees to release their grip */ > + rcu_barrier(); > + > intel_uc_driver_late_release(>->uc); > intel_gt_fini_requests(gt); > intel_gt_fini_reset(gt); Is it possible this is causing a hang on exit in gem_exec_parallel when I have an extra bunch of debug options enabled? Also potentially seems to break selftests on cml :) otherwise looks sane, Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx