summaryrefslogtreecommitdiff
path: root/tests/i915/gem_ctx_persistence.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2020-05-11 20:27:20 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2020-05-11 20:29:35 +0100
commit726e09870f0b502b60bb1ecd209fc8af209ed378 (patch)
tree41c260c3c61f067f0fcb232aee2d0b70ba3d1c9b /tests/i915/gem_ctx_persistence.c
parent22d0955e019020f9ecda4124707801214e279a0c (diff)
i915/gem_ctx_persistence: Add a small delayed for RCU'ed fd
Add a small delay before we wait on the rcu barrier to allow slower machines to flush the process tables first. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1528 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Diffstat (limited to 'tests/i915/gem_ctx_persistence.c')
-rw-r--r--tests/i915/gem_ctx_persistence.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
index 67bce69a..ce9f0235 100644
--- a/tests/i915/gem_ctx_persistence.c
+++ b/tests/i915/gem_ctx_persistence.c
@@ -109,7 +109,10 @@ static void enable_hangcheck(int i915)
static void flush_delayed_fput(int i915)
{
+ rcu_barrier(i915);
+ usleep(50 * 1000);
rcu_barrier(i915); /* flush the delayed fput */
+
sched_yield();
rcu_barrier(i915); /* again, in case it was added after we waited! */
}