[Intel-gfx] [PATCH v4 10/61] drm/i915: make lockdep slightly happier about execbuf.

Thomas Hellström thomas.hellstrom at linux.intel.com
Fri Oct 30 08:59:18 UTC 2020


On 10/16/20 12:43 PM, Maarten Lankhorst wrote:
> As soon as we install fences, we should stop allocating memory
> in order to prevent any potential deadlocks.
>
> This is required later on, when we start adding support for
> dma-fence annotations.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>

Comment below, but we should probably fix that up afterwards.

Reviewed-by: Thomas Hellström <thomas.hellstrom at linux.intel.com>


> ---
>   .../gpu/drm/i915/gem/i915_gem_execbuffer.c    | 24 ++++++++++++++-----
>   drivers/gpu/drm/i915/i915_active.c            | 20 ++++++++--------
>   drivers/gpu/drm/i915/i915_vma.c               |  8 ++++---
>   drivers/gpu/drm/i915/i915_vma.h               |  3 +++
>   4 files changed, 36 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> index 0f5efced0b87..9a44d9a6b5ed 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> @@ -49,11 +49,12 @@ enum {
>   #define DBG_FORCE_RELOC 0 /* choose one of the above! */
>   };
>   
> -#define __EXEC_OBJECT_HAS_PIN		BIT(31)
> -#define __EXEC_OBJECT_HAS_FENCE		BIT(30)
> -#define __EXEC_OBJECT_NEEDS_MAP		BIT(29)
> -#define __EXEC_OBJECT_NEEDS_BIAS	BIT(28)
> -#define __EXEC_OBJECT_INTERNAL_FLAGS	(~0u << 28) /* all of the above */
> +/* __EXEC_OBJECT_NO_RESERVE is BIT(31), defined in i915_vma.h */

Ugh. We should probably move these flags to a separate header if this is 
needed.
Since the uapi appears to  allow 64 bits for EXEC flags, looks like a 
general ovehaul is needed at some point.




More information about the Intel-gfx mailing list