[Intel-gfx] [PATCH igt] igt/gem_exec_await: Flush the WCB before attempting to queue more work
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Fri Dec 22 17:03:46 UTC 2017
On 21/12/2017 15:48, Chris Wilson wrote:
> Ensure that the terminating write into WC-memory is flushed before we
> might trigger a wait for ring space.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
> tests/gem_exec_await.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tests/gem_exec_await.c b/tests/gem_exec_await.c
> index 9c4467922..28b280ff6 100644
> --- a/tests/gem_exec_await.c
> +++ b/tests/gem_exec_await.c
> @@ -222,6 +222,7 @@ static void wide(int fd, int ring_size, int timeout, unsigned int flags)
>
> for (unsigned e = 0; e < nengine; e++)
> exec[e].cmd[0] = MI_BATCH_BUFFER_END;
> + __sync_synchronize();
> }
>
> igt_assert_eq(intel_detect_and_clear_missed_interrupts(fd), 0);
>
In case someone is reading from the same uneducated situation as I was,
__sync_synchronize emits an mfence instructions which indeed forces a
flush of the write combine buffer.
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Regards,
Tvrtko
More information about the Intel-gfx
mailing list