Re: [PATCH i-g-t 1/2] lib/xe/xe_spin: initialize ticks_delta to ~0u

Zbigniew KempczyƄski <[email protected]> Wed, 29 Jul 2026 11:42:24 +0200
Newsgroups org.freedesktop.lists.igt-dev
Message-ID <p5dtghxjmq72gubqeydls5spgmtlonwlb5rdhs2iaapsubxqfr@ucwnjmu3diio>
On Tue, Jul 28, 2026 at 12:26:58PM +0200, Marcin Bernatowicz wrote:
> Initialize ticks_delta to ~0u instead of 0. This value does not satisfy
> the COND_BBE exit condition and prevents false batch termination.

May you elaborate? Does it mean STORE-DWORD (loop) is not visible in the memory
before COND_BBE is executed? IIUC with ~0 we could also drop this loop.

--
Zbigniew

> 
> Signed-off-by: Marcin Bernatowicz <[email protected]>
> Cc: Adam Miszczak <[email protected]>
> Cc: Kamil Konieczny <[email protected]>
> Cc: Lukasz Laguna <[email protected]>
> ---
>  lib/xe/xe_spin.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/xe/xe_spin.c b/lib/xe/xe_spin.c
> index 874310789..331bed1d2 100644
> --- a/lib/xe/xe_spin.c
> +++ b/lib/xe/xe_spin.c
> @@ -60,7 +60,7 @@ void xe_spin_init(struct xe_spin *spin, struct xe_spin_opts *opts)
>  	spin->start = 0;
>  	spin->end = 0xffffffff;
>  	spin->wait_cond = 0;
> -	spin->ticks_delta = 0;
> +	spin->ticks_delta = ~0u;
>  
>  	if (opts->ctx_ticks) {
>  		/* store start timestamp */
> -- 
> 2.43.0
>