* [PATCH 1/2] drm/i915: remove writeback hook @ 2021-12-15 11:07 ` Matthew Auld 0 siblings, 0 replies; 12+ messages in thread From: Matthew Auld @ 2021-12-15 11:07 UTC (permalink / raw) To: intel-gfx; +Cc: Tvrtko Ursulin, dri-devel Ditch the writeback hook and drop i915_gem_object_writeback(). We already support the shrinker_release_pages hook which can just call shmem_writeback directly. Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Signed-off-by: Matthew Auld <matthew.auld@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> --- drivers/gpu/drm/i915/gem/i915_gem_object.h | 1 - .../gpu/drm/i915/gem/i915_gem_object_types.h | 1 - drivers/gpu/drm/i915/gem/i915_gem_pages.c | 10 ---------- drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 19 ++++++++++++++++++- drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 12 ------------ 5 files changed, 18 insertions(+), 25 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h index 66f20b803b01..aaf9183e601b 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_object.h +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h @@ -455,7 +455,6 @@ i915_gem_object_unpin_pages(struct drm_i915_gem_object *obj) int __i915_gem_object_put_pages(struct drm_i915_gem_object *obj); int i915_gem_object_truncate(struct drm_i915_gem_object *obj); -void i915_gem_object_writeback(struct drm_i915_gem_object *obj); /** * i915_gem_object_pin_map - return a contiguous mapping of the entire object diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h index f9f7e44099fe..00c844caeabd 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h +++ b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h @@ -57,7 +57,6 @@ struct drm_i915_gem_object_ops { void (*put_pages)(struct drm_i915_gem_object *obj, struct sg_table *pages); int (*truncate)(struct drm_i915_gem_object *obj); - void (*writeback)(struct drm_i915_gem_object *obj); int (*shrinker_release_pages)(struct drm_i915_gem_object *obj, bool no_gpu_wait, bool should_writeback); diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pages.c b/drivers/gpu/drm/i915/gem/i915_gem_pages.c index 89b70f5cde7a..820eee5e954e 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c @@ -168,16 +168,6 @@ int i915_gem_object_truncate(struct drm_i915_gem_object *obj) return 0; } -/* Try to discard unwanted pages */ -void i915_gem_object_writeback(struct drm_i915_gem_object *obj) -{ - assert_object_held_shared(obj); - GEM_BUG_ON(i915_gem_object_has_pages(obj)); - - if (obj->ops->writeback) - obj->ops->writeback(obj); -} - static void __i915_gem_object_reset_page_iter(struct drm_i915_gem_object *obj) { struct radix_tree_iter iter; diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c index cc9fe258fba7..7fdf4fa10b0e 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c @@ -331,6 +331,23 @@ shmem_writeback(struct drm_i915_gem_object *obj) __shmem_writeback(obj->base.size, obj->base.filp->f_mapping); } +static int shmem_shrinker_release_pages(struct drm_i915_gem_object *obj, + bool no_gpu_wait, + bool writeback) +{ + switch (obj->mm.madv) { + case I915_MADV_DONTNEED: + return i915_gem_object_truncate(obj); + case __I915_MADV_PURGED: + return 0; + } + + if (writeback) + shmem_writeback(obj); + + return 0; +} + void __i915_gem_object_release_shmem(struct drm_i915_gem_object *obj, struct sg_table *pages, @@ -503,7 +520,7 @@ const struct drm_i915_gem_object_ops i915_gem_shmem_ops = { .get_pages = shmem_get_pages, .put_pages = shmem_put_pages, .truncate = shmem_truncate, - .writeback = shmem_writeback, + .shrinker_release_pages = shmem_shrinker_release_pages, .pwrite = shmem_pwrite, .pread = shmem_pread, diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c index 157a9765f483..fd54e05521f6 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c @@ -61,18 +61,6 @@ static int try_to_writeback(struct drm_i915_gem_object *obj, unsigned int flags) return obj->ops->shrinker_release_pages(obj, !(flags & I915_SHRINK_ACTIVE), flags & I915_SHRINK_WRITEBACK); - - switch (obj->mm.madv) { - case I915_MADV_DONTNEED: - i915_gem_object_truncate(obj); - return 0; - case __I915_MADV_PURGED: - return 0; - } - - if (flags & I915_SHRINK_WRITEBACK) - i915_gem_object_writeback(obj); - return 0; } -- 2.31.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Intel-gfx] [PATCH 1/2] drm/i915: remove writeback hook @ 2021-12-15 11:07 ` Matthew Auld 0 siblings, 0 replies; 12+ messages in thread From: Matthew Auld @ 2021-12-15 11:07 UTC (permalink / raw) To: intel-gfx; +Cc: dri-devel Ditch the writeback hook and drop i915_gem_object_writeback(). We already support the shrinker_release_pages hook which can just call shmem_writeback directly. Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Signed-off-by: Matthew Auld <matthew.auld@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> --- drivers/gpu/drm/i915/gem/i915_gem_object.h | 1 - .../gpu/drm/i915/gem/i915_gem_object_types.h | 1 - drivers/gpu/drm/i915/gem/i915_gem_pages.c | 10 ---------- drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 19 ++++++++++++++++++- drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 12 ------------ 5 files changed, 18 insertions(+), 25 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h index 66f20b803b01..aaf9183e601b 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_object.h +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h @@ -455,7 +455,6 @@ i915_gem_object_unpin_pages(struct drm_i915_gem_object *obj) int __i915_gem_object_put_pages(struct drm_i915_gem_object *obj); int i915_gem_object_truncate(struct drm_i915_gem_object *obj); -void i915_gem_object_writeback(struct drm_i915_gem_object *obj); /** * i915_gem_object_pin_map - return a contiguous mapping of the entire object diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h index f9f7e44099fe..00c844caeabd 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h +++ b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h @@ -57,7 +57,6 @@ struct drm_i915_gem_object_ops { void (*put_pages)(struct drm_i915_gem_object *obj, struct sg_table *pages); int (*truncate)(struct drm_i915_gem_object *obj); - void (*writeback)(struct drm_i915_gem_object *obj); int (*shrinker_release_pages)(struct drm_i915_gem_object *obj, bool no_gpu_wait, bool should_writeback); diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pages.c b/drivers/gpu/drm/i915/gem/i915_gem_pages.c index 89b70f5cde7a..820eee5e954e 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c @@ -168,16 +168,6 @@ int i915_gem_object_truncate(struct drm_i915_gem_object *obj) return 0; } -/* Try to discard unwanted pages */ -void i915_gem_object_writeback(struct drm_i915_gem_object *obj) -{ - assert_object_held_shared(obj); - GEM_BUG_ON(i915_gem_object_has_pages(obj)); - - if (obj->ops->writeback) - obj->ops->writeback(obj); -} - static void __i915_gem_object_reset_page_iter(struct drm_i915_gem_object *obj) { struct radix_tree_iter iter; diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c index cc9fe258fba7..7fdf4fa10b0e 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c @@ -331,6 +331,23 @@ shmem_writeback(struct drm_i915_gem_object *obj) __shmem_writeback(obj->base.size, obj->base.filp->f_mapping); } +static int shmem_shrinker_release_pages(struct drm_i915_gem_object *obj, + bool no_gpu_wait, + bool writeback) +{ + switch (obj->mm.madv) { + case I915_MADV_DONTNEED: + return i915_gem_object_truncate(obj); + case __I915_MADV_PURGED: + return 0; + } + + if (writeback) + shmem_writeback(obj); + + return 0; +} + void __i915_gem_object_release_shmem(struct drm_i915_gem_object *obj, struct sg_table *pages, @@ -503,7 +520,7 @@ const struct drm_i915_gem_object_ops i915_gem_shmem_ops = { .get_pages = shmem_get_pages, .put_pages = shmem_put_pages, .truncate = shmem_truncate, - .writeback = shmem_writeback, + .shrinker_release_pages = shmem_shrinker_release_pages, .pwrite = shmem_pwrite, .pread = shmem_pread, diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c index 157a9765f483..fd54e05521f6 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c @@ -61,18 +61,6 @@ static int try_to_writeback(struct drm_i915_gem_object *obj, unsigned int flags) return obj->ops->shrinker_release_pages(obj, !(flags & I915_SHRINK_ACTIVE), flags & I915_SHRINK_WRITEBACK); - - switch (obj->mm.madv) { - case I915_MADV_DONTNEED: - i915_gem_object_truncate(obj); - return 0; - case __I915_MADV_PURGED: - return 0; - } - - if (flags & I915_SHRINK_WRITEBACK) - i915_gem_object_writeback(obj); - return 0; } -- 2.31.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/2] drm/i915: clean up shrinker_release_pages 2021-12-15 11:07 ` [Intel-gfx] " Matthew Auld @ 2021-12-15 11:07 ` Matthew Auld -1 siblings, 0 replies; 12+ messages in thread From: Matthew Auld @ 2021-12-15 11:07 UTC (permalink / raw) To: intel-gfx; +Cc: Tvrtko Ursulin, dri-devel Add some proper flags for the different modes, and shorten the name to something more snappy. Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Signed-off-by: Matthew Auld <matthew.auld@intel.com> --- .../gpu/drm/i915/gem/i915_gem_object_types.h | 23 ++++++++++++++++--- drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 8 +++---- drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 16 +++++++++---- drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 10 ++++---- 4 files changed, 39 insertions(+), 18 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h index 00c844caeabd..6f446cca4322 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h +++ b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h @@ -57,9 +57,26 @@ struct drm_i915_gem_object_ops { void (*put_pages)(struct drm_i915_gem_object *obj, struct sg_table *pages); int (*truncate)(struct drm_i915_gem_object *obj); - int (*shrinker_release_pages)(struct drm_i915_gem_object *obj, - bool no_gpu_wait, - bool should_writeback); + /** + * shrink - Perform further backend specific actions to facilate + * shrinking. + * @obj: The gem object + * @flags: Extra flags to control shrinking behaviour in the backend + * + * Possible values for @flags: + * + * I915_GEM_OBJECT_SHRINK_WRITEBACK - Try to perform writeback of the + * backing pages, if supported. + * + * I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT - Don't wait for the object to + * idle. Active objects can be considered later. The TTM backend for + * example might have aync migrations going on, which don't use any + * i915_vma to track the active GTT binding, and hence having an unbound + * object might not be enough. + */ +#define I915_GEM_OBJECT_SHRINK_WRITEBACK BIT(0) +#define I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT BIT(1) + int (*shrink)(struct drm_i915_gem_object *obj, unsigned int flags); int (*pread)(struct drm_i915_gem_object *obj, const struct drm_i915_gem_pread *arg); diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c index 7fdf4fa10b0e..6c57b0a79c8a 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c @@ -331,9 +331,7 @@ shmem_writeback(struct drm_i915_gem_object *obj) __shmem_writeback(obj->base.size, obj->base.filp->f_mapping); } -static int shmem_shrinker_release_pages(struct drm_i915_gem_object *obj, - bool no_gpu_wait, - bool writeback) +static int shmem_shrink(struct drm_i915_gem_object *obj, unsigned int flags) { switch (obj->mm.madv) { case I915_MADV_DONTNEED: @@ -342,7 +340,7 @@ static int shmem_shrinker_release_pages(struct drm_i915_gem_object *obj, return 0; } - if (writeback) + if (flags & I915_GEM_OBJECT_SHRINK_WRITEBACK) shmem_writeback(obj); return 0; @@ -520,7 +518,7 @@ const struct drm_i915_gem_object_ops i915_gem_shmem_ops = { .get_pages = shmem_get_pages, .put_pages = shmem_put_pages, .truncate = shmem_truncate, - .shrinker_release_pages = shmem_shrinker_release_pages, + .shrink = shmem_shrink, .pwrite = shmem_pwrite, .pread = shmem_pread, diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c index fd54e05521f6..968ca0fdd57b 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c @@ -57,10 +57,18 @@ static bool unsafe_drop_pages(struct drm_i915_gem_object *obj, static int try_to_writeback(struct drm_i915_gem_object *obj, unsigned int flags) { - if (obj->ops->shrinker_release_pages) - return obj->ops->shrinker_release_pages(obj, - !(flags & I915_SHRINK_ACTIVE), - flags & I915_SHRINK_WRITEBACK); + if (obj->ops->shrink) { + unsigned int shrink_flags = 0; + + if (!(flags & I915_SHRINK_ACTIVE)) + shrink_flags |= I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT; + + if (flags & I915_SHRINK_WRITEBACK) + shrink_flags |= I915_GEM_OBJECT_SHRINK_WRITEBACK; + + return obj->ops->shrink(obj, shrink_flags); + } + return 0; } diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c index 923cc7ad8d70..21277f3c64e7 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c @@ -424,16 +424,14 @@ int i915_ttm_purge(struct drm_i915_gem_object *obj) return 0; } -static int i915_ttm_shrinker_release_pages(struct drm_i915_gem_object *obj, - bool no_wait_gpu, - bool should_writeback) +static int i915_ttm_shrink(struct drm_i915_gem_object *obj, unsigned int flags) { struct ttm_buffer_object *bo = i915_gem_to_ttm(obj); struct i915_ttm_tt *i915_tt = container_of(bo->ttm, typeof(*i915_tt), ttm); struct ttm_operation_ctx ctx = { .interruptible = true, - .no_wait_gpu = no_wait_gpu, + .no_wait_gpu = flags & I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT, }; struct ttm_placement place = {}; int ret; @@ -467,7 +465,7 @@ static int i915_ttm_shrinker_release_pages(struct drm_i915_gem_object *obj, return ret; } - if (should_writeback) + if (flags & I915_GEM_OBJECT_SHRINK_WRITEBACK) __shmem_writeback(obj->base.size, i915_tt->filp->f_mapping); return 0; @@ -953,7 +951,7 @@ static const struct drm_i915_gem_object_ops i915_gem_ttm_obj_ops = { .get_pages = i915_ttm_get_pages, .put_pages = i915_ttm_put_pages, .truncate = i915_ttm_purge, - .shrinker_release_pages = i915_ttm_shrinker_release_pages, + .shrink = i915_ttm_shrink, .adjust_lru = i915_ttm_adjust_lru, .delayed_free = i915_ttm_delayed_free, -- 2.31.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Intel-gfx] [PATCH 2/2] drm/i915: clean up shrinker_release_pages @ 2021-12-15 11:07 ` Matthew Auld 0 siblings, 0 replies; 12+ messages in thread From: Matthew Auld @ 2021-12-15 11:07 UTC (permalink / raw) To: intel-gfx; +Cc: dri-devel Add some proper flags for the different modes, and shorten the name to something more snappy. Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Signed-off-by: Matthew Auld <matthew.auld@intel.com> --- .../gpu/drm/i915/gem/i915_gem_object_types.h | 23 ++++++++++++++++--- drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 8 +++---- drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 16 +++++++++---- drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 10 ++++---- 4 files changed, 39 insertions(+), 18 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h index 00c844caeabd..6f446cca4322 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h +++ b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h @@ -57,9 +57,26 @@ struct drm_i915_gem_object_ops { void (*put_pages)(struct drm_i915_gem_object *obj, struct sg_table *pages); int (*truncate)(struct drm_i915_gem_object *obj); - int (*shrinker_release_pages)(struct drm_i915_gem_object *obj, - bool no_gpu_wait, - bool should_writeback); + /** + * shrink - Perform further backend specific actions to facilate + * shrinking. + * @obj: The gem object + * @flags: Extra flags to control shrinking behaviour in the backend + * + * Possible values for @flags: + * + * I915_GEM_OBJECT_SHRINK_WRITEBACK - Try to perform writeback of the + * backing pages, if supported. + * + * I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT - Don't wait for the object to + * idle. Active objects can be considered later. The TTM backend for + * example might have aync migrations going on, which don't use any + * i915_vma to track the active GTT binding, and hence having an unbound + * object might not be enough. + */ +#define I915_GEM_OBJECT_SHRINK_WRITEBACK BIT(0) +#define I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT BIT(1) + int (*shrink)(struct drm_i915_gem_object *obj, unsigned int flags); int (*pread)(struct drm_i915_gem_object *obj, const struct drm_i915_gem_pread *arg); diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c index 7fdf4fa10b0e..6c57b0a79c8a 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c @@ -331,9 +331,7 @@ shmem_writeback(struct drm_i915_gem_object *obj) __shmem_writeback(obj->base.size, obj->base.filp->f_mapping); } -static int shmem_shrinker_release_pages(struct drm_i915_gem_object *obj, - bool no_gpu_wait, - bool writeback) +static int shmem_shrink(struct drm_i915_gem_object *obj, unsigned int flags) { switch (obj->mm.madv) { case I915_MADV_DONTNEED: @@ -342,7 +340,7 @@ static int shmem_shrinker_release_pages(struct drm_i915_gem_object *obj, return 0; } - if (writeback) + if (flags & I915_GEM_OBJECT_SHRINK_WRITEBACK) shmem_writeback(obj); return 0; @@ -520,7 +518,7 @@ const struct drm_i915_gem_object_ops i915_gem_shmem_ops = { .get_pages = shmem_get_pages, .put_pages = shmem_put_pages, .truncate = shmem_truncate, - .shrinker_release_pages = shmem_shrinker_release_pages, + .shrink = shmem_shrink, .pwrite = shmem_pwrite, .pread = shmem_pread, diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c index fd54e05521f6..968ca0fdd57b 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c @@ -57,10 +57,18 @@ static bool unsafe_drop_pages(struct drm_i915_gem_object *obj, static int try_to_writeback(struct drm_i915_gem_object *obj, unsigned int flags) { - if (obj->ops->shrinker_release_pages) - return obj->ops->shrinker_release_pages(obj, - !(flags & I915_SHRINK_ACTIVE), - flags & I915_SHRINK_WRITEBACK); + if (obj->ops->shrink) { + unsigned int shrink_flags = 0; + + if (!(flags & I915_SHRINK_ACTIVE)) + shrink_flags |= I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT; + + if (flags & I915_SHRINK_WRITEBACK) + shrink_flags |= I915_GEM_OBJECT_SHRINK_WRITEBACK; + + return obj->ops->shrink(obj, shrink_flags); + } + return 0; } diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c index 923cc7ad8d70..21277f3c64e7 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c @@ -424,16 +424,14 @@ int i915_ttm_purge(struct drm_i915_gem_object *obj) return 0; } -static int i915_ttm_shrinker_release_pages(struct drm_i915_gem_object *obj, - bool no_wait_gpu, - bool should_writeback) +static int i915_ttm_shrink(struct drm_i915_gem_object *obj, unsigned int flags) { struct ttm_buffer_object *bo = i915_gem_to_ttm(obj); struct i915_ttm_tt *i915_tt = container_of(bo->ttm, typeof(*i915_tt), ttm); struct ttm_operation_ctx ctx = { .interruptible = true, - .no_wait_gpu = no_wait_gpu, + .no_wait_gpu = flags & I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT, }; struct ttm_placement place = {}; int ret; @@ -467,7 +465,7 @@ static int i915_ttm_shrinker_release_pages(struct drm_i915_gem_object *obj, return ret; } - if (should_writeback) + if (flags & I915_GEM_OBJECT_SHRINK_WRITEBACK) __shmem_writeback(obj->base.size, i915_tt->filp->f_mapping); return 0; @@ -953,7 +951,7 @@ static const struct drm_i915_gem_object_ops i915_gem_ttm_obj_ops = { .get_pages = i915_ttm_get_pages, .put_pages = i915_ttm_put_pages, .truncate = i915_ttm_purge, - .shrinker_release_pages = i915_ttm_shrinker_release_pages, + .shrink = i915_ttm_shrink, .adjust_lru = i915_ttm_adjust_lru, .delayed_free = i915_ttm_delayed_free, -- 2.31.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 2/2] drm/i915: clean up shrinker_release_pages 2021-12-15 11:07 ` [Intel-gfx] " Matthew Auld @ 2021-12-15 15:55 ` Tvrtko Ursulin -1 siblings, 0 replies; 12+ messages in thread From: Tvrtko Ursulin @ 2021-12-15 15:55 UTC (permalink / raw) To: Matthew Auld, intel-gfx; +Cc: dri-devel On 15/12/2021 11:07, Matthew Auld wrote: > Add some proper flags for the different modes, and shorten the name to > something more snappy. Looks good to me - but since it touches TTM I leave for Thomas to approve. Regards, Tvrtko P.S. I hope writing the patch means you thought it is an improvement as well, rather than feeling I was asking for it to be done. > Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> > Signed-off-by: Matthew Auld <matthew.auld@intel.com> > --- > .../gpu/drm/i915/gem/i915_gem_object_types.h | 23 ++++++++++++++++--- > drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 8 +++---- > drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 16 +++++++++---- > drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 10 ++++---- > 4 files changed, 39 insertions(+), 18 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h > index 00c844caeabd..6f446cca4322 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h > +++ b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h > @@ -57,9 +57,26 @@ struct drm_i915_gem_object_ops { > void (*put_pages)(struct drm_i915_gem_object *obj, > struct sg_table *pages); > int (*truncate)(struct drm_i915_gem_object *obj); > - int (*shrinker_release_pages)(struct drm_i915_gem_object *obj, > - bool no_gpu_wait, > - bool should_writeback); > + /** > + * shrink - Perform further backend specific actions to facilate > + * shrinking. > + * @obj: The gem object > + * @flags: Extra flags to control shrinking behaviour in the backend > + * > + * Possible values for @flags: > + * > + * I915_GEM_OBJECT_SHRINK_WRITEBACK - Try to perform writeback of the > + * backing pages, if supported. > + * > + * I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT - Don't wait for the object to > + * idle. Active objects can be considered later. The TTM backend for > + * example might have aync migrations going on, which don't use any > + * i915_vma to track the active GTT binding, and hence having an unbound > + * object might not be enough. > + */ > +#define I915_GEM_OBJECT_SHRINK_WRITEBACK BIT(0) > +#define I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT BIT(1) > + int (*shrink)(struct drm_i915_gem_object *obj, unsigned int flags); > > int (*pread)(struct drm_i915_gem_object *obj, > const struct drm_i915_gem_pread *arg); > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c > index 7fdf4fa10b0e..6c57b0a79c8a 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c > @@ -331,9 +331,7 @@ shmem_writeback(struct drm_i915_gem_object *obj) > __shmem_writeback(obj->base.size, obj->base.filp->f_mapping); > } > > -static int shmem_shrinker_release_pages(struct drm_i915_gem_object *obj, > - bool no_gpu_wait, > - bool writeback) > +static int shmem_shrink(struct drm_i915_gem_object *obj, unsigned int flags) > { > switch (obj->mm.madv) { > case I915_MADV_DONTNEED: > @@ -342,7 +340,7 @@ static int shmem_shrinker_release_pages(struct drm_i915_gem_object *obj, > return 0; > } > > - if (writeback) > + if (flags & I915_GEM_OBJECT_SHRINK_WRITEBACK) > shmem_writeback(obj); > > return 0; > @@ -520,7 +518,7 @@ const struct drm_i915_gem_object_ops i915_gem_shmem_ops = { > .get_pages = shmem_get_pages, > .put_pages = shmem_put_pages, > .truncate = shmem_truncate, > - .shrinker_release_pages = shmem_shrinker_release_pages, > + .shrink = shmem_shrink, > > .pwrite = shmem_pwrite, > .pread = shmem_pread, > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c > index fd54e05521f6..968ca0fdd57b 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c > @@ -57,10 +57,18 @@ static bool unsafe_drop_pages(struct drm_i915_gem_object *obj, > > static int try_to_writeback(struct drm_i915_gem_object *obj, unsigned int flags) > { > - if (obj->ops->shrinker_release_pages) > - return obj->ops->shrinker_release_pages(obj, > - !(flags & I915_SHRINK_ACTIVE), > - flags & I915_SHRINK_WRITEBACK); > + if (obj->ops->shrink) { > + unsigned int shrink_flags = 0; > + > + if (!(flags & I915_SHRINK_ACTIVE)) > + shrink_flags |= I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT; > + > + if (flags & I915_SHRINK_WRITEBACK) > + shrink_flags |= I915_GEM_OBJECT_SHRINK_WRITEBACK; > + > + return obj->ops->shrink(obj, shrink_flags); > + } > + > return 0; > } > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > index 923cc7ad8d70..21277f3c64e7 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > @@ -424,16 +424,14 @@ int i915_ttm_purge(struct drm_i915_gem_object *obj) > return 0; > } > > -static int i915_ttm_shrinker_release_pages(struct drm_i915_gem_object *obj, > - bool no_wait_gpu, > - bool should_writeback) > +static int i915_ttm_shrink(struct drm_i915_gem_object *obj, unsigned int flags) > { > struct ttm_buffer_object *bo = i915_gem_to_ttm(obj); > struct i915_ttm_tt *i915_tt = > container_of(bo->ttm, typeof(*i915_tt), ttm); > struct ttm_operation_ctx ctx = { > .interruptible = true, > - .no_wait_gpu = no_wait_gpu, > + .no_wait_gpu = flags & I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT, > }; > struct ttm_placement place = {}; > int ret; > @@ -467,7 +465,7 @@ static int i915_ttm_shrinker_release_pages(struct drm_i915_gem_object *obj, > return ret; > } > > - if (should_writeback) > + if (flags & I915_GEM_OBJECT_SHRINK_WRITEBACK) > __shmem_writeback(obj->base.size, i915_tt->filp->f_mapping); > > return 0; > @@ -953,7 +951,7 @@ static const struct drm_i915_gem_object_ops i915_gem_ttm_obj_ops = { > .get_pages = i915_ttm_get_pages, > .put_pages = i915_ttm_put_pages, > .truncate = i915_ttm_purge, > - .shrinker_release_pages = i915_ttm_shrinker_release_pages, > + .shrink = i915_ttm_shrink, > > .adjust_lru = i915_ttm_adjust_lru, > .delayed_free = i915_ttm_delayed_free, > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Intel-gfx] [PATCH 2/2] drm/i915: clean up shrinker_release_pages @ 2021-12-15 15:55 ` Tvrtko Ursulin 0 siblings, 0 replies; 12+ messages in thread From: Tvrtko Ursulin @ 2021-12-15 15:55 UTC (permalink / raw) To: Matthew Auld, intel-gfx; +Cc: dri-devel On 15/12/2021 11:07, Matthew Auld wrote: > Add some proper flags for the different modes, and shorten the name to > something more snappy. Looks good to me - but since it touches TTM I leave for Thomas to approve. Regards, Tvrtko P.S. I hope writing the patch means you thought it is an improvement as well, rather than feeling I was asking for it to be done. > Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> > Signed-off-by: Matthew Auld <matthew.auld@intel.com> > --- > .../gpu/drm/i915/gem/i915_gem_object_types.h | 23 ++++++++++++++++--- > drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 8 +++---- > drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 16 +++++++++---- > drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 10 ++++---- > 4 files changed, 39 insertions(+), 18 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h > index 00c844caeabd..6f446cca4322 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h > +++ b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h > @@ -57,9 +57,26 @@ struct drm_i915_gem_object_ops { > void (*put_pages)(struct drm_i915_gem_object *obj, > struct sg_table *pages); > int (*truncate)(struct drm_i915_gem_object *obj); > - int (*shrinker_release_pages)(struct drm_i915_gem_object *obj, > - bool no_gpu_wait, > - bool should_writeback); > + /** > + * shrink - Perform further backend specific actions to facilate > + * shrinking. > + * @obj: The gem object > + * @flags: Extra flags to control shrinking behaviour in the backend > + * > + * Possible values for @flags: > + * > + * I915_GEM_OBJECT_SHRINK_WRITEBACK - Try to perform writeback of the > + * backing pages, if supported. > + * > + * I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT - Don't wait for the object to > + * idle. Active objects can be considered later. The TTM backend for > + * example might have aync migrations going on, which don't use any > + * i915_vma to track the active GTT binding, and hence having an unbound > + * object might not be enough. > + */ > +#define I915_GEM_OBJECT_SHRINK_WRITEBACK BIT(0) > +#define I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT BIT(1) > + int (*shrink)(struct drm_i915_gem_object *obj, unsigned int flags); > > int (*pread)(struct drm_i915_gem_object *obj, > const struct drm_i915_gem_pread *arg); > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c > index 7fdf4fa10b0e..6c57b0a79c8a 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c > @@ -331,9 +331,7 @@ shmem_writeback(struct drm_i915_gem_object *obj) > __shmem_writeback(obj->base.size, obj->base.filp->f_mapping); > } > > -static int shmem_shrinker_release_pages(struct drm_i915_gem_object *obj, > - bool no_gpu_wait, > - bool writeback) > +static int shmem_shrink(struct drm_i915_gem_object *obj, unsigned int flags) > { > switch (obj->mm.madv) { > case I915_MADV_DONTNEED: > @@ -342,7 +340,7 @@ static int shmem_shrinker_release_pages(struct drm_i915_gem_object *obj, > return 0; > } > > - if (writeback) > + if (flags & I915_GEM_OBJECT_SHRINK_WRITEBACK) > shmem_writeback(obj); > > return 0; > @@ -520,7 +518,7 @@ const struct drm_i915_gem_object_ops i915_gem_shmem_ops = { > .get_pages = shmem_get_pages, > .put_pages = shmem_put_pages, > .truncate = shmem_truncate, > - .shrinker_release_pages = shmem_shrinker_release_pages, > + .shrink = shmem_shrink, > > .pwrite = shmem_pwrite, > .pread = shmem_pread, > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c > index fd54e05521f6..968ca0fdd57b 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c > @@ -57,10 +57,18 @@ static bool unsafe_drop_pages(struct drm_i915_gem_object *obj, > > static int try_to_writeback(struct drm_i915_gem_object *obj, unsigned int flags) > { > - if (obj->ops->shrinker_release_pages) > - return obj->ops->shrinker_release_pages(obj, > - !(flags & I915_SHRINK_ACTIVE), > - flags & I915_SHRINK_WRITEBACK); > + if (obj->ops->shrink) { > + unsigned int shrink_flags = 0; > + > + if (!(flags & I915_SHRINK_ACTIVE)) > + shrink_flags |= I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT; > + > + if (flags & I915_SHRINK_WRITEBACK) > + shrink_flags |= I915_GEM_OBJECT_SHRINK_WRITEBACK; > + > + return obj->ops->shrink(obj, shrink_flags); > + } > + > return 0; > } > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > index 923cc7ad8d70..21277f3c64e7 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > @@ -424,16 +424,14 @@ int i915_ttm_purge(struct drm_i915_gem_object *obj) > return 0; > } > > -static int i915_ttm_shrinker_release_pages(struct drm_i915_gem_object *obj, > - bool no_wait_gpu, > - bool should_writeback) > +static int i915_ttm_shrink(struct drm_i915_gem_object *obj, unsigned int flags) > { > struct ttm_buffer_object *bo = i915_gem_to_ttm(obj); > struct i915_ttm_tt *i915_tt = > container_of(bo->ttm, typeof(*i915_tt), ttm); > struct ttm_operation_ctx ctx = { > .interruptible = true, > - .no_wait_gpu = no_wait_gpu, > + .no_wait_gpu = flags & I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT, > }; > struct ttm_placement place = {}; > int ret; > @@ -467,7 +465,7 @@ static int i915_ttm_shrinker_release_pages(struct drm_i915_gem_object *obj, > return ret; > } > > - if (should_writeback) > + if (flags & I915_GEM_OBJECT_SHRINK_WRITEBACK) > __shmem_writeback(obj->base.size, i915_tt->filp->f_mapping); > > return 0; > @@ -953,7 +951,7 @@ static const struct drm_i915_gem_object_ops i915_gem_ttm_obj_ops = { > .get_pages = i915_ttm_get_pages, > .put_pages = i915_ttm_put_pages, > .truncate = i915_ttm_purge, > - .shrinker_release_pages = i915_ttm_shrinker_release_pages, > + .shrink = i915_ttm_shrink, > > .adjust_lru = i915_ttm_adjust_lru, > .delayed_free = i915_ttm_delayed_free, > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 2/2] drm/i915: clean up shrinker_release_pages 2021-12-15 15:55 ` [Intel-gfx] " Tvrtko Ursulin @ 2021-12-15 16:08 ` Matthew Auld -1 siblings, 0 replies; 12+ messages in thread From: Matthew Auld @ 2021-12-15 16:08 UTC (permalink / raw) To: Tvrtko Ursulin, intel-gfx, Thomas Hellström; +Cc: dri-devel On 15/12/2021 15:55, Tvrtko Ursulin wrote: > > On 15/12/2021 11:07, Matthew Auld wrote: >> Add some proper flags for the different modes, and shorten the name to >> something more snappy. > > Looks good to me - but since it touches TTM I leave for Thomas to approve. > > Regards, > > Tvrtko > > P.S. I hope writing the patch means you thought it is an improvement as > well, rather than feeling I was asking for it to be done. Yes, I do see both patches as an improvement :) > >> Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> >> Signed-off-by: Matthew Auld <matthew.auld@intel.com> >> --- >> .../gpu/drm/i915/gem/i915_gem_object_types.h | 23 ++++++++++++++++--- >> drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 8 +++---- >> drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 16 +++++++++---- >> drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 10 ++++---- >> 4 files changed, 39 insertions(+), 18 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h >> b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h >> index 00c844caeabd..6f446cca4322 100644 >> --- a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h >> +++ b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h >> @@ -57,9 +57,26 @@ struct drm_i915_gem_object_ops { >> void (*put_pages)(struct drm_i915_gem_object *obj, >> struct sg_table *pages); >> int (*truncate)(struct drm_i915_gem_object *obj); >> - int (*shrinker_release_pages)(struct drm_i915_gem_object *obj, >> - bool no_gpu_wait, >> - bool should_writeback); >> + /** >> + * shrink - Perform further backend specific actions to facilate >> + * shrinking. >> + * @obj: The gem object >> + * @flags: Extra flags to control shrinking behaviour in the backend >> + * >> + * Possible values for @flags: >> + * >> + * I915_GEM_OBJECT_SHRINK_WRITEBACK - Try to perform writeback of >> the >> + * backing pages, if supported. >> + * >> + * I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT - Don't wait for the object to >> + * idle. Active objects can be considered later. The TTM backend >> for >> + * example might have aync migrations going on, which don't use any >> + * i915_vma to track the active GTT binding, and hence having an >> unbound >> + * object might not be enough. >> + */ >> +#define I915_GEM_OBJECT_SHRINK_WRITEBACK BIT(0) >> +#define I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT BIT(1) >> + int (*shrink)(struct drm_i915_gem_object *obj, unsigned int flags); >> int (*pread)(struct drm_i915_gem_object *obj, >> const struct drm_i915_gem_pread *arg); >> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c >> b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c >> index 7fdf4fa10b0e..6c57b0a79c8a 100644 >> --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c >> +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c >> @@ -331,9 +331,7 @@ shmem_writeback(struct drm_i915_gem_object *obj) >> __shmem_writeback(obj->base.size, obj->base.filp->f_mapping); >> } >> -static int shmem_shrinker_release_pages(struct drm_i915_gem_object *obj, >> - bool no_gpu_wait, >> - bool writeback) >> +static int shmem_shrink(struct drm_i915_gem_object *obj, unsigned int >> flags) >> { >> switch (obj->mm.madv) { >> case I915_MADV_DONTNEED: >> @@ -342,7 +340,7 @@ static int shmem_shrinker_release_pages(struct >> drm_i915_gem_object *obj, >> return 0; >> } >> - if (writeback) >> + if (flags & I915_GEM_OBJECT_SHRINK_WRITEBACK) >> shmem_writeback(obj); >> return 0; >> @@ -520,7 +518,7 @@ const struct drm_i915_gem_object_ops >> i915_gem_shmem_ops = { >> .get_pages = shmem_get_pages, >> .put_pages = shmem_put_pages, >> .truncate = shmem_truncate, >> - .shrinker_release_pages = shmem_shrinker_release_pages, >> + .shrink = shmem_shrink, >> .pwrite = shmem_pwrite, >> .pread = shmem_pread, >> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c >> b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c >> index fd54e05521f6..968ca0fdd57b 100644 >> --- a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c >> +++ b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c >> @@ -57,10 +57,18 @@ static bool unsafe_drop_pages(struct >> drm_i915_gem_object *obj, >> static int try_to_writeback(struct drm_i915_gem_object *obj, >> unsigned int flags) >> { >> - if (obj->ops->shrinker_release_pages) >> - return obj->ops->shrinker_release_pages(obj, >> - !(flags & I915_SHRINK_ACTIVE), >> - flags & I915_SHRINK_WRITEBACK); >> + if (obj->ops->shrink) { >> + unsigned int shrink_flags = 0; >> + >> + if (!(flags & I915_SHRINK_ACTIVE)) >> + shrink_flags |= I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT; >> + >> + if (flags & I915_SHRINK_WRITEBACK) >> + shrink_flags |= I915_GEM_OBJECT_SHRINK_WRITEBACK; >> + >> + return obj->ops->shrink(obj, shrink_flags); >> + } >> + >> return 0; >> } >> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c >> b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c >> index 923cc7ad8d70..21277f3c64e7 100644 >> --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c >> +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c >> @@ -424,16 +424,14 @@ int i915_ttm_purge(struct drm_i915_gem_object *obj) >> return 0; >> } >> -static int i915_ttm_shrinker_release_pages(struct drm_i915_gem_object >> *obj, >> - bool no_wait_gpu, >> - bool should_writeback) >> +static int i915_ttm_shrink(struct drm_i915_gem_object *obj, unsigned >> int flags) >> { >> struct ttm_buffer_object *bo = i915_gem_to_ttm(obj); >> struct i915_ttm_tt *i915_tt = >> container_of(bo->ttm, typeof(*i915_tt), ttm); >> struct ttm_operation_ctx ctx = { >> .interruptible = true, >> - .no_wait_gpu = no_wait_gpu, >> + .no_wait_gpu = flags & I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT, >> }; >> struct ttm_placement place = {}; >> int ret; >> @@ -467,7 +465,7 @@ static int i915_ttm_shrinker_release_pages(struct >> drm_i915_gem_object *obj, >> return ret; >> } >> - if (should_writeback) >> + if (flags & I915_GEM_OBJECT_SHRINK_WRITEBACK) >> __shmem_writeback(obj->base.size, i915_tt->filp->f_mapping); >> return 0; >> @@ -953,7 +951,7 @@ static const struct drm_i915_gem_object_ops >> i915_gem_ttm_obj_ops = { >> .get_pages = i915_ttm_get_pages, >> .put_pages = i915_ttm_put_pages, >> .truncate = i915_ttm_purge, >> - .shrinker_release_pages = i915_ttm_shrinker_release_pages, >> + .shrink = i915_ttm_shrink, >> .adjust_lru = i915_ttm_adjust_lru, >> .delayed_free = i915_ttm_delayed_free, >> ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Intel-gfx] [PATCH 2/2] drm/i915: clean up shrinker_release_pages @ 2021-12-15 16:08 ` Matthew Auld 0 siblings, 0 replies; 12+ messages in thread From: Matthew Auld @ 2021-12-15 16:08 UTC (permalink / raw) To: Tvrtko Ursulin, intel-gfx, Thomas Hellström; +Cc: dri-devel On 15/12/2021 15:55, Tvrtko Ursulin wrote: > > On 15/12/2021 11:07, Matthew Auld wrote: >> Add some proper flags for the different modes, and shorten the name to >> something more snappy. > > Looks good to me - but since it touches TTM I leave for Thomas to approve. > > Regards, > > Tvrtko > > P.S. I hope writing the patch means you thought it is an improvement as > well, rather than feeling I was asking for it to be done. Yes, I do see both patches as an improvement :) > >> Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> >> Signed-off-by: Matthew Auld <matthew.auld@intel.com> >> --- >> .../gpu/drm/i915/gem/i915_gem_object_types.h | 23 ++++++++++++++++--- >> drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 8 +++---- >> drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 16 +++++++++---- >> drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 10 ++++---- >> 4 files changed, 39 insertions(+), 18 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h >> b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h >> index 00c844caeabd..6f446cca4322 100644 >> --- a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h >> +++ b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h >> @@ -57,9 +57,26 @@ struct drm_i915_gem_object_ops { >> void (*put_pages)(struct drm_i915_gem_object *obj, >> struct sg_table *pages); >> int (*truncate)(struct drm_i915_gem_object *obj); >> - int (*shrinker_release_pages)(struct drm_i915_gem_object *obj, >> - bool no_gpu_wait, >> - bool should_writeback); >> + /** >> + * shrink - Perform further backend specific actions to facilate >> + * shrinking. >> + * @obj: The gem object >> + * @flags: Extra flags to control shrinking behaviour in the backend >> + * >> + * Possible values for @flags: >> + * >> + * I915_GEM_OBJECT_SHRINK_WRITEBACK - Try to perform writeback of >> the >> + * backing pages, if supported. >> + * >> + * I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT - Don't wait for the object to >> + * idle. Active objects can be considered later. The TTM backend >> for >> + * example might have aync migrations going on, which don't use any >> + * i915_vma to track the active GTT binding, and hence having an >> unbound >> + * object might not be enough. >> + */ >> +#define I915_GEM_OBJECT_SHRINK_WRITEBACK BIT(0) >> +#define I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT BIT(1) >> + int (*shrink)(struct drm_i915_gem_object *obj, unsigned int flags); >> int (*pread)(struct drm_i915_gem_object *obj, >> const struct drm_i915_gem_pread *arg); >> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c >> b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c >> index 7fdf4fa10b0e..6c57b0a79c8a 100644 >> --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c >> +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c >> @@ -331,9 +331,7 @@ shmem_writeback(struct drm_i915_gem_object *obj) >> __shmem_writeback(obj->base.size, obj->base.filp->f_mapping); >> } >> -static int shmem_shrinker_release_pages(struct drm_i915_gem_object *obj, >> - bool no_gpu_wait, >> - bool writeback) >> +static int shmem_shrink(struct drm_i915_gem_object *obj, unsigned int >> flags) >> { >> switch (obj->mm.madv) { >> case I915_MADV_DONTNEED: >> @@ -342,7 +340,7 @@ static int shmem_shrinker_release_pages(struct >> drm_i915_gem_object *obj, >> return 0; >> } >> - if (writeback) >> + if (flags & I915_GEM_OBJECT_SHRINK_WRITEBACK) >> shmem_writeback(obj); >> return 0; >> @@ -520,7 +518,7 @@ const struct drm_i915_gem_object_ops >> i915_gem_shmem_ops = { >> .get_pages = shmem_get_pages, >> .put_pages = shmem_put_pages, >> .truncate = shmem_truncate, >> - .shrinker_release_pages = shmem_shrinker_release_pages, >> + .shrink = shmem_shrink, >> .pwrite = shmem_pwrite, >> .pread = shmem_pread, >> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c >> b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c >> index fd54e05521f6..968ca0fdd57b 100644 >> --- a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c >> +++ b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c >> @@ -57,10 +57,18 @@ static bool unsafe_drop_pages(struct >> drm_i915_gem_object *obj, >> static int try_to_writeback(struct drm_i915_gem_object *obj, >> unsigned int flags) >> { >> - if (obj->ops->shrinker_release_pages) >> - return obj->ops->shrinker_release_pages(obj, >> - !(flags & I915_SHRINK_ACTIVE), >> - flags & I915_SHRINK_WRITEBACK); >> + if (obj->ops->shrink) { >> + unsigned int shrink_flags = 0; >> + >> + if (!(flags & I915_SHRINK_ACTIVE)) >> + shrink_flags |= I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT; >> + >> + if (flags & I915_SHRINK_WRITEBACK) >> + shrink_flags |= I915_GEM_OBJECT_SHRINK_WRITEBACK; >> + >> + return obj->ops->shrink(obj, shrink_flags); >> + } >> + >> return 0; >> } >> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c >> b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c >> index 923cc7ad8d70..21277f3c64e7 100644 >> --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c >> +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c >> @@ -424,16 +424,14 @@ int i915_ttm_purge(struct drm_i915_gem_object *obj) >> return 0; >> } >> -static int i915_ttm_shrinker_release_pages(struct drm_i915_gem_object >> *obj, >> - bool no_wait_gpu, >> - bool should_writeback) >> +static int i915_ttm_shrink(struct drm_i915_gem_object *obj, unsigned >> int flags) >> { >> struct ttm_buffer_object *bo = i915_gem_to_ttm(obj); >> struct i915_ttm_tt *i915_tt = >> container_of(bo->ttm, typeof(*i915_tt), ttm); >> struct ttm_operation_ctx ctx = { >> .interruptible = true, >> - .no_wait_gpu = no_wait_gpu, >> + .no_wait_gpu = flags & I915_GEM_OBJECT_SHRINK_NO_GPU_WAIT, >> }; >> struct ttm_placement place = {}; >> int ret; >> @@ -467,7 +465,7 @@ static int i915_ttm_shrinker_release_pages(struct >> drm_i915_gem_object *obj, >> return ret; >> } >> - if (should_writeback) >> + if (flags & I915_GEM_OBJECT_SHRINK_WRITEBACK) >> __shmem_writeback(obj->base.size, i915_tt->filp->f_mapping); >> return 0; >> @@ -953,7 +951,7 @@ static const struct drm_i915_gem_object_ops >> i915_gem_ttm_obj_ops = { >> .get_pages = i915_ttm_get_pages, >> .put_pages = i915_ttm_put_pages, >> .truncate = i915_ttm_purge, >> - .shrinker_release_pages = i915_ttm_shrinker_release_pages, >> + .shrink = i915_ttm_shrink, >> .adjust_lru = i915_ttm_adjust_lru, >> .delayed_free = i915_ttm_delayed_free, >> ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Intel-gfx] [PATCH 2/2] drm/i915: clean up shrinker_release_pages 2021-12-15 11:07 ` [Intel-gfx] " Matthew Auld (?) (?) @ 2022-01-05 10:29 ` Thomas Hellström (Intel) -1 siblings, 0 replies; 12+ messages in thread From: Thomas Hellström (Intel) @ 2022-01-05 10:29 UTC (permalink / raw) To: Matthew Auld, intel-gfx; +Cc: dri-devel Hi, Matthew On 12/15/21 12:07, Matthew Auld wrote: > Add some proper flags for the different modes, and shorten the name to > something more snappy. > > Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> > Signed-off-by: Matthew Auld <matthew.auld@intel.com> LGTM. Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/i915: remove writeback hook 2021-12-15 11:07 ` [Intel-gfx] " Matthew Auld (?) (?) @ 2021-12-15 12:14 ` Patchwork -1 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2021-12-15 12:14 UTC (permalink / raw) To: Matthew Auld; +Cc: intel-gfx == Series Details == Series: series starting with [1/2] drm/i915: remove writeback hook URL : https://patchwork.freedesktop.org/series/98061/ State : warning == Summary == $ dim sparse --fast origin/drm-tip Sparse version: v0.6.2 Fast mode used, each commit won't be checked separately. ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: remove writeback hook 2021-12-15 11:07 ` [Intel-gfx] " Matthew Auld ` (2 preceding siblings ...) (?) @ 2021-12-15 12:38 ` Patchwork -1 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2021-12-15 12:38 UTC (permalink / raw) To: Matthew Auld; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 5026 bytes --] == Series Details == Series: series starting with [1/2] drm/i915: remove writeback hook URL : https://patchwork.freedesktop.org/series/98061/ State : success == Summary == CI Bug Log - changes from CI_DRM_11004 -> Patchwork_21853 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/index.html Participating hosts (41 -> 33) ------------------------------ Missing (8): bat-dg1-6 bat-dg1-5 fi-skl-guc fi-bsw-cyan bat-adlp-6 fi-pnv-d510 fi-bdw-samus bat-jsl-1 Known issues ------------ Here are the changes found in Patchwork_21853 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@amdgpu/amd_basic@cs-gfx: - fi-hsw-4770: NOTRUN -> [SKIP][1] ([fdo#109271] / [fdo#109315]) +17 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/fi-hsw-4770/igt@amdgpu/amd_basic@cs-gfx.html * igt@amdgpu/amd_cs_nop@sync-gfx0: - fi-bsw-n3050: NOTRUN -> [SKIP][2] ([fdo#109271]) +17 similar issues [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/fi-bsw-n3050/igt@amdgpu/amd_cs_nop@sync-gfx0.html * igt@gem_exec_suspend@basic-s3: - fi-bdw-5557u: [PASS][3] -> [INCOMPLETE][4] ([i915#146]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/fi-bdw-5557u/igt@gem_exec_suspend@basic-s3.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/fi-bdw-5557u/igt@gem_exec_suspend@basic-s3.html - fi-skl-6600u: [PASS][5] -> [INCOMPLETE][6] ([i915#4547]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/fi-skl-6600u/igt@gem_exec_suspend@basic-s3.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/fi-skl-6600u/igt@gem_exec_suspend@basic-s3.html * igt@kms_frontbuffer_tracking@basic: - fi-cml-u2: [PASS][7] -> [DMESG-WARN][8] ([i915#4269]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html * igt@runner@aborted: - fi-skl-6600u: NOTRUN -> [FAIL][9] ([i915#2722] / [i915#4312]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/fi-skl-6600u/igt@runner@aborted.html #### Possible fixes #### * igt@i915_pm_rpm@basic-rte: - {fi-tgl-dsi}: [DMESG-WARN][10] ([i915#1982] / [i915#2411]) -> [PASS][11] [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/fi-tgl-dsi/igt@i915_pm_rpm@basic-rte.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/fi-tgl-dsi/igt@i915_pm_rpm@basic-rte.html * igt@i915_selftest@live@execlists: - fi-bsw-n3050: [INCOMPLETE][12] ([i915#2940]) -> [PASS][13] [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/fi-bsw-n3050/igt@i915_selftest@live@execlists.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/fi-bsw-n3050/igt@i915_selftest@live@execlists.html * igt@i915_selftest@live@hangcheck: - fi-hsw-4770: [INCOMPLETE][14] ([i915#4785]) -> [PASS][15] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [i915#146]: https://gitlab.freedesktop.org/drm/intel/issues/146 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411 [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575 [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722 [i915#2940]: https://gitlab.freedesktop.org/drm/intel/issues/2940 [i915#4269]: https://gitlab.freedesktop.org/drm/intel/issues/4269 [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312 [i915#4547]: https://gitlab.freedesktop.org/drm/intel/issues/4547 [i915#4785]: https://gitlab.freedesktop.org/drm/intel/issues/4785 Build changes ------------- * Linux: CI_DRM_11004 -> Patchwork_21853 CI-20190529: 20190529 CI_DRM_11004: 636384ba8470ed9d16693aaff3e6ad13f52226be @ git://anongit.freedesktop.org/gfx-ci/linux IGT_6307: be84fe4f151bc092e068cab5cd0cd19c34948b40 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_21853: 8ea115b08d86430bd237f3726763faf87cb1dce9 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 8ea115b08d86 drm/i915: clean up shrinker_release_pages 8ce0825fdd81 drm/i915: remove writeback hook == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/index.html [-- Attachment #2: Type: text/html, Size: 5850 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/i915: remove writeback hook 2021-12-15 11:07 ` [Intel-gfx] " Matthew Auld ` (3 preceding siblings ...) (?) @ 2021-12-15 14:53 ` Patchwork -1 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2021-12-15 14:53 UTC (permalink / raw) To: Matthew Auld; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 30281 bytes --] == Series Details == Series: series starting with [1/2] drm/i915: remove writeback hook URL : https://patchwork.freedesktop.org/series/98061/ State : failure == Summary == CI Bug Log - changes from CI_DRM_11004_full -> Patchwork_21853_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_21853_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_21853_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_21853_full: ### IGT changes ### #### Possible regressions #### * igt@kms_psr@suspend: - shard-skl: [PASS][1] -> [INCOMPLETE][2] +1 similar issue [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-skl9/igt@kms_psr@suspend.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl7/igt@kms_psr@suspend.html Known issues ------------ Here are the changes found in Patchwork_21853_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_eio@unwedge-stress: - shard-tglb: [PASS][3] -> [TIMEOUT][4] ([i915#3063] / [i915#3648]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-tglb8/igt@gem_eio@unwedge-stress.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb5/igt@gem_eio@unwedge-stress.html * igt@gem_exec_fair@basic-none-solo@rcs0: - shard-kbl: NOTRUN -> [FAIL][5] ([i915#2842]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl6/igt@gem_exec_fair@basic-none-solo@rcs0.html - shard-iclb: NOTRUN -> [FAIL][6] ([i915#2842]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@gem_exec_fair@basic-none-solo@rcs0.html * igt@gem_exec_fair@basic-none@vcs0: - shard-kbl: [PASS][7] -> [FAIL][8] ([i915#2842]) +2 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-kbl4/igt@gem_exec_fair@basic-none@vcs0.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl3/igt@gem_exec_fair@basic-none@vcs0.html * igt@gem_exec_fair@basic-none@vecs0: - shard-apl: [PASS][9] -> [FAIL][10] ([i915#2842]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-apl8/igt@gem_exec_fair@basic-none@vecs0.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-apl1/igt@gem_exec_fair@basic-none@vecs0.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-tglb: NOTRUN -> [FAIL][11] ([i915#2842]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_exec_fair@basic-pace@bcs0: - shard-tglb: [PASS][12] -> [FAIL][13] ([i915#2842]) +1 similar issue [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-tglb3/igt@gem_exec_fair@basic-pace@bcs0.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb2/igt@gem_exec_fair@basic-pace@bcs0.html * igt@gem_exec_fair@basic-throttle@rcs0: - shard-glk: [PASS][14] -> [FAIL][15] ([i915#2842]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-glk7/igt@gem_exec_fair@basic-throttle@rcs0.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-glk3/igt@gem_exec_fair@basic-throttle@rcs0.html * igt@gem_huc_copy@huc-copy: - shard-skl: NOTRUN -> [SKIP][16] ([fdo#109271] / [i915#2190]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl10/igt@gem_huc_copy@huc-copy.html * igt@gem_lmem_swapping@heavy-verify-random: - shard-kbl: NOTRUN -> [SKIP][17] ([fdo#109271] / [i915#4613]) +4 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl3/igt@gem_lmem_swapping@heavy-verify-random.html - shard-skl: NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#4613]) +3 similar issues [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl4/igt@gem_lmem_swapping@heavy-verify-random.html * igt@gem_lmem_swapping@parallel-multi: - shard-tglb: NOTRUN -> [SKIP][19] ([i915#4613]) +2 similar issues [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb8/igt@gem_lmem_swapping@parallel-multi.html * igt@gem_lmem_swapping@random: - shard-iclb: NOTRUN -> [SKIP][20] ([i915#4613]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@gem_lmem_swapping@random.html * igt@gem_lmem_swapping@smem-oom: - shard-apl: NOTRUN -> [SKIP][21] ([fdo#109271] / [i915#4613]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-apl6/igt@gem_lmem_swapping@smem-oom.html * igt@gem_pwrite@basic-exhaustion: - shard-iclb: NOTRUN -> [WARN][22] ([i915#2658]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@gem_pwrite@basic-exhaustion.html - shard-kbl: NOTRUN -> [WARN][23] ([i915#2658]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl6/igt@gem_pwrite@basic-exhaustion.html * igt@gem_pxp@fail-invalid-protected-context: - shard-tglb: NOTRUN -> [SKIP][24] ([i915#4270]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@gem_pxp@fail-invalid-protected-context.html - shard-iclb: NOTRUN -> [SKIP][25] ([i915#4270]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb1/igt@gem_pxp@fail-invalid-protected-context.html * igt@gem_render_copy@y-tiled-to-vebox-x-tiled: - shard-iclb: NOTRUN -> [SKIP][26] ([i915#768]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@gem_render_copy@y-tiled-to-vebox-x-tiled.html * igt@gen3_render_tiledy_blits: - shard-tglb: NOTRUN -> [SKIP][27] ([fdo#109289]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@gen3_render_tiledy_blits.html * igt@gen7_exec_parse@batch-without-end: - shard-iclb: NOTRUN -> [SKIP][28] ([fdo#109289]) [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@gen7_exec_parse@batch-without-end.html * igt@gen9_exec_parse@batch-without-end: - shard-tglb: NOTRUN -> [SKIP][29] ([i915#2856]) +1 similar issue [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@gen9_exec_parse@batch-without-end.html * igt@gen9_exec_parse@secure-batches: - shard-iclb: NOTRUN -> [SKIP][30] ([i915#2856]) [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@gen9_exec_parse@secure-batches.html * igt@i915_pm_dc@dc6-dpms: - shard-kbl: NOTRUN -> [FAIL][31] ([i915#454]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl2/igt@i915_pm_dc@dc6-dpms.html * igt@i915_pm_dc@dc6-psr: - shard-tglb: NOTRUN -> [FAIL][32] ([i915#454]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@i915_pm_dc@dc6-psr.html * igt@i915_pm_dc@dc9-dpms: - shard-tglb: NOTRUN -> [SKIP][33] ([i915#4281]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@i915_pm_dc@dc9-dpms.html * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp: - shard-kbl: NOTRUN -> [SKIP][34] ([fdo#109271] / [i915#1937]) [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl2/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp.html * igt@i915_pm_rc6_residency@rc6-idle: - shard-tglb: NOTRUN -> [WARN][35] ([i915#2681] / [i915#2684]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@i915_pm_rc6_residency@rc6-idle.html * igt@i915_query@query-topology-known-pci-ids: - shard-tglb: NOTRUN -> [SKIP][36] ([fdo#109303]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@i915_query@query-topology-known-pci-ids.html * igt@i915_suspend@fence-restore-tiled2untiled: - shard-kbl: [PASS][37] -> [DMESG-WARN][38] ([i915#180]) +1 similar issue [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-kbl2/igt@i915_suspend@fence-restore-tiled2untiled.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl4/igt@i915_suspend@fence-restore-tiled2untiled.html * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0: - shard-skl: NOTRUN -> [DMESG-WARN][39] ([i915#1982]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl1/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0.html * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip: - shard-kbl: NOTRUN -> [SKIP][40] ([fdo#109271] / [i915#3777]) +2 similar issues [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl6/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip.html * igt@kms_big_fb@y-tiled-64bpp-rotate-270: - shard-tglb: NOTRUN -> [SKIP][41] ([fdo#111614]) +1 similar issue [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_big_fb@y-tiled-64bpp-rotate-270.html * igt@kms_big_fb@yf-tiled-64bpp-rotate-0: - shard-tglb: NOTRUN -> [SKIP][42] ([fdo#111615]) +3 similar issues [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_big_fb@yf-tiled-64bpp-rotate-0.html * igt@kms_big_fb@yf-tiled-8bpp-rotate-180: - shard-iclb: NOTRUN -> [SKIP][43] ([fdo#110723]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@kms_big_fb@yf-tiled-8bpp-rotate-180.html * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip: - shard-skl: NOTRUN -> [SKIP][44] ([fdo#109271] / [i915#3777]) [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl10/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip.html * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip: - shard-skl: NOTRUN -> [FAIL][45] ([i915#3743]) +2 similar issues [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl10/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html * igt@kms_big_joiner@invalid-modeset: - shard-tglb: NOTRUN -> [SKIP][46] ([i915#2705]) [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_big_joiner@invalid-modeset.html * igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_mc_ccs: - shard-kbl: NOTRUN -> [SKIP][47] ([fdo#109271] / [i915#3886]) +9 similar issues [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl2/igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_mc_ccs: - shard-apl: NOTRUN -> [SKIP][48] ([fdo#109271] / [i915#3886]) +1 similar issue [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-apl6/igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs: - shard-iclb: NOTRUN -> [SKIP][49] ([fdo#109278] / [i915#3886]) +2 similar issues [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc: - shard-skl: NOTRUN -> [SKIP][50] ([fdo#109271] / [i915#3886]) +12 similar issues [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl6/igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_ccs: - shard-tglb: NOTRUN -> [SKIP][51] ([i915#3689]) [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_ccs.html * igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_mc_ccs: - shard-tglb: NOTRUN -> [SKIP][52] ([i915#3689] / [i915#3886]) +3 similar issues [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-c-missing-ccs-buffer-yf_tiled_ccs: - shard-tglb: NOTRUN -> [SKIP][53] ([fdo#111615] / [i915#3689]) +2 similar issues [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_ccs@pipe-c-missing-ccs-buffer-yf_tiled_ccs.html * igt@kms_ccs@pipe-d-crc-primary-basic-y_tiled_ccs: - shard-kbl: NOTRUN -> [SKIP][54] ([fdo#109271]) +227 similar issues [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl6/igt@kms_ccs@pipe-d-crc-primary-basic-y_tiled_ccs.html * igt@kms_ccs@pipe-d-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc: - shard-skl: NOTRUN -> [SKIP][55] ([fdo#109271]) +188 similar issues [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl10/igt@kms_ccs@pipe-d-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html * igt@kms_cdclk@mode-transition: - shard-iclb: NOTRUN -> [SKIP][56] ([i915#3742]) [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@kms_cdclk@mode-transition.html * igt@kms_chamelium@dp-frame-dump: - shard-iclb: NOTRUN -> [SKIP][57] ([fdo#109284] / [fdo#111827]) +1 similar issue [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@kms_chamelium@dp-frame-dump.html * igt@kms_chamelium@hdmi-hpd-storm: - shard-kbl: NOTRUN -> [SKIP][58] ([fdo#109271] / [fdo#111827]) +21 similar issues [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl3/igt@kms_chamelium@hdmi-hpd-storm.html * igt@kms_chamelium@vga-hpd-after-suspend: - shard-skl: NOTRUN -> [SKIP][59] ([fdo#109271] / [fdo#111827]) +15 similar issues [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl6/igt@kms_chamelium@vga-hpd-after-suspend.html * igt@kms_color@pipe-d-ctm-blue-to-red: - shard-iclb: NOTRUN -> [SKIP][60] ([fdo#109278] / [i915#1149]) [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@kms_color@pipe-d-ctm-blue-to-red.html * igt@kms_color_chamelium@pipe-a-ctm-green-to-red: - shard-apl: NOTRUN -> [SKIP][61] ([fdo#109271] / [fdo#111827]) +2 similar issues [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-apl6/igt@kms_color_chamelium@pipe-a-ctm-green-to-red.html * igt@kms_color_chamelium@pipe-c-degamma: - shard-tglb: NOTRUN -> [SKIP][62] ([fdo#109284] / [fdo#111827]) +6 similar issues [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_color_chamelium@pipe-c-degamma.html * igt@kms_color_chamelium@pipe-d-ctm-0-25: - shard-iclb: NOTRUN -> [SKIP][63] ([fdo#109278] / [fdo#109284] / [fdo#111827]) [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@kms_color_chamelium@pipe-d-ctm-0-25.html * igt@kms_content_protection@legacy: - shard-kbl: NOTRUN -> [TIMEOUT][64] ([i915#1319]) +1 similar issue [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl7/igt@kms_content_protection@legacy.html * igt@kms_content_protection@uevent: - shard-tglb: NOTRUN -> [SKIP][65] ([fdo#111828]) [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_content_protection@uevent.html * igt@kms_cursor_crc@pipe-b-cursor-32x32-onscreen: - shard-tglb: NOTRUN -> [SKIP][66] ([i915#3319]) [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_cursor_crc@pipe-b-cursor-32x32-onscreen.html * igt@kms_cursor_crc@pipe-c-cursor-32x10-rapid-movement: - shard-tglb: NOTRUN -> [SKIP][67] ([i915#3359]) +3 similar issues [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_cursor_crc@pipe-c-cursor-32x10-rapid-movement.html * igt@kms_cursor_crc@pipe-c-cursor-512x170-sliding: - shard-iclb: NOTRUN -> [SKIP][68] ([fdo#109278] / [fdo#109279]) +1 similar issue [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@kms_cursor_crc@pipe-c-cursor-512x170-sliding.html * igt@kms_cursor_crc@pipe-d-cursor-256x85-onscreen: - shard-iclb: NOTRUN -> [SKIP][69] ([fdo#109278]) +9 similar issues [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@kms_cursor_crc@pipe-d-cursor-256x85-onscreen.html * igt@kms_cursor_crc@pipe-d-cursor-512x512-rapid-movement: - shard-tglb: NOTRUN -> [SKIP][70] ([fdo#109279] / [i915#3359]) +1 similar issue [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_cursor_crc@pipe-d-cursor-512x512-rapid-movement.html * igt@kms_cursor_legacy@cursorb-vs-flipb-legacy: - shard-iclb: NOTRUN -> [SKIP][71] ([fdo#109274] / [fdo#109278]) [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html * igt@kms_cursor_legacy@pipe-d-torture-bo: - shard-kbl: NOTRUN -> [SKIP][72] ([fdo#109271] / [i915#533]) [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl3/igt@kms_cursor_legacy@pipe-d-torture-bo.html - shard-skl: NOTRUN -> [SKIP][73] ([fdo#109271] / [i915#533]) +1 similar issue [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl4/igt@kms_cursor_legacy@pipe-d-torture-bo.html * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions: - shard-tglb: NOTRUN -> [SKIP][74] ([i915#4103]) [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html * igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a1-hdmi-a2: - shard-glk: [PASS][75] -> [FAIL][76] ([i915#2122]) [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-glk7/igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a1-hdmi-a2.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-glk4/igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a1-hdmi-a2.html * igt@kms_flip@2x-flip-vs-rmfb-interruptible: - shard-iclb: NOTRUN -> [SKIP][77] ([fdo#109274]) [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@kms_flip@2x-flip-vs-rmfb-interruptible.html * igt@kms_flip@flip-vs-suspend-interruptible@c-dp1: - shard-apl: [PASS][78] -> [DMESG-WARN][79] ([i915#180]) +1 similar issue [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-apl7/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html * igt@kms_flip_tiling@flip-change-tiling@dp-1-pipe-a-y-to-yf-ccs: - shard-kbl: NOTRUN -> [DMESG-WARN][80] ([i915#1226]) [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl3/igt@kms_flip_tiling@flip-change-tiling@dp-1-pipe-a-y-to-yf-ccs.html * igt@kms_force_connector_basic@force-load-detect: - shard-tglb: NOTRUN -> [SKIP][81] ([fdo#109285]) [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-render: - shard-iclb: NOTRUN -> [SKIP][82] ([fdo#109280]) +12 similar issues [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-render.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-blt: - shard-tglb: NOTRUN -> [SKIP][83] ([fdo#111825]) +22 similar issues [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-pwrite: - shard-apl: NOTRUN -> [SKIP][84] ([fdo#109271]) +45 similar issues [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-apl6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-pwrite.html * igt@kms_hdr@static-toggle-dpms: - shard-tglb: NOTRUN -> [SKIP][85] ([i915#1187]) +1 similar issue [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_hdr@static-toggle-dpms.html * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d: - shard-apl: NOTRUN -> [SKIP][86] ([fdo#109271] / [i915#533]) +1 similar issue [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-apl6/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html * igt@kms_plane_alpha_blend@pipe-b-alpha-basic: - shard-kbl: NOTRUN -> [FAIL][87] ([fdo#108145] / [i915#265]) +3 similar issues [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl3/igt@kms_plane_alpha_blend@pipe-b-alpha-basic.html * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min: - shard-skl: NOTRUN -> [FAIL][88] ([fdo#108145] / [i915#265]) +2 similar issues [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl6/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html * igt@kms_plane_lowres@pipe-b-tiling-y: - shard-tglb: NOTRUN -> [SKIP][89] ([i915#3536]) +2 similar issues [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_plane_lowres@pipe-b-tiling-y.html * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area: - shard-skl: NOTRUN -> [SKIP][90] ([fdo#109271] / [i915#658]) [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl10/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area: - shard-apl: NOTRUN -> [SKIP][91] ([fdo#109271] / [i915#658]) [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-apl6/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html - shard-tglb: NOTRUN -> [SKIP][92] ([i915#2920]) [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area: - shard-iclb: NOTRUN -> [SKIP][93] ([fdo#111068] / [i915#658]) [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html - shard-kbl: NOTRUN -> [SKIP][94] ([fdo#109271] / [i915#658]) +1 similar issue [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl6/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html * igt@kms_psr@psr2_basic: - shard-tglb: NOTRUN -> [FAIL][95] ([i915#132] / [i915#3467]) +1 similar issue [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_psr@psr2_basic.html * igt@kms_tv_load_detect@load-detect: - shard-tglb: NOTRUN -> [SKIP][96] ([fdo#109309]) [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@kms_tv_load_detect@load-detect.html * igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend: - shard-kbl: [PASS][97] -> [INCOMPLETE][98] ([i915#2828]) [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-kbl6/igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend.html [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl4/igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend.html * igt@kms_vrr@flip-dpms: - shard-iclb: NOTRUN -> [SKIP][99] ([fdo#109502]) [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@kms_vrr@flip-dpms.html * igt@nouveau_crc@pipe-b-ctx-flip-detection: - shard-tglb: NOTRUN -> [SKIP][100] ([i915#2530]) +1 similar issue [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@nouveau_crc@pipe-b-ctx-flip-detection.html * igt@perf@polling-small-buf: - shard-skl: [PASS][101] -> [FAIL][102] ([i915#1722]) [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-skl1/igt@perf@polling-small-buf.html [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl7/igt@perf@polling-small-buf.html * igt@prime_nv_api@i915_self_import: - shard-tglb: NOTRUN -> [SKIP][103] ([fdo#109291]) [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@prime_nv_api@i915_self_import.html * igt@prime_vgem@fence-flip-hang: - shard-iclb: NOTRUN -> [SKIP][104] ([fdo#109295]) [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb7/igt@prime_vgem@fence-flip-hang.html * igt@sysfs_clients@busy: - shard-tglb: NOTRUN -> [SKIP][105] ([i915#2994]) +3 similar issues [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb1/igt@sysfs_clients@busy.html * igt@sysfs_clients@fair-0: - shard-skl: NOTRUN -> [SKIP][106] ([fdo#109271] / [i915#2994]) +3 similar issues [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl8/igt@sysfs_clients@fair-0.html * igt@sysfs_clients@sema-25: - shard-apl: NOTRUN -> [SKIP][107] ([fdo#109271] / [i915#2994]) [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-apl6/igt@sysfs_clients@sema-25.html * igt@sysfs_clients@sema-50: - shard-kbl: NOTRUN -> [SKIP][108] ([fdo#109271] / [i915#2994]) +4 similar issues [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl2/igt@sysfs_clients@sema-50.html #### Possible fixes #### * igt@drm_read@empty-block: - {shard-rkl}: ([SKIP][109], [SKIP][110]) ([i915#1845]) -> [PASS][111] +1 similar issue [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-rkl-4/igt@drm_read@empty-block.html [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-rkl-1/igt@drm_read@empty-block.html [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-rkl-6/igt@drm_read@empty-block.html * igt@gem_ctx_isolation@preservation-s3@vecs0: - {shard-rkl}: ([DMESG-WARN][112], [PASS][113]) -> [PASS][114] [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-rkl-1/igt@gem_ctx_isolation@preservation-s3@vecs0.html [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-rkl-4/igt@gem_ctx_isolation@preservation-s3@vecs0.html [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-rkl-1/igt@gem_ctx_isolation@preservation-s3@vecs0.html - shard-apl: [DMESG-WARN][115] ([i915#180]) -> [PASS][116] [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-apl6/igt@gem_ctx_isolation@preservation-s3@vecs0.html [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-apl6/igt@gem_ctx_isolation@preservation-s3@vecs0.html * igt@gem_eio@unwedge-stress: - shard-skl: [TIMEOUT][117] ([i915#3063]) -> [PASS][118] [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-skl9/igt@gem_eio@unwedge-stress.html [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-skl10/igt@gem_eio@unwedge-stress.html * igt@gem_exec_fair@basic-none-rrul@rcs0: - shard-glk: [FAIL][119] ([i915#2842]) -> [PASS][120] +1 similar issue [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-glk1/igt@gem_exec_fair@basic-none-rrul@rcs0.html [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-glk5/igt@gem_exec_fair@basic-none-rrul@rcs0.html * igt@gem_exec_fair@basic-none-share@rcs0: - shard-iclb: [FAIL][121] ([i915#2842]) -> [PASS][122] +1 similar issue [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-iclb8/igt@gem_exec_fair@basic-none-share@rcs0.html [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb1/igt@gem_exec_fair@basic-none-share@rcs0.html * igt@gem_exec_fair@basic-none@vecs0: - shard-kbl: [FAIL][123] ([i915#2842]) -> [PASS][124] [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-kbl4/igt@gem_exec_fair@basic-none@vecs0.html [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-kbl3/igt@gem_exec_fair@basic-none@vecs0.html * igt@gem_exec_fair@basic-pace@vecs0: - shard-tglb: [FAIL][125] ([i915#2842]) -> [PASS][126] [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-tglb3/igt@gem_exec_fair@basic-pace@vecs0.html [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-tglb2/igt@gem_exec_fair@basic-pace@vecs0.html * igt@gem_exec_fair@basic-throttle@rcs0: - shard-iclb: [FAIL][127] ([i915#2849]) -> [PASS][128] [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-iclb3/igt@gem_exec_fair@basic-throttle@rcs0.html [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-iclb8/igt@gem_exec_fair@basic-throttle@rcs0.html * igt@gem_exec_whisper@basic-contexts-forked-all: - shard-glk: [DMESG-WARN][129] ([i915#118]) -> [PASS][130] [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11004/shard-glk1/igt@gem_exec_whisper@basic-contexts-forked-all.html [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/shard-glk5/igt@gem_exec_whisper@basic-contexts-forked-all.html * igt@i915_pm_rpm@drm-resources-equal: - {shard-rkl}: [SKIP][131] ([fdo#109308]) -> [PASS][132] [13 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21853/index.html [-- Attachment #2: Type: text/html, Size: 33845 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2022-01-05 10:29 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-12-15 11:07 [PATCH 1/2] drm/i915: remove writeback hook Matthew Auld 2021-12-15 11:07 ` [Intel-gfx] " Matthew Auld 2021-12-15 11:07 ` [PATCH 2/2] drm/i915: clean up shrinker_release_pages Matthew Auld 2021-12-15 11:07 ` [Intel-gfx] " Matthew Auld 2021-12-15 15:55 ` Tvrtko Ursulin 2021-12-15 15:55 ` [Intel-gfx] " Tvrtko Ursulin 2021-12-15 16:08 ` Matthew Auld 2021-12-15 16:08 ` [Intel-gfx] " Matthew Auld 2022-01-05 10:29 ` Thomas Hellström (Intel) 2021-12-15 12:14 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/i915: remove writeback hook Patchwork 2021-12-15 12:38 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2021-12-15 14:53 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
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.