Message ID | 20191118230254.2615942-14-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/19] drm/i915/selftests: Force bonded submission to overlap | expand |
On 18/11/2019 23:02, Chris Wilson wrote: > When adding a new active timeline, place it at the end of the list. This > allows for intel_gt_retire_requests() to pick up the newcomer more > quickly and hopefully complete the retirement sooner. > > References: 7936a22dd466 ("drm/i915/gt: Wait for new requests in intel_gt_retire_requests()") > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > --- > drivers/gpu/drm/i915/gt/intel_timeline.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_timeline.c b/drivers/gpu/drm/i915/gt/intel_timeline.c > index bd973d950064..b190a5d9ab02 100644 > --- a/drivers/gpu/drm/i915/gt/intel_timeline.c > +++ b/drivers/gpu/drm/i915/gt/intel_timeline.c > @@ -359,7 +359,7 @@ void intel_timeline_enter(struct intel_timeline *tl) > > spin_lock(&timelines->lock); > if (!atomic_fetch_inc(&tl->active_count)) > - list_add(&tl->link, &timelines->active_list); > + list_add_tail(&tl->link, &timelines->active_list); > spin_unlock(&timelines->lock); > } > > If I am not missing something this should be on the micro-optimisation level, well, mini-optimisation. Since for instance now it could wait on the most recent request and when that finishes do mostly signalled checks, or even less. With the change it would first sweep the already completed ones and then wait for the most recent one. Nevertheless, I don't see a problem with it so: Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Regards, Tvrtko
diff --git a/drivers/gpu/drm/i915/gt/intel_timeline.c b/drivers/gpu/drm/i915/gt/intel_timeline.c index bd973d950064..b190a5d9ab02 100644 --- a/drivers/gpu/drm/i915/gt/intel_timeline.c +++ b/drivers/gpu/drm/i915/gt/intel_timeline.c @@ -359,7 +359,7 @@ void intel_timeline_enter(struct intel_timeline *tl) spin_lock(&timelines->lock); if (!atomic_fetch_inc(&tl->active_count)) - list_add(&tl->link, &timelines->active_list); + list_add_tail(&tl->link, &timelines->active_list); spin_unlock(&timelines->lock); }
When adding a new active timeline, place it at the end of the list. This allows for intel_gt_retire_requests() to pick up the newcomer more quickly and hopefully complete the retirement sooner. References: 7936a22dd466 ("drm/i915/gt: Wait for new requests in intel_gt_retire_requests()") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> --- drivers/gpu/drm/i915/gt/intel_timeline.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)