[Intel-gfx] [PATCH 1/1] drm/i915/gt: Wait longer for tasks in migrate selftest

Andi Shyti andi.shyti at linux.intel.com
Thu Aug 31 15:01:23 UTC 2023


Hi Jonathan,

On Mon, Aug 28, 2023 at 12:28:52PM -0700, Jonathan Cavitt wrote:
> The thread_global_copy subtest of the live migrate selftest creates a
> large number of threads and waits 10ms for them all to start.  This is
> not enough time to wait for the threaded tasks to start, as some may
> need to wait for additional ring space to be granted.  Threads that do
> so are at risk of getting stopped (signaled) in the middle of waiting
> for additional space, which can result in ERESTARTSYS getting reported
> erroneously by i915_request_wait.
> 
> Instead of waiting a flat 10ms for the threads to start, wait 10ms per
> thread.  This grants enough of a buffer for each thread to wait for
> additional ring space when needed.
> 
> Signed-off-by: Jonathan Cavitt <jonathan.cavitt at intel.com>

Reviewed-by: Andi Shyti <andi.shyti at linux.intel.com> 

Andi

> ---
>  drivers/gpu/drm/i915/gt/selftest_migrate.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/selftest_migrate.c b/drivers/gpu/drm/i915/gt/selftest_migrate.c
> index 3def5ca72dec..1a34cbe04fb6 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_migrate.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_migrate.c
> @@ -710,7 +710,7 @@ static int threaded_migrate(struct intel_migrate *migrate,
>  		thread[i].tsk = tsk;
>  	}
>  
> -	msleep(10); /* start all threads before we kthread_stop() */
> +	msleep(10 * n_cpus); /* start all threads before we kthread_stop() */
>  
>  	for (i = 0; i < n_cpus; ++i) {
>  		struct task_struct *tsk = thread[i].tsk;
> -- 
> 2.25.1


More information about the Intel-gfx mailing list