From: Andrey Grodzovsky <andrey.grodzovsky@amd.com> To: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, ckoenig.leichtzumerken@gmail.com, daniel.vetter@ffwll.ch, robh@kernel.org, l.stach@pengutronix.de, yuq825@gmail.com, eric@anholt.net Cc: Alexander.Deucher@amd.com, gregkh@linuxfoundation.org Subject: [PATCH v4 13/14] drm/sched: Make timeout timer rearm conditional. Date: Mon, 18 Jan 2021 16:01:22 -0500 [thread overview] Message-ID: <1611003683-3534-14-git-send-email-andrey.grodzovsky@amd.com> (raw) In-Reply-To: <1611003683-3534-1-git-send-email-andrey.grodzovsky@amd.com> We don't want to rearm the timer if driver hook reports that the device is gone. Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com> --- drivers/gpu/drm/scheduler/sched_main.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c index 73fccc5..9552334 100644 --- a/drivers/gpu/drm/scheduler/sched_main.c +++ b/drivers/gpu/drm/scheduler/sched_main.c @@ -314,6 +314,7 @@ static void drm_sched_job_timedout(struct work_struct *work) { struct drm_gpu_scheduler *sched; struct drm_sched_job *job; + enum drm_task_status status = DRM_TASK_STATUS_ALIVE; sched = container_of(work, struct drm_gpu_scheduler, work_tdr.work); @@ -331,7 +332,7 @@ static void drm_sched_job_timedout(struct work_struct *work) list_del_init(&job->list); spin_unlock(&sched->job_list_lock); - job->sched->ops->timedout_job(job); + status = job->sched->ops->timedout_job(job); /* * Guilty job did complete and hence needs to be manually removed @@ -345,9 +346,11 @@ static void drm_sched_job_timedout(struct work_struct *work) spin_unlock(&sched->job_list_lock); } - spin_lock(&sched->job_list_lock); - drm_sched_start_timeout(sched); - spin_unlock(&sched->job_list_lock); + if (status != DRM_TASK_STATUS_ENODEV) { + spin_lock(&sched->job_list_lock); + drm_sched_start_timeout(sched); + spin_unlock(&sched->job_list_lock); + } } /** -- 2.7.4 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: Andrey Grodzovsky <andrey.grodzovsky@amd.com> To: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, ckoenig.leichtzumerken@gmail.com, daniel.vetter@ffwll.ch, robh@kernel.org, l.stach@pengutronix.de, yuq825@gmail.com, eric@anholt.net Cc: Alexander.Deucher@amd.com, gregkh@linuxfoundation.org, ppaalanen@gmail.com, Harry.Wentland@amd.com, Andrey Grodzovsky <andrey.grodzovsky@amd.com> Subject: [PATCH v4 13/14] drm/sched: Make timeout timer rearm conditional. Date: Mon, 18 Jan 2021 16:01:22 -0500 [thread overview] Message-ID: <1611003683-3534-14-git-send-email-andrey.grodzovsky@amd.com> (raw) In-Reply-To: <1611003683-3534-1-git-send-email-andrey.grodzovsky@amd.com> We don't want to rearm the timer if driver hook reports that the device is gone. Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com> --- drivers/gpu/drm/scheduler/sched_main.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c index 73fccc5..9552334 100644 --- a/drivers/gpu/drm/scheduler/sched_main.c +++ b/drivers/gpu/drm/scheduler/sched_main.c @@ -314,6 +314,7 @@ static void drm_sched_job_timedout(struct work_struct *work) { struct drm_gpu_scheduler *sched; struct drm_sched_job *job; + enum drm_task_status status = DRM_TASK_STATUS_ALIVE; sched = container_of(work, struct drm_gpu_scheduler, work_tdr.work); @@ -331,7 +332,7 @@ static void drm_sched_job_timedout(struct work_struct *work) list_del_init(&job->list); spin_unlock(&sched->job_list_lock); - job->sched->ops->timedout_job(job); + status = job->sched->ops->timedout_job(job); /* * Guilty job did complete and hence needs to be manually removed @@ -345,9 +346,11 @@ static void drm_sched_job_timedout(struct work_struct *work) spin_unlock(&sched->job_list_lock); } - spin_lock(&sched->job_list_lock); - drm_sched_start_timeout(sched); - spin_unlock(&sched->job_list_lock); + if (status != DRM_TASK_STATUS_ENODEV) { + spin_lock(&sched->job_list_lock); + drm_sched_start_timeout(sched); + spin_unlock(&sched->job_list_lock); + } } /** -- 2.7.4 _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
next prev parent reply other threads:[~2021-01-18 21:02 UTC|newest] Thread overview: 196+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-18 21:01 [PATCH v4 00/14] RFC Support hot device unplug in amdgpu Andrey Grodzovsky 2021-01-18 21:01 ` Andrey Grodzovsky 2021-01-18 21:01 ` [PATCH v4 01/14] drm/ttm: Remap all page faults to per process dummy page Andrey Grodzovsky 2021-01-18 21:01 ` Andrey Grodzovsky 2021-01-18 21:48 ` Alex Deucher 2021-01-18 21:48 ` Alex Deucher 2021-01-19 8:41 ` Christian König 2021-01-19 8:41 ` Christian König 2021-01-19 13:56 ` Daniel Vetter 2021-01-19 13:56 ` Daniel Vetter 2021-01-25 15:28 ` Andrey Grodzovsky 2021-01-25 15:28 ` Andrey Grodzovsky 2021-01-27 14:29 ` Andrey Grodzovsky 2021-01-27 14:29 ` Andrey Grodzovsky 2021-02-02 14:21 ` Daniel Vetter 2021-02-02 14:21 ` Daniel Vetter 2021-01-18 21:01 ` [PATCH v4 02/14] drm: Unamp the entire device address space on device unplug Andrey Grodzovsky 2021-01-18 21:01 ` Andrey Grodzovsky 2021-01-18 21:01 ` [PATCH v4 03/14] drm/ttm: Expose ttm_tt_unpopulate for driver use Andrey Grodzovsky 2021-01-18 21:01 ` Andrey Grodzovsky 2021-01-18 21:01 ` [PATCH v4 04/14] drm/sched: Cancel and flush all oustatdning jobs before finish Andrey Grodzovsky 2021-01-18 21:01 ` Andrey Grodzovsky 2021-01-18 21:49 ` Alex Deucher 2021-01-18 21:49 ` Alex Deucher 2021-01-19 8:42 ` Christian König 2021-01-19 8:42 ` Christian König 2021-01-19 9:50 ` Christian König 2021-01-19 9:50 ` Christian König 2021-01-18 21:01 ` [PATCH v4 05/14] drm/amdgpu: Split amdgpu_device_fini into early and late Andrey Grodzovsky 2021-01-18 21:01 ` Andrey Grodzovsky 2021-01-19 8:45 ` Christian König 2021-01-19 8:45 ` Christian König 2021-01-18 21:01 ` [PATCH v4 06/14] drm/amdgpu: Add early fini callback Andrey Grodzovsky 2021-01-18 21:01 ` Andrey Grodzovsky 2021-01-18 21:01 ` [PATCH v4 07/14] drm/amdgpu: Register IOMMU topology notifier per device Andrey Grodzovsky 2021-01-18 21:01 ` Andrey Grodzovsky 2021-01-18 21:52 ` Alex Deucher 2021-01-18 21:52 ` Alex Deucher 2021-01-19 8:48 ` Christian König 2021-01-19 8:48 ` Christian König 2021-01-19 13:45 ` Daniel Vetter 2021-01-19 13:45 ` Daniel Vetter 2021-01-19 21:21 ` Andrey Grodzovsky 2021-01-19 21:21 ` Andrey Grodzovsky 2021-01-19 22:01 ` Daniel Vetter 2021-01-19 22:01 ` Daniel Vetter 2021-01-20 4:21 ` Andrey Grodzovsky 2021-01-20 4:21 ` Andrey Grodzovsky 2021-01-20 8:38 ` Daniel Vetter 2021-01-20 8:38 ` Daniel Vetter [not found] ` <1a5f7ccb-1f91-91be-1cb1-e7cb43ac2c13@amd.com> 2021-01-21 10:48 ` Daniel Vetter 2021-01-21 10:48 ` Daniel Vetter 2021-01-20 5:01 ` Andrey Grodzovsky 2021-01-20 5:01 ` Andrey Grodzovsky 2021-01-20 19:38 ` Andrey Grodzovsky 2021-01-20 19:38 ` Andrey Grodzovsky 2021-01-21 10:42 ` Christian König 2021-01-21 10:42 ` Christian König 2021-01-18 21:01 ` [PATCH v4 08/14] drm/amdgpu: Fix a bunch of sdma code crash post device unplug Andrey Grodzovsky 2021-01-18 21:01 ` Andrey Grodzovsky 2021-01-19 8:51 ` Christian König 2021-01-19 8:51 ` Christian König 2021-01-18 21:01 ` [PATCH v4 09/14] drm/amdgpu: Remap all page faults to per process dummy page Andrey Grodzovsky 2021-01-18 21:01 ` Andrey Grodzovsky 2021-01-19 8:52 ` Christian König 2021-01-19 8:52 ` Christian König 2021-01-18 21:01 ` [PATCH v4 10/14] dmr/amdgpu: Move some sysfs attrs creation to default_attr Andrey Grodzovsky 2021-01-18 21:01 ` Andrey Grodzovsky 2021-01-19 7:34 ` Greg KH 2021-01-19 7:34 ` Greg KH 2021-01-19 16:36 ` Andrey Grodzovsky 2021-01-19 16:36 ` Andrey Grodzovsky 2021-01-19 17:47 ` Greg KH 2021-01-19 17:47 ` Greg KH 2021-01-19 19:04 ` Alex Deucher 2021-01-19 19:04 ` Alex Deucher 2021-01-19 19:16 ` Andrey Grodzovsky 2021-01-19 19:16 ` Andrey Grodzovsky 2021-01-19 19:41 ` Greg KH 2021-01-19 19:41 ` Greg KH 2021-01-19 8:53 ` Christian König 2021-01-19 8:53 ` Christian König 2021-01-18 21:01 ` [PATCH v4 11/14] drm/amdgpu: Guard against write accesses after device removal Andrey Grodzovsky 2021-01-18 21:01 ` Andrey Grodzovsky 2021-01-19 8:55 ` Christian König 2021-01-19 8:55 ` Christian König 2021-01-19 15:35 ` Andrey Grodzovsky 2021-01-19 15:35 ` Andrey Grodzovsky 2021-01-19 15:39 ` Christian König 2021-01-19 15:39 ` Christian König 2021-01-19 18:05 ` Daniel Vetter 2021-01-19 18:05 ` Daniel Vetter 2021-01-19 18:22 ` Andrey Grodzovsky 2021-01-19 18:22 ` Andrey Grodzovsky 2021-01-19 18:59 ` Christian König 2021-01-19 18:59 ` Christian König 2021-01-19 19:16 ` Andrey Grodzovsky 2021-01-19 19:16 ` Andrey Grodzovsky 2021-01-20 19:34 ` Andrey Grodzovsky 2021-01-20 19:34 ` Andrey Grodzovsky 2021-01-28 17:23 ` Andrey Grodzovsky 2021-01-28 17:23 ` Andrey Grodzovsky 2021-01-29 15:16 ` Christian König 2021-01-29 15:16 ` Christian König 2021-01-29 17:35 ` Andrey Grodzovsky 2021-01-29 17:35 ` Andrey Grodzovsky 2021-01-29 19:25 ` Christian König 2021-01-29 19:25 ` Christian König 2021-02-05 16:22 ` Andrey Grodzovsky 2021-02-05 16:22 ` Andrey Grodzovsky 2021-02-05 22:10 ` Daniel Vetter 2021-02-05 22:10 ` Daniel Vetter 2021-02-05 23:09 ` Andrey Grodzovsky 2021-02-05 23:09 ` Andrey Grodzovsky 2021-02-06 14:18 ` Daniel Vetter 2021-02-06 14:18 ` Daniel Vetter 2021-02-07 21:28 ` Andrey Grodzovsky 2021-02-07 21:28 ` Andrey Grodzovsky 2021-02-07 21:50 ` Daniel Vetter 2021-02-07 21:50 ` Daniel Vetter 2021-02-08 9:37 ` Christian König 2021-02-08 9:37 ` Christian König 2021-02-08 9:48 ` Daniel Vetter 2021-02-08 9:48 ` Daniel Vetter 2021-02-08 10:03 ` Christian König 2021-02-08 10:03 ` Christian König 2021-02-08 10:11 ` Daniel Vetter 2021-02-08 10:11 ` Daniel Vetter 2021-02-08 13:59 ` Christian König 2021-02-08 13:59 ` Christian König 2021-02-08 16:23 ` Daniel Vetter 2021-02-08 16:23 ` Daniel Vetter 2021-02-08 22:15 ` Andrey Grodzovsky 2021-02-08 22:15 ` Andrey Grodzovsky 2021-02-09 7:58 ` Christian König 2021-02-09 7:58 ` Christian König 2021-02-09 14:30 ` Andrey Grodzovsky 2021-02-09 14:30 ` Andrey Grodzovsky 2021-02-09 15:40 ` Christian König 2021-02-09 15:40 ` Christian König 2021-02-10 22:01 ` Andrey Grodzovsky 2021-02-10 22:01 ` Andrey Grodzovsky 2021-02-12 15:00 ` Andrey Grodzovsky 2021-02-12 15:00 ` Andrey Grodzovsky 2021-02-08 22:09 ` Andrey Grodzovsky 2021-02-08 22:09 ` Andrey Grodzovsky 2021-02-09 8:27 ` Christian König 2021-02-09 8:27 ` Christian König 2021-02-09 9:46 ` Daniel Vetter 2021-02-09 9:46 ` Daniel Vetter 2021-01-18 21:01 ` [PATCH v4 12/14] drm/scheduler: Job timeout handler returns status Andrey Grodzovsky 2021-01-18 21:01 ` Andrey Grodzovsky 2021-01-19 7:53 ` Christian König 2021-01-19 7:53 ` Christian König 2021-01-19 17:47 ` Luben Tuikov 2021-01-19 17:47 ` Luben Tuikov 2021-01-19 18:53 ` Christian König 2021-01-19 18:53 ` Christian König 2021-01-18 21:01 ` Andrey Grodzovsky [this message] 2021-01-18 21:01 ` [PATCH v4 13/14] drm/sched: Make timeout timer rearm conditional Andrey Grodzovsky 2021-01-18 21:01 ` [PATCH v4 14/14] drm/amdgpu: Prevent any job recoveries after device is unplugged Andrey Grodzovsky 2021-01-18 21:01 ` Andrey Grodzovsky 2021-01-19 14:16 ` [PATCH v4 00/14] RFC Support hot device unplug in amdgpu Daniel Vetter 2021-01-19 14:16 ` Daniel Vetter 2021-01-19 17:31 ` Andrey Grodzovsky 2021-01-19 17:31 ` Andrey Grodzovsky 2021-01-19 18:08 ` Daniel Vetter 2021-01-19 18:08 ` Daniel Vetter 2021-01-19 18:18 ` Andrey Grodzovsky 2021-01-19 18:18 ` Andrey Grodzovsky 2021-01-20 9:05 ` Daniel Vetter 2021-01-20 9:05 ` Daniel Vetter 2021-01-20 14:19 ` Andrey Grodzovsky 2021-01-20 14:19 ` Andrey Grodzovsky 2021-01-20 15:59 ` Daniel Vetter 2021-01-20 15:59 ` Daniel Vetter 2021-02-08 5:59 ` Andrey Grodzovsky 2021-02-08 5:59 ` Andrey Grodzovsky 2021-02-08 7:27 ` Daniel Vetter 2021-02-08 7:27 ` Daniel Vetter 2021-02-09 4:01 ` Andrey Grodzovsky 2021-02-09 4:01 ` Andrey Grodzovsky 2021-02-09 9:50 ` Daniel Vetter 2021-02-09 9:50 ` Daniel Vetter 2021-02-09 15:34 ` Andrey Grodzovsky 2021-02-09 15:34 ` Andrey Grodzovsky 2021-02-18 20:03 ` Andrey Grodzovsky 2021-02-18 20:03 ` Andrey Grodzovsky 2021-02-19 10:24 ` Daniel Vetter 2021-02-19 10:24 ` Daniel Vetter 2021-02-24 16:30 ` Andrey Grodzovsky 2021-02-24 16:30 ` Andrey Grodzovsky 2021-02-25 10:25 ` Daniel Vetter 2021-02-25 10:25 ` Daniel Vetter 2021-02-25 16:12 ` Andrey Grodzovsky 2021-02-25 16:12 ` Andrey Grodzovsky
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1611003683-3534-14-git-send-email-andrey.grodzovsky@amd.com \ --to=andrey.grodzovsky@amd.com \ --cc=Alexander.Deucher@amd.com \ --cc=amd-gfx@lists.freedesktop.org \ --cc=ckoenig.leichtzumerken@gmail.com \ --cc=daniel.vetter@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=eric@anholt.net \ --cc=gregkh@linuxfoundation.org \ --cc=l.stach@pengutronix.de \ --cc=robh@kernel.org \ --cc=yuq825@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.