Re: [Intel-gfx] [PATCH 03/19] drm/i915/gt: Close race between engine_park and intel_gt_retire_requests

2019-11-20 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-11-20 11:39:00) > > On 19/11/2019 14:41, Chris Wilson wrote: > > Quoting Tvrtko Ursulin (2019-11-19 14:15:49) > >> > >> On 18/11/2019 23:02, Chris Wilson wrote: > >>> The general concept was that intel_timeline.active_count was locked by > >>> the intel_timeline.mutex.

Re: [Intel-gfx] [PATCH 03/19] drm/i915/gt: Close race between engine_park and intel_gt_retire_requests

2019-11-20 Thread Tvrtko Ursulin
On 19/11/2019 14:41, Chris Wilson wrote: Quoting Tvrtko Ursulin (2019-11-19 14:15:49) On 18/11/2019 23:02, Chris Wilson wrote: The general concept was that intel_timeline.active_count was locked by the intel_timeline.mutex. The exception was for power management, where the engine->kernel_cont

Re: [Intel-gfx] [PATCH 03/19] drm/i915/gt: Close race between engine_park and intel_gt_retire_requests

2019-11-19 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-11-19 14:15:49) > > On 18/11/2019 23:02, Chris Wilson wrote: > > The general concept was that intel_timeline.active_count was locked by > > the intel_timeline.mutex. The exception was for power management, where > > the engine->kernel_context->timeline could be manipul

Re: [Intel-gfx] [PATCH 03/19] drm/i915/gt: Close race between engine_park and intel_gt_retire_requests

2019-11-19 Thread Tvrtko Ursulin
On 18/11/2019 23:02, Chris Wilson wrote: The general concept was that intel_timeline.active_count was locked by the intel_timeline.mutex. The exception was for power management, where the engine->kernel_context->timeline could be manipulated under the global wakeref.mutex. This was quite solid,

[Intel-gfx] [PATCH 03/19] drm/i915/gt: Close race between engine_park and intel_gt_retire_requests

2019-11-18 Thread Chris Wilson
The general concept was that intel_timeline.active_count was locked by the intel_timeline.mutex. The exception was for power management, where the engine->kernel_context->timeline could be manipulated under the global wakeref.mutex. This was quite solid, as we always manipulated the timeline only