From: Chris Wilson Date: Tue, 19 Nov 2019 16:25:59 +0000 (+0000) Subject: drm/i915/gt: Schedule next retirement worker first X-Git-Tag: v5.6-rc1~114^2~17^2~318 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=dcbebb11197cc7182fdbab61388939b8c323a08e;p=users%2Fjedix%2Flinux-maple.git drm/i915/gt: Schedule next retirement worker first As we may park the gt during request retirement, we may cancel the retirement worker only to then program the delayed worker once more. If we schedule the next delayed retirement worker first, if we then park the gt, the work will remain cancelled. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin Link: https://patchwork.freedesktop.org/patch/msgid/20191119162559.3313003-2-chris@chris-wilson.co.uk --- diff --git a/drivers/gpu/drm/i915/gt/intel_gt_requests.c b/drivers/gpu/drm/i915/gt/intel_gt_requests.c index a79e6efb31a2..25291e2af21e 100644 --- a/drivers/gpu/drm/i915/gt/intel_gt_requests.c +++ b/drivers/gpu/drm/i915/gt/intel_gt_requests.c @@ -110,9 +110,9 @@ static void retire_work_handler(struct work_struct *work) struct intel_gt *gt = container_of(work, typeof(*gt), requests.retire_work.work); - intel_gt_retire_requests(gt); schedule_delayed_work(>->requests.retire_work, round_jiffies_up_relative(HZ)); + intel_gt_retire_requests(gt); } void intel_gt_init_requests(struct intel_gt *gt)