diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2019-11-01 08:49:40 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2019-11-01 10:12:29 +0000 |
commit | e5661c6ab0efd0dd0140a0f521b6e9f6a26a5071 (patch) | |
tree | 99446cddd13e1d8d9d6225de6cd7f32926c480e0 /drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c | |
parent | 292a27b0a807615f4c140b990802f109c72d6c8c (diff) |
drm/i915/selftests: Start kthreads before stopping
An interesting observation made with our parallel selftests was that on
our small/single cpu systems we would call kthread_stop() before the
kthreads were spawned. If this happens, the kthread is never run at all;
completely bypassing the test.
A simple yield() from the parent will ensure that all children have the
opportunity to start before we reap them.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191101084940.31838-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c')
-rw-r--r-- | drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c index ac40c704514e..e8132aca0bb6 100644 --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c @@ -473,6 +473,8 @@ static int igt_threaded_blt(struct drm_i915_private *i915, get_task_struct(tsk[i]); } + yield(); /* start all threads before we kthread_stop() */ + for (i = 0; i < n_cpus; ++i) { int status; |