On Wed, 2026-07-01 at 10:59 +0200, Philipp Stanner wrote: > The completion entity->entity_idle only existed because the entity was > not properly locked through it's spinlock. The completion served to > inform waiters about whether the entity is actually idle, which is > something locking (previously added to drm_sched_entity_is_idle()) can > fully achieve. > > Remove the surplus completion. >
[…] > - /* Make sure this entity is not used by the scheduler at the moment */ > - wait_for_completion(&entity->entity_idle); Alright, my bad, turns out I had a bit too much steam on the kettle and we cannot remove it because of the drm_sched_entity_flush() being able to perform an asynchronous kill while the scheduler work item is still running. But I think we could probably put Tvrtko's flush_work() [1] here to get the same result. Opinions? P. [1] https://lore.kernel.org/dri-devel/[email protected]/
