[Intel-xe] [PATCH v2 30/31] drm/xe: remove async worker, sync binds, new error handling
Thomas Hellström
thomas.hellstrom at linux.intel.com
Wed May 17 16:53:18 UTC 2023
Hi, Matthew
Some quick comments below. I really need to apply this patch to see the
resulting code so I'll do a full review in the next version where I
have something that applies cleanly.
/Thomas
On Mon, 2023-05-01 at 17:17 -0700, Matthew Brost wrote:
> Async worker is gone, all jobs and memory allocations done in IOCTL.
Done synchronously?
>
> Async vs. sync now means when do bind operations complete relative to
> the IOCTL. Async completes when out-syncs signal while sync completes
> when the IOCTL returns. In-syncs and out-syncs are only allowed in
> async
> mode.
>
> The error handling is similar to before, on memory allocation errors
> binds are pause, VM is put in an error state, and the bind IOCTL
> returns -ENOSPC. The user is allowed to issue sync unbinds, with the
> reclaim bit set, while in an error state. Bind operations without the
> reclaim bit set are rejected with -EALREADY until the exits the error
> state. To exit the error issue a restart bind operation which will
> pick
> up where the original failure left off.
What about -EINTR?
>
> TODO: Update kernel doc
This is done in the next patch in the series, right? so we can drop
this TODO?
>
> Signed-off-by: Matthew Brost <mattthew.brost at intel.com>
> ---
> drivers/gpu/drm/xe/xe_engine.c | 7 +-
> drivers/gpu/drm/xe/xe_engine_types.h | 1 +
> drivers/gpu/drm/xe/xe_exec.c | 42 --
> drivers/gpu/drm/xe/xe_sync.c | 14 +-
> drivers/gpu/drm/xe/xe_sync.h | 2 +-
> drivers/gpu/drm/xe/xe_vm.c | 712 ++++++----------------
> --
> drivers/gpu/drm/xe/xe_vm.h | 2 -
> drivers/gpu/drm/xe/xe_vm_types.h | 37 +-
> drivers/gpu/drm/xe/xe_wait_user_fence.c | 43 +-
> include/uapi/drm/xe_drm.h | 79 +--
> 10 files changed, 213 insertions(+), 726 deletions(-)
>
More information about the Intel-xe
mailing list