From: Matthew Brost <matthew.brost@intel.com>
To: Francois Dugast <francois.dugast@intel.com>
Cc: <intel-xe@lists.freedesktop.org>, <thomas.hellstrom@linux.intel.com>
Subject: Re: [RFC v1 9/9] drm/xe/vm: Remove restriction that all VMs must be faulting if one is
Date: Wed, 17 Jul 2024 23:05:44 +0000 [thread overview]
Message-ID: <ZphOSFAbVtj6lSIL@DUT025-TGLU.fm.intel.com> (raw)
In-Reply-To: <20240717130821.1073379-10-francois.dugast@intel.com>
On Wed, Jul 17, 2024 at 03:07:30PM +0200, Francois Dugast wrote:
> With this restriction, all VMs on the device must be faulting VMs
> if there is already one faulting VM, in which case the device is
> considered in fault mode. This prevents for example an application
> from running 3D jobs for the compositor while submitting a SVM
> compute job on the same device.
>
> Now that mutual exclusion of LR jobs and dma fence jobs is ensured
> on the hw engine group, remove this restriction to allow running
> faulting and non-faulting VMs on the same device.
>
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> ---
> drivers/gpu/drm/xe/xe_device.h | 10 ----------
> drivers/gpu/drm/xe/xe_vm.c | 8 --------
> 2 files changed, 18 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_device.h b/drivers/gpu/drm/xe/xe_device.h
> index bb07f5669dbb..cb69ecf02c25 100644
> --- a/drivers/gpu/drm/xe/xe_device.h
> +++ b/drivers/gpu/drm/xe/xe_device.h
> @@ -129,16 +129,6 @@ static inline struct xe_force_wake *gt_to_fw(struct xe_gt *gt)
>
> void xe_device_assert_mem_access(struct xe_device *xe);
>
> -static inline bool xe_device_in_fault_mode(struct xe_device *xe)
> -{
> - return xe->usm.num_vm_in_fault_mode != 0;
> -}
> -
> -static inline bool xe_device_in_non_fault_mode(struct xe_device *xe)
> -{
> - return xe->usm.num_vm_in_non_fault_mode != 0;
> -}
> -
These are used in a few other places:
mbrost@lstrano-desk:xe$ grep usm.num_vm_in_ *.c *.h
xe_vm.c: xe->usm.num_vm_in_fault_mode++;
xe_vm.c: xe->usm.num_vm_in_non_fault_mode++;
xe_vm.c: xe->usm.num_vm_in_fault_mode--;
xe_vm.c: xe->usm.num_vm_in_non_fault_mode--;
xe_device.h: return xe->usm.num_vm_in_fault_mode != 0;
xe_device.h: return xe->usm.num_vm_in_non_fault_mode != 0;
xe_device_types.h: /** @usm.num_vm_in_fault_mode: number of VM in fault mode */
xe_device_types.h: /** @usm.num_vm_in_non_fault_mode: number of VM in non-fault mode */
Remove this usage everywhere.
Matt
> static inline bool xe_device_has_flat_ccs(struct xe_device *xe)
> {
> return xe->info.has_flat_ccs;
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index 5b166fa03684..f0d2dc41a25d 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -1875,14 +1875,6 @@ int xe_vm_create_ioctl(struct drm_device *dev, void *data,
> args->flags & DRM_XE_VM_CREATE_FLAG_FAULT_MODE))
> return -EINVAL;
>
> - if (XE_IOCTL_DBG(xe, args->flags & DRM_XE_VM_CREATE_FLAG_FAULT_MODE &&
> - xe_device_in_non_fault_mode(xe)))
> - return -EINVAL;
> -
> - if (XE_IOCTL_DBG(xe, !(args->flags & DRM_XE_VM_CREATE_FLAG_FAULT_MODE) &&
> - xe_device_in_fault_mode(xe)))
> - return -EINVAL;
> -
> if (XE_IOCTL_DBG(xe, args->extensions))
> return -EINVAL;
>
> --
> 2.43.0
>
next prev parent reply other threads:[~2024-07-17 23:06 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-17 13:07 [RFC v1 0/9] Parallel submission of dma fence jobs and LR jobs with shared hardware resources Francois Dugast
2024-07-17 13:07 ` [RFC v1 1/9] drm/xe/hw_engine_group: Introduce xe_hw_engine_group Francois Dugast
2024-07-17 19:29 ` Matthew Brost
2024-07-22 7:40 ` Francois Dugast
2024-07-17 13:07 ` [RFC v1 2/9] drm/xe/exec_queue: Add list link for the hw engine group Francois Dugast
2024-07-17 19:31 ` Matthew Brost
2024-07-17 13:07 ` [RFC v1 3/9] drm/xe/hw_engine_group: Register hw engine group's exec queues Francois Dugast
2024-07-17 19:38 ` Matthew Brost
2024-07-17 19:42 ` Matthew Brost
2024-07-17 20:09 ` Matthew Brost
2024-07-22 8:17 ` Francois Dugast
2024-07-22 17:50 ` Matthew Brost
2024-08-13 12:24 ` Thomas Hellström
2024-08-15 14:55 ` Matthew Brost
2024-07-17 23:19 ` Matthew Brost
2024-07-22 8:31 ` Francois Dugast
2024-07-22 17:47 ` Matthew Brost
2024-07-17 13:07 ` [RFC v1 4/9] drm/xe/hw_engine_group: Add helper to suspend LR jobs Francois Dugast
2024-07-17 19:49 ` Matthew Brost
2024-07-17 23:09 ` Matthew Brost
2024-07-17 13:07 ` [RFC v1 5/9] drm/xe/hw_engine_group: Add helper to wait for dma fence jobs Francois Dugast
2024-07-17 20:18 ` Matthew Brost
2024-07-17 13:07 ` [RFC v1 6/9] drm/xe/hw_engine_group: Ensure safe transition between execution modes Francois Dugast
2024-07-17 22:54 ` Matthew Brost
2024-07-17 13:07 ` [RFC v1 7/9] drm/xe/exec: Switch hw engine group execution mode upon job submission Francois Dugast
2024-07-17 22:57 ` Matthew Brost
2024-07-18 2:09 ` Matthew Brost
2024-07-17 13:07 ` [RFC v1 8/9] drm/xe/hw_engine_group: Resume LR exec queues suspended by dma fence jobs Francois Dugast
2024-07-17 23:03 ` Matthew Brost
2024-07-17 13:07 ` [RFC v1 9/9] drm/xe/vm: Remove restriction that all VMs must be faulting if one is Francois Dugast
2024-07-17 23:05 ` Matthew Brost [this message]
2024-07-17 13:15 ` ✗ CI.Patch_applied: failure for Parallel submission of dma fence jobs and LR jobs with shared hardware resources Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZphOSFAbVtj6lSIL@DUT025-TGLU.fm.intel.com \
--to=matthew.brost@intel.com \
--cc=francois.dugast@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=thomas.hellstrom@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.