aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1346-drm-amdkfd-Fix-scheduler-race-in-kfd_wait_on_events-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1346-drm-amdkfd-Fix-scheduler-race-in-kfd_wait_on_events-.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1346-drm-amdkfd-Fix-scheduler-race-in-kfd_wait_on_events-.patch51
1 files changed, 0 insertions, 51 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1346-drm-amdkfd-Fix-scheduler-race-in-kfd_wait_on_events-.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1346-drm-amdkfd-Fix-scheduler-race-in-kfd_wait_on_events-.patch
deleted file mode 100644
index 0001b2bb..00000000
--- a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1346-drm-amdkfd-Fix-scheduler-race-in-kfd_wait_on_events-.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From ede4434f3a1212a45c599b20d9417bdd1f90e07c Mon Sep 17 00:00:00 2001
-From: Sean Keely <sean.keely@amd.com>
-Date: Wed, 15 Jul 2015 02:43:42 -0500
-Subject: [PATCH 1346/4131] drm/amdkfd: Fix scheduler race in
- kfd_wait_on_events sleep loop
-
-This reapplies a fix that was accidentally reverted when cleaning
-up code for upstreaming. Added a comment to explain the race
-condition and how it is fixed.
-
-Change-Id: Ic030a0f5be1d4147ce0c36b57e5526f748c3b25a
-Signed-off-by: Sean Keely <sean.keely@amd.com>
-Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
----
- drivers/gpu/drm/amd/amdkfd/kfd_events.c | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.c b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
-index f565530..8debe6e 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_events.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
-@@ -869,6 +869,17 @@ int kfd_wait_on_events(struct kfd_process *p,
- break;
- }
-
-+ /* Set task state to interruptible sleep before
-+ * checking wake-up conditions. A concurrent wake-up
-+ * will put the task back into runnable state. In that
-+ * case schedule_timeout will not put the task to
-+ * sleep and we'll get a chance to re-check the
-+ * updated conditions almost immediately. Otherwise,
-+ * this race condition would lead to a soft hang or a
-+ * very long sleep.
-+ */
-+ set_current_state(TASK_INTERRUPTIBLE);
-+
- if (test_event_condition(all, num_events, event_waiters)) {
- if (copy_signaled_event_data(num_events,
- event_waiters, events))
-@@ -883,7 +894,7 @@ int kfd_wait_on_events(struct kfd_process *p,
- break;
- }
-
-- timeout = schedule_timeout_interruptible(timeout);
-+ timeout = schedule_timeout(timeout);
- }
- __set_current_state(TASK_RUNNING);
-
---
-2.7.4
-