[PATCH i-g-t] tests/xe_eudebug_online: Ignore stale attention events during single-step

Piatkowski, Dominik Karol dominik.karol.piatkowski at intel.com
Fri Feb 7 07:15:09 UTC 2025


Hi Dominik,

> -----Original Message-----
> From: Grzegorzek, Dominik <dominik.grzegorzek at intel.com>
> Sent: Thursday, February 6, 2025 2:15 PM
> To: igt-dev at lists.freedesktop.org
> Cc: Manszewski, Christoph <christoph.manszewski at intel.com>; Piatkowski,
> Dominik Karol <dominik.karol.piatkowski at intel.com>; Grzegorzek, Dominik
> <dominik.grzegorzek at intel.com>
> Subject: [PATCH i-g-t] tests/xe_eudebug_online: Ignore stale attention events
> during single-step
> 
> Signle step testcases are not filtering stale attention events in resume trigger,

Nitpick: typo signle -> single

> as a result those expect fixed number of attention events to come. If for some
> reason attention wasn't handeled before the next one came test would fail.

Nitpick: typo handeled -> handled

> Filter out all atentions with seqno lower than last eu control call.

Nitpick: typo atentions -> attentions

With this fixed,
Reviewed-by: Dominik Karol Piątkowski <dominik.karol.piatkowski at intel.com>

> 
> Signed-off-by: Dominik Grzegorzek <dominik.grzegorzek at intel.com>
> ---
>  tests/intel/xe_eudebug_online.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/intel/xe_eudebug_online.c b/tests/intel/xe_eudebug_online.c
> index ecc32ee97..c98f1ef1f 100644
> --- a/tests/intel/xe_eudebug_online.c
> +++ b/tests/intel/xe_eudebug_online.c
> @@ -694,6 +694,9 @@ static void
> eu_attention_resume_single_step_trigger(struct xe_eudebug_debugger *
> 
>  	get_aips_offset_table(data, threads);
> 
> +	if (data->last_eu_control_seqno > att->base.seqno)
> +		return;
> +
>  	if (d->flags & TRIGGER_RESUME_PARALLEL_WALK) {
>  		if (data->stepped_threads_count != -1)
>  			if (data->steps_done < SINGLE_STEP_COUNT) { @@ -
> 766,9 +769,9 @@ static void eu_attention_resume_single_step_trigger(struct
> xe_eudebug_debugger *
>  			     data->target_offset + steering_offset(threads)), sz);
>  	fsync(data->vm_fd);
> 
> -	eu_ctl_resume(d->master_fd, d->fd, att->client_handle,
> -		      att->exec_queue_handle, att->lrc_handle,
> -		      att->bitmask, att->bitmask_size);
> +	data->last_eu_control_seqno = eu_ctl_resume(d->master_fd, d->fd,
> att->client_handle,
> +						    att->exec_queue_handle,
> att->lrc_handle,
> +						    att->bitmask, att-
> >bitmask_size);
> 
>  	if (data->single_step_bitmask)
>  		for (int i = 0; i < att->bitmask_size; i++)
> --
> 2.34.1



More information about the igt-dev mailing list