* [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support
@ 2020-01-11 17:36 Michal Wajdeczko
2020-01-11 17:36 ` [Intel-gfx] [PATCH 2/2] drm/i915/vgt: Move VGT GGTT ballooning nodes to i915_ggtt Michal Wajdeczko
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Michal Wajdeczko @ 2020-01-11 17:36 UTC (permalink / raw)
To: intel-gfx; +Cc: Jani Nikula
Reserving part of the GGTT for the GuC requires same steps
as in VGT GGTT ballooning. Add generic GGTT ballooning
helpers to intel_ggtt.c to avoid code duplication.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Xiong Zhang <xiong.y.zhang@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/gt/intel_ggtt.c | 71 ++++++++++++++++++++++------
drivers/gpu/drm/i915/gt/intel_gtt.h | 4 ++
drivers/gpu/drm/i915/i915_vgpu.c | 60 +++++------------------
3 files changed, 73 insertions(+), 62 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt.c b/drivers/gpu/drm/i915/gt/intel_ggtt.c
index 79096722ce16..636542c7c272 100644
--- a/drivers/gpu/drm/i915/gt/intel_ggtt.c
+++ b/drivers/gpu/drm/i915/gt/intel_ggtt.c
@@ -459,28 +459,17 @@ static void ggtt_unbind_vma(struct i915_vma *vma)
static int ggtt_reserve_guc_top(struct i915_ggtt *ggtt)
{
- u64 size;
- int ret;
-
if (!USES_GUC(ggtt->vm.i915))
return 0;
GEM_BUG_ON(ggtt->vm.total <= GUC_GGTT_TOP);
- size = ggtt->vm.total - GUC_GGTT_TOP;
-
- ret = i915_gem_gtt_reserve(&ggtt->vm, &ggtt->uc_fw, size,
- GUC_GGTT_TOP, I915_COLOR_UNEVICTABLE,
- PIN_NOEVICT);
- if (ret)
- DRM_DEBUG_DRIVER("Failed to reserve top of GGTT for GuC\n");
-
- return ret;
+ return i915_ggtt_balloon(ggtt, GUC_GGTT_TOP, ggtt->vm.total,
+ &ggtt->uc_fw);
}
static void ggtt_release_guc_top(struct i915_ggtt *ggtt)
{
- if (drm_mm_node_allocated(&ggtt->uc_fw))
- drm_mm_remove_node(&ggtt->uc_fw);
+ i915_ggtt_deballoon(ggtt, &ggtt->uc_fw);
}
static void cleanup_init_ggtt(struct i915_ggtt *ggtt)
@@ -1484,3 +1473,57 @@ i915_get_ggtt_vma_pages(struct i915_vma *vma)
}
return ret;
}
+
+/**
+ * i915_ggtt_balloon - reserve fixed space in an GGTT
+ * @ggtt: the &struct i915_ggtt
+ * @start: start offset inside the GGTT,
+ * must be #I915_GTT_MIN_ALIGNMENT aligned
+ * @end: end offset inside the GGTT,
+ * must be #I915_GTT_PAGE_SIZE aligned
+ * @node: the &struct drm_mm_node
+ *
+ * i915_ggtt_balloon() tries to reserve the @node from @start to @end inside
+ * GGTT the address space.
+ *
+ * Returns: 0 on success, -ENOSPC if no suitable hole is found.
+ */
+int i915_ggtt_balloon(struct i915_ggtt *ggtt, u64 start, u64 end,
+ struct drm_mm_node *node)
+{
+ u64 size = end - start;
+ int err;
+
+ GEM_BUG_ON(start >= end);
+ DRM_DEV_DEBUG_DRIVER(ggtt->vm.i915->drm.dev,
+ "%sGGTT [%#llx-%#llx] %lluK\n",
+ "ballooning ", start, end, size / SZ_1K);
+
+ err = i915_gem_gtt_reserve(&ggtt->vm, node, size, start,
+ I915_COLOR_UNEVICTABLE, PIN_NOEVICT);
+ if (unlikely(err)) {
+ DRM_DEV_ERROR(ggtt->vm.i915->drm.dev,
+ "%sGGTT [%#llx-%#llx] %lluK\n",
+ "Failed to balloon ", node->start,
+ node->start + node->size, node->size / SZ_1K);
+ return err;
+ }
+
+ ggtt->vm.reserved += node->size;
+ return 0;
+}
+
+void i915_ggtt_deballoon(struct i915_ggtt *ggtt, struct drm_mm_node *node)
+{
+ if (!drm_mm_node_allocated(node))
+ return;
+
+ DRM_DEV_DEBUG_DRIVER(ggtt->vm.i915->drm.dev,
+ "%sGGTT [%#llx-%#llx] %lluK\n",
+ "deballooning ", node->start,
+ node->start + node->size, node->size / SZ_1K);
+
+ GEM_BUG_ON(ggtt->vm.reserved < node->size);
+ ggtt->vm.reserved -= node->size;
+ drm_mm_remove_node(node);
+}
diff --git a/drivers/gpu/drm/i915/gt/intel_gtt.h b/drivers/gpu/drm/i915/gt/intel_gtt.h
index 7da7681c20b1..ac852d1a3302 100644
--- a/drivers/gpu/drm/i915/gt/intel_gtt.h
+++ b/drivers/gpu/drm/i915/gt/intel_gtt.h
@@ -508,6 +508,10 @@ static inline bool i915_ggtt_has_aperture(const struct i915_ggtt *ggtt)
return ggtt->mappable_end > 0;
}
+int i915_ggtt_balloon(struct i915_ggtt *ggtt, u64 start, u64 end,
+ struct drm_mm_node *node);
+void i915_ggtt_deballoon(struct i915_ggtt *ggtt, struct drm_mm_node *node);
+
int i915_ppgtt_init_hw(struct intel_gt *gt);
struct i915_ppgtt *i915_ppgtt_create(struct intel_gt *gt);
diff --git a/drivers/gpu/drm/i915/i915_vgpu.c b/drivers/gpu/drm/i915/i915_vgpu.c
index 968be26735c5..4e1889a7aa5c 100644
--- a/drivers/gpu/drm/i915/i915_vgpu.c
+++ b/drivers/gpu/drm/i915/i915_vgpu.c
@@ -117,21 +117,6 @@ struct _balloon_info_ {
static struct _balloon_info_ bl_info;
-static void vgt_deballoon_space(struct i915_ggtt *ggtt,
- struct drm_mm_node *node)
-{
- if (!drm_mm_node_allocated(node))
- return;
-
- DRM_DEBUG_DRIVER("deballoon space: range [0x%llx - 0x%llx] %llu KiB.\n",
- node->start,
- node->start + node->size,
- node->size / 1024);
-
- ggtt->vm.reserved -= node->size;
- drm_mm_remove_node(node);
-}
-
/**
* intel_vgt_deballoon - deballoon reserved graphics address trunks
* @ggtt: the global GGTT from which we reserved earlier
@@ -149,28 +134,7 @@ void intel_vgt_deballoon(struct i915_ggtt *ggtt)
DRM_DEBUG("VGT deballoon.\n");
for (i = 0; i < 4; i++)
- vgt_deballoon_space(ggtt, &bl_info.space[i]);
-}
-
-static int vgt_balloon_space(struct i915_ggtt *ggtt,
- struct drm_mm_node *node,
- unsigned long start, unsigned long end)
-{
- unsigned long size = end - start;
- int ret;
-
- if (start >= end)
- return -EINVAL;
-
- DRM_INFO("balloon space: range [ 0x%lx - 0x%lx ] %lu KiB.\n",
- start, end, size / 1024);
- ret = i915_gem_gtt_reserve(&ggtt->vm, node,
- size, start, I915_COLOR_UNEVICTABLE,
- 0);
- if (!ret)
- ggtt->vm.reserved += size;
-
- return ret;
+ i915_ggtt_deballoon(ggtt, &bl_info.space[i]);
}
/**
@@ -256,32 +220,32 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt)
/* Unmappable graphic memory ballooning */
if (unmappable_base > ggtt->mappable_end) {
- ret = vgt_balloon_space(ggtt, &bl_info.space[2],
- ggtt->mappable_end, unmappable_base);
+ ret = i915_ggtt_balloon(ggtt, ggtt->mappable_end,
+ unmappable_base, &bl_info.space[2]);
if (ret)
goto err;
}
if (unmappable_end < ggtt_end) {
- ret = vgt_balloon_space(ggtt, &bl_info.space[3],
- unmappable_end, ggtt_end);
+ ret = i915_ggtt_balloon(ggtt, unmappable_end, ggtt_end,
+ &bl_info.space[3]);
if (ret)
goto err_upon_mappable;
}
/* Mappable graphic memory ballooning */
if (mappable_base) {
- ret = vgt_balloon_space(ggtt, &bl_info.space[0],
- 0, mappable_base);
+ ret = i915_ggtt_balloon(ggtt, 0, mappable_base,
+ &bl_info.space[0]);
if (ret)
goto err_upon_unmappable;
}
if (mappable_end < ggtt->mappable_end) {
- ret = vgt_balloon_space(ggtt, &bl_info.space[1],
- mappable_end, ggtt->mappable_end);
+ ret = i915_ggtt_balloon(ggtt, mappable_end, ggtt->mappable_end,
+ &bl_info.space[1]);
if (ret)
goto err_below_mappable;
@@ -291,11 +255,11 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt)
return 0;
err_below_mappable:
- vgt_deballoon_space(ggtt, &bl_info.space[0]);
+ i915_ggtt_deballoon(ggtt, &bl_info.space[0]);
err_upon_unmappable:
- vgt_deballoon_space(ggtt, &bl_info.space[3]);
+ i915_ggtt_deballoon(ggtt, &bl_info.space[3]);
err_upon_mappable:
- vgt_deballoon_space(ggtt, &bl_info.space[2]);
+ i915_ggtt_deballoon(ggtt, &bl_info.space[2]);
err:
DRM_ERROR("VGT balloon fail\n");
return ret;
--
2.19.2
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Intel-gfx] [PATCH 2/2] drm/i915/vgt: Move VGT GGTT ballooning nodes to i915_ggtt
2020-01-11 17:36 [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support Michal Wajdeczko
@ 2020-01-11 17:36 ` Michal Wajdeczko
2020-01-11 18:41 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support Patchwork
2020-01-15 2:51 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2 siblings, 0 replies; 6+ messages in thread
From: Michal Wajdeczko @ 2020-01-11 17:36 UTC (permalink / raw)
To: intel-gfx; +Cc: Jani Nikula
Since VGT ballooning nodes are GGTT specific, we can move them
to i915_ggtt struct close to some other similar nodes. This way
we drop another place in driver that uses static data.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Xiong Zhang <xiong.y.zhang@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/gt/intel_gtt.h | 1 +
drivers/gpu/drm/i915/i915_vgpu.c | 27 ++++++++-------------------
2 files changed, 9 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_gtt.h b/drivers/gpu/drm/i915/gt/intel_gtt.h
index ac852d1a3302..bc5670617b39 100644
--- a/drivers/gpu/drm/i915/gt/intel_gtt.h
+++ b/drivers/gpu/drm/i915/gt/intel_gtt.h
@@ -348,6 +348,7 @@ struct i915_ggtt {
struct mutex error_mutex;
struct drm_mm_node error_capture;
struct drm_mm_node uc_fw;
+ struct drm_mm_node balloon[4];
};
struct i915_ppgtt {
diff --git a/drivers/gpu/drm/i915/i915_vgpu.c b/drivers/gpu/drm/i915/i915_vgpu.c
index 4e1889a7aa5c..428a4a7560ed 100644
--- a/drivers/gpu/drm/i915/i915_vgpu.c
+++ b/drivers/gpu/drm/i915/i915_vgpu.c
@@ -106,17 +106,6 @@ bool intel_vgpu_has_full_ppgtt(struct drm_i915_private *dev_priv)
return dev_priv->vgpu.caps & VGT_CAPS_FULL_PPGTT;
}
-struct _balloon_info_ {
- /*
- * There are up to 2 regions per mappable/unmappable graphic
- * memory that might be ballooned. Here, index 0/1 is for mappable
- * graphic memory, 2/3 for unmappable graphic memory.
- */
- struct drm_mm_node space[4];
-};
-
-static struct _balloon_info_ bl_info;
-
/**
* intel_vgt_deballoon - deballoon reserved graphics address trunks
* @ggtt: the global GGTT from which we reserved earlier
@@ -134,7 +123,7 @@ void intel_vgt_deballoon(struct i915_ggtt *ggtt)
DRM_DEBUG("VGT deballoon.\n");
for (i = 0; i < 4; i++)
- i915_ggtt_deballoon(ggtt, &bl_info.space[i]);
+ i915_ggtt_deballoon(ggtt, &ggtt->balloon[i]);
}
/**
@@ -221,7 +210,7 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt)
/* Unmappable graphic memory ballooning */
if (unmappable_base > ggtt->mappable_end) {
ret = i915_ggtt_balloon(ggtt, ggtt->mappable_end,
- unmappable_base, &bl_info.space[2]);
+ unmappable_base, &ggtt->balloon[2]);
if (ret)
goto err;
@@ -229,7 +218,7 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt)
if (unmappable_end < ggtt_end) {
ret = i915_ggtt_balloon(ggtt, unmappable_end, ggtt_end,
- &bl_info.space[3]);
+ &ggtt->balloon[3]);
if (ret)
goto err_upon_mappable;
}
@@ -237,7 +226,7 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt)
/* Mappable graphic memory ballooning */
if (mappable_base) {
ret = i915_ggtt_balloon(ggtt, 0, mappable_base,
- &bl_info.space[0]);
+ &ggtt->balloon[0]);
if (ret)
goto err_upon_unmappable;
@@ -245,7 +234,7 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt)
if (mappable_end < ggtt->mappable_end) {
ret = i915_ggtt_balloon(ggtt, mappable_end, ggtt->mappable_end,
- &bl_info.space[1]);
+ &ggtt->balloon[1]);
if (ret)
goto err_below_mappable;
@@ -255,11 +244,11 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt)
return 0;
err_below_mappable:
- i915_ggtt_deballoon(ggtt, &bl_info.space[0]);
+ i915_ggtt_deballoon(ggtt, &ggtt->balloon[0]);
err_upon_unmappable:
- i915_ggtt_deballoon(ggtt, &bl_info.space[3]);
+ i915_ggtt_deballoon(ggtt, &ggtt->balloon[3]);
err_upon_mappable:
- i915_ggtt_deballoon(ggtt, &bl_info.space[2]);
+ i915_ggtt_deballoon(ggtt, &ggtt->balloon[2]);
err:
DRM_ERROR("VGT balloon fail\n");
return ret;
--
2.19.2
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support
2020-01-11 17:36 [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support Michal Wajdeczko
2020-01-11 17:36 ` [Intel-gfx] [PATCH 2/2] drm/i915/vgt: Move VGT GGTT ballooning nodes to i915_ggtt Michal Wajdeczko
@ 2020-01-11 18:41 ` Patchwork
2020-01-15 2:51 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2020-01-11 18:41 UTC (permalink / raw)
To: Michal Wajdeczko; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support
URL : https://patchwork.freedesktop.org/series/71920/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_7724 -> Patchwork_16066
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/index.html
Known issues
------------
Here are the changes found in Patchwork_16066 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_close_race@basic-threads:
- fi-byt-n2820: [PASS][1] -> [TIMEOUT][2] ([i915#816])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/fi-byt-n2820/igt@gem_close_race@basic-threads.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/fi-byt-n2820/igt@gem_close_race@basic-threads.html
* igt@i915_selftest@live_blt:
- fi-ivb-3770: [PASS][3] -> [DMESG-FAIL][4] ([i915#725])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/fi-ivb-3770/igt@i915_selftest@live_blt.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/fi-ivb-3770/igt@i915_selftest@live_blt.html
* igt@i915_selftest@live_gem_contexts:
- fi-cfl-guc: [PASS][5] -> [DMESG-FAIL][6] ([i915#623])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html
#### Possible fixes ####
* igt@gem_close_race@basic-threads:
- fi-byt-j1900: [TIMEOUT][7] ([i915#816]) -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/fi-byt-j1900/igt@gem_close_race@basic-threads.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/fi-byt-j1900/igt@gem_close_race@basic-threads.html
* igt@i915_module_load@reload-with-fault-injection:
- fi-kbl-x1275: [INCOMPLETE][9] ([i915#879]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/fi-kbl-x1275/igt@i915_module_load@reload-with-fault-injection.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/fi-kbl-x1275/igt@i915_module_load@reload-with-fault-injection.html
[i915#623]: https://gitlab.freedesktop.org/drm/intel/issues/623
[i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725
[i915#816]: https://gitlab.freedesktop.org/drm/intel/issues/816
[i915#879]: https://gitlab.freedesktop.org/drm/intel/issues/879
Participating hosts (48 -> 41)
------------------------------
Additional (4): fi-hsw-peppy fi-skl-6770hq fi-kbl-7560u fi-bsw-n3050
Missing (11): fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-whl-u fi-kbl-8809g fi-skl-lmem fi-snb-2600 fi-skl-6600u fi-kbl-r
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_7724 -> Patchwork_16066
CI-20190529: 20190529
CI_DRM_7724: da61b67ea3ce7098d2ffda9a7dcdf28b7026e6e8 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5364: b7cb6ffdb65cbd233f5ddee2f2dabf97b34fa640 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_16066: 81f56d025ad16555ab9ae8e2ab0cb6e55cc7e229 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
81f56d025ad1 drm/i915/vgt: Move VGT GGTT ballooning nodes to i915_ggtt
56d5d80d010e drm/i915/ggtt: Add generic i915_ggtt ballooning support
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support
2020-01-11 17:36 [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support Michal Wajdeczko
2020-01-11 17:36 ` [Intel-gfx] [PATCH 2/2] drm/i915/vgt: Move VGT GGTT ballooning nodes to i915_ggtt Michal Wajdeczko
2020-01-11 18:41 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support Patchwork
@ 2020-01-15 2:51 ` Patchwork
2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2020-01-15 2:51 UTC (permalink / raw)
To: Michal Wajdeczko; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support
URL : https://patchwork.freedesktop.org/series/71920/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_7724_full -> Patchwork_16066_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_16066_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_16066_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_16066_full:
### IGT changes ###
#### Possible regressions ####
* igt@runner@aborted:
- shard-hsw: NOTRUN -> [FAIL][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-hsw7/igt@runner@aborted.html
Known issues
------------
Here are the changes found in Patchwork_16066_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_isolation@vecs0-s3:
- shard-iclb: [PASS][2] -> [DMESG-WARN][3] ([fdo#111764]) +1 similar issue
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb3/igt@gem_ctx_isolation@vecs0-s3.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb7/igt@gem_ctx_isolation@vecs0-s3.html
* igt@gem_ctx_persistence@rcs0-mixed-process:
- shard-tglb: [PASS][4] -> [FAIL][5] ([i915#679])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb5/igt@gem_ctx_persistence@rcs0-mixed-process.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb4/igt@gem_ctx_persistence@rcs0-mixed-process.html
* igt@gem_ctx_persistence@vcs1-queued:
- shard-iclb: [PASS][6] -> [SKIP][7] ([fdo#109276] / [fdo#112080]) +1 similar issue
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb1/igt@gem_ctx_persistence@vcs1-queued.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb5/igt@gem_ctx_persistence@vcs1-queued.html
* igt@gem_ctx_shared@q-smoketest-vebox:
- shard-tglb: [PASS][8] -> [INCOMPLETE][9] ([fdo#111735])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb5/igt@gem_ctx_shared@q-smoketest-vebox.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb4/igt@gem_ctx_shared@q-smoketest-vebox.html
* igt@gem_exec_balancer@nop:
- shard-tglb: [PASS][10] -> [INCOMPLETE][11] ([fdo#111736] / [i915#472])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb5/igt@gem_exec_balancer@nop.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb8/igt@gem_exec_balancer@nop.html
* igt@gem_exec_balancer@smoke:
- shard-iclb: [PASS][12] -> [SKIP][13] ([fdo#110854])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb2/igt@gem_exec_balancer@smoke.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb3/igt@gem_exec_balancer@smoke.html
* igt@gem_exec_parallel@vcs1-fds:
- shard-iclb: [PASS][14] -> [SKIP][15] ([fdo#112080]) +7 similar issues
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb4/igt@gem_exec_parallel@vcs1-fds.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb3/igt@gem_exec_parallel@vcs1-fds.html
* igt@gem_exec_reuse@single:
- shard-tglb: [PASS][16] -> [INCOMPLETE][17] ([i915#472])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb2/igt@gem_exec_reuse@single.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb4/igt@gem_exec_reuse@single.html
* igt@gem_exec_schedule@in-order-bsd:
- shard-iclb: [PASS][18] -> [SKIP][19] ([fdo#112146]) +4 similar issues
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb7/igt@gem_exec_schedule@in-order-bsd.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb2/igt@gem_exec_schedule@in-order-bsd.html
* igt@gem_exec_schedule@pi-common-bsd:
- shard-iclb: [PASS][20] -> [SKIP][21] ([i915#677])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb6/igt@gem_exec_schedule@pi-common-bsd.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb2/igt@gem_exec_schedule@pi-common-bsd.html
* igt@gem_exec_schedule@preempt-queue-chain-bsd1:
- shard-tglb: [PASS][22] -> [INCOMPLETE][23] ([fdo#111606] / [fdo#111677] / [i915#472])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb1/igt@gem_exec_schedule@preempt-queue-chain-bsd1.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb8/igt@gem_exec_schedule@preempt-queue-chain-bsd1.html
* igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd1:
- shard-tglb: [PASS][24] -> [INCOMPLETE][25] ([fdo#111677] / [i915#472])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb2/igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd1.html
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb6/igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd1.html
* igt@gem_exec_schedule@smoketest-bsd1:
- shard-tglb: [PASS][26] -> [INCOMPLETE][27] ([i915#463] / [i915#472])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb5/igt@gem_exec_schedule@smoketest-bsd1.html
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb3/igt@gem_exec_schedule@smoketest-bsd1.html
* igt@gem_persistent_relocs@forked-thrash-inactive:
- shard-kbl: [PASS][28] -> [TIMEOUT][29] ([fdo#112271])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-kbl7/igt@gem_persistent_relocs@forked-thrash-inactive.html
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-kbl6/igt@gem_persistent_relocs@forked-thrash-inactive.html
* igt@gem_persistent_relocs@forked-thrashing:
- shard-snb: [PASS][30] -> [FAIL][31] ([i915#520])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-snb6/igt@gem_persistent_relocs@forked-thrashing.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-snb5/igt@gem_persistent_relocs@forked-thrashing.html
* igt@i915_pm_dc@dc6-psr:
- shard-iclb: [PASS][32] -> [FAIL][33] ([i915#454])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb8/igt@i915_pm_dc@dc6-psr.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb8/igt@i915_pm_dc@dc6-psr.html
* igt@i915_pm_rpm@modeset-stress-extra-wait:
- shard-glk: [PASS][34] -> [DMESG-WARN][35] ([i915#118] / [i915#95])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-glk2/igt@i915_pm_rpm@modeset-stress-extra-wait.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-glk8/igt@i915_pm_rpm@modeset-stress-extra-wait.html
* igt@i915_pm_rps@waitboost:
- shard-iclb: [PASS][36] -> [FAIL][37] ([i915#413])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb7/igt@i915_pm_rps@waitboost.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb8/igt@i915_pm_rps@waitboost.html
* igt@i915_suspend@fence-restore-untiled:
- shard-apl: [PASS][38] -> [DMESG-WARN][39] ([i915#180]) +1 similar issue
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-apl1/igt@i915_suspend@fence-restore-untiled.html
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-apl6/igt@i915_suspend@fence-restore-untiled.html
* igt@kms_color@pipe-a-ctm-negative:
- shard-skl: [PASS][40] -> [DMESG-WARN][41] ([i915#109]) +1 similar issue
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-skl2/igt@kms_color@pipe-a-ctm-negative.html
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-skl7/igt@kms_color@pipe-a-ctm-negative.html
* igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-kbl: [PASS][42] -> [DMESG-WARN][43] ([i915#180]) +2 similar issues
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-kbl7/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-kbl4/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite:
- shard-tglb: [PASS][44] -> [FAIL][45] ([i915#49]) +3 similar issues
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb3/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html
* igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
- shard-skl: [PASS][46] -> [FAIL][47] ([fdo#108145])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-skl4/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-skl2/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
* igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
- shard-skl: [PASS][48] -> [FAIL][49] ([fdo#108145] / [i915#265])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-skl5/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-skl4/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
* igt@kms_psr@psr2_cursor_plane_move:
- shard-iclb: [PASS][50] -> [SKIP][51] ([fdo#109441]) +1 similar issue
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb2/igt@kms_psr@psr2_cursor_plane_move.html
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb1/igt@kms_psr@psr2_cursor_plane_move.html
* igt@prime_vgem@fence-wait-bsd2:
- shard-iclb: [PASS][52] -> [SKIP][53] ([fdo#109276]) +18 similar issues
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb4/igt@prime_vgem@fence-wait-bsd2.html
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb3/igt@prime_vgem@fence-wait-bsd2.html
#### Possible fixes ####
* igt@gem_busy@busy-vcs1:
- shard-iclb: [SKIP][54] ([fdo#112080]) -> [PASS][55] +7 similar issues
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb6/igt@gem_busy@busy-vcs1.html
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb4/igt@gem_busy@busy-vcs1.html
* igt@gem_ctx_persistence@vcs1-mixed-process:
- shard-iclb: [SKIP][56] ([fdo#109276] / [fdo#112080]) -> [PASS][57] +5 similar issues
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb6/igt@gem_ctx_persistence@vcs1-mixed-process.html
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb2/igt@gem_ctx_persistence@vcs1-mixed-process.html
* igt@gem_ctx_shared@exec-single-timeline-bsd:
- shard-iclb: [SKIP][58] ([fdo#110841]) -> [PASS][59]
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb1/igt@gem_ctx_shared@exec-single-timeline-bsd.html
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb8/igt@gem_ctx_shared@exec-single-timeline-bsd.html
* igt@gem_ctx_shared@q-smoketest-blt:
- shard-tglb: [INCOMPLETE][60] ([fdo#111735]) -> [PASS][61]
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb6/igt@gem_ctx_shared@q-smoketest-blt.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb7/igt@gem_ctx_shared@q-smoketest-blt.html
* igt@gem_eio@unwedge-stress:
- shard-tglb: [INCOMPLETE][62] ([i915#469]) -> [PASS][63]
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb6/igt@gem_eio@unwedge-stress.html
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb1/igt@gem_eio@unwedge-stress.html
* igt@gem_exec_parallel@vecs0-fds:
- shard-tglb: [INCOMPLETE][64] ([i915#472]) -> [PASS][65]
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb9/igt@gem_exec_parallel@vecs0-fds.html
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb3/igt@gem_exec_parallel@vecs0-fds.html
* igt@gem_exec_schedule@independent-bsd2:
- shard-iclb: [SKIP][66] ([fdo#109276]) -> [PASS][67] +22 similar issues
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb6/igt@gem_exec_schedule@independent-bsd2.html
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb2/igt@gem_exec_schedule@independent-bsd2.html
* igt@gem_exec_schedule@pi-distinct-iova-bsd:
- shard-iclb: [SKIP][68] ([i915#677]) -> [PASS][69]
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb1/igt@gem_exec_schedule@pi-distinct-iova-bsd.html
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb5/igt@gem_exec_schedule@pi-distinct-iova-bsd.html
* igt@gem_exec_schedule@preempt-queue-contexts-blt:
- shard-tglb: [INCOMPLETE][70] ([fdo#111606] / [fdo#111677] / [i915#472]) -> [PASS][71]
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb8/igt@gem_exec_schedule@preempt-queue-contexts-blt.html
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb7/igt@gem_exec_schedule@preempt-queue-contexts-blt.html
* igt@gem_exec_schedule@smoketest-blt:
- shard-tglb: [INCOMPLETE][72] ([i915#470] / [i915#472]) -> [PASS][73]
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb6/igt@gem_exec_schedule@smoketest-blt.html
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb1/igt@gem_exec_schedule@smoketest-blt.html
* igt@gem_exec_schedule@wide-bsd:
- shard-iclb: [SKIP][74] ([fdo#112146]) -> [PASS][75] +4 similar issues
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb2/igt@gem_exec_schedule@wide-bsd.html
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb3/igt@gem_exec_schedule@wide-bsd.html
* igt@gem_pipe_control_store_loop@reused-buffer:
- shard-tglb: [INCOMPLETE][76] ([i915#707] / [i915#796]) -> [PASS][77]
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb7/igt@gem_pipe_control_store_loop@reused-buffer.html
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb5/igt@gem_pipe_control_store_loop@reused-buffer.html
* igt@gem_ppgtt@flink-and-close-vma-leak:
- shard-glk: [FAIL][78] ([i915#644]) -> [PASS][79]
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-glk4/igt@gem_ppgtt@flink-and-close-vma-leak.html
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-glk7/igt@gem_ppgtt@flink-and-close-vma-leak.html
* igt@gem_sync@basic-each:
- shard-tglb: [INCOMPLETE][80] ([i915#472] / [i915#707]) -> [PASS][81] +1 similar issue
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb7/igt@gem_sync@basic-each.html
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb4/igt@gem_sync@basic-each.html
* igt@i915_pm_rps@min-max-config-loaded:
- shard-apl: [FAIL][82] ([i915#39]) -> [PASS][83]
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-apl3/igt@i915_pm_rps@min-max-config-loaded.html
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-apl8/igt@i915_pm_rps@min-max-config-loaded.html
* igt@i915_suspend@fence-restore-untiled:
- shard-skl: [INCOMPLETE][84] ([i915#69]) -> [PASS][85]
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-skl5/igt@i915_suspend@fence-restore-untiled.html
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-skl4/igt@i915_suspend@fence-restore-untiled.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-skl: [FAIL][86] ([IGT#5]) -> [PASS][87]
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-skl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-skl10/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-apl: [DMESG-WARN][88] ([i915#180]) -> [PASS][89]
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-apl1/igt@kms_flip@flip-vs-suspend-interruptible.html
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite:
- shard-tglb: [FAIL][90] ([i915#49]) -> [PASS][91] +1 similar issue
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
* igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
- shard-skl: [FAIL][92] ([fdo#108145]) -> [PASS][93]
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-skl2/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-skl7/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
* igt@kms_psr@psr2_suspend:
- shard-iclb: [SKIP][94] ([fdo#109441]) -> [PASS][95] +2 similar issues
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb8/igt@kms_psr@psr2_suspend.html
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb2/igt@kms_psr@psr2_suspend.html
* igt@kms_setmode@basic:
- shard-apl: [FAIL][96] ([i915#31]) -> [PASS][97]
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-apl2/igt@kms_setmode@basic.html
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-apl4/igt@kms_setmode@basic.html
* igt@kms_vblank@pipe-a-ts-continuation-suspend:
- shard-kbl: [DMESG-WARN][98] ([i915#180]) -> [PASS][99] +5 similar issues
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-kbl6/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-kbl1/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
#### Warnings ####
* igt@gem_ctx_isolation@vcs1-nonpriv:
- shard-iclb: [SKIP][100] ([fdo#109276] / [fdo#112080]) -> [FAIL][101] ([IGT#28])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb5/igt@gem_ctx_isolation@vcs1-nonpriv.html
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv.html
* igt@gem_ctx_isolation@vcs2-clean:
- shard-tglb: [SKIP][102] ([fdo#111912] / [fdo#112080]) -> [SKIP][103] ([fdo#112080])
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb1/igt@gem_ctx_isolation@vcs2-clean.html
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb9/igt@gem_ctx_isolation@vcs2-clean.html
* igt@gem_ctx_isolation@vcs2-s3:
- shard-tglb: [SKIP][104] ([fdo#112080]) -> [SKIP][105] ([fdo#111912] / [fdo#112080])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb9/igt@gem_ctx_isolation@vcs2-s3.html
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb3/igt@gem_ctx_isolation@vcs2-s3.html
* igt@gem_eio@kms:
- shard-snb: [DMESG-WARN][106] ([i915#444]) -> [INCOMPLETE][107] ([i915#82])
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-snb4/igt@gem_eio@kms.html
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-snb4/igt@gem_eio@kms.html
* igt@kms_dp_dsc@basic-dsc-enable-edp:
- shard-iclb: [DMESG-WARN][108] ([fdo#107724]) -> [SKIP][109] ([fdo#109349])
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb1/igt@kms_dp_dsc@basic-dsc-enable-edp.html
* igt@runner@aborted:
- shard-snb: ([FAIL][110], [FAIL][111]) ([i915#436] / [i915#974]) -> [FAIL][112] ([i915#974])
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-snb4/igt@runner@aborted.html
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-snb4/igt@runner@aborted.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-snb2/igt@runner@aborted.html
[IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28
[IGT#5]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/5
[fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
[fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
[fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
[fdo#111606]: https://bugs.freedesktop.org/show_bug.cgi?id=111606
[fdo#111677]: https://bugs.freedesktop.org/show_bug.cgi?id=111677
[fdo#111735]: https://bugs.freedesktop.org/show_bug.cgi?id=111735
[fdo#111736]: https://bugs.freedesktop.org/show_bug.cgi?id=111736
[fdo#111764]: https://bugs.freedesktop.org/show_bug.cgi?id=111764
[fdo#111912]: https://bugs.freedesktop.org/show_bug.cgi?id=111912
[fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
[fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
[fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
[i915#109]: https://gitlab.freedesktop.org/drm/intel/issues/109
[i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
[i915#39]: https://gitlab.freedesktop.org/drm/intel/issues/39
[i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413
[i915#436]: https://gitlab.freedesktop.org/drm/intel/issues/436
[i915#444]: https://gitlab.freedesktop.org/drm/intel/issues/444
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#463]: https://gitlab.freedesktop.org/drm/intel/issues/463
[i915#469]: https://gitlab.freedesktop.org/drm/intel/issues/469
[i915#470]: https://gitlab.freedesktop.org/drm/intel/issues/470
[i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472
[i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
[i915#520]: https://gitlab.freedesktop.org/drm/intel/issues/520
[i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644
[i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
[i915#679]: https://gitlab.freedesktop.org/drm/intel/issues/679
[i915#69]: https://gitlab.freedesktop.org/drm/intel/issues/69
[i915#707]: https://gitlab.freedesktop.org/drm/intel/issues/707
[i915#796]: https://gitlab.freedesktop.org/drm/intel/issues/796
[i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82
[i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
[i915#974]: https://gitlab.freedesktop.org/drm/intel/issues/974
Participating hosts (11 -> 10)
------------------------------
Missing (1): pig-hsw-4770r
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_7724 -> Patchwork_16066
CI-20190529: 20190529
CI_DRM_7724: da61b67ea3ce7098d2ffda9a7dcdf28b7026e6e8 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5364: b7cb6ffdb65cbd233f5ddee2f2dabf97b34fa640 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_16066: 81f56d025ad16555ab9ae8e2ab0cb6e55cc7e229 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support
2020-08-02 15:34 ` [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: " Michal Wajdeczko
@ 2020-08-02 15:56 ` Chris Wilson
0 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2020-08-02 15:56 UTC (permalink / raw)
To: Michal Wajdeczko, intel-gfx; +Cc: Jani Nikula
Quoting Michal Wajdeczko (2020-08-02 16:34:09)
> Reserving part of the GGTT for the GuC requires same steps
> as in VGT GGTT ballooning. Add generic GGTT ballooning
> helpers to intel_ggtt.c to avoid code duplication.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Xiong Zhang <xiong.y.zhang@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/gt/intel_ggtt.c | 69 ++++++++++++++++++++++------
> drivers/gpu/drm/i915/gt/intel_gtt.h | 4 ++
> drivers/gpu/drm/i915/i915_vgpu.c | 64 +++++---------------------
> 3 files changed, 70 insertions(+), 67 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt.c b/drivers/gpu/drm/i915/gt/intel_ggtt.c
> index 33a3f627ddb1..7001252b4703 100644
> --- a/drivers/gpu/drm/i915/gt/intel_ggtt.c
> +++ b/drivers/gpu/drm/i915/gt/intel_ggtt.c
> @@ -462,29 +462,17 @@ static void ggtt_unbind_vma(struct i915_address_space *vm, struct i915_vma *vma)
>
> static int ggtt_reserve_guc_top(struct i915_ggtt *ggtt)
> {
> - u64 size;
> - int ret;
> -
> if (!intel_uc_uses_guc(&ggtt->vm.gt->uc))
> return 0;
>
> GEM_BUG_ON(ggtt->vm.total <= GUC_GGTT_TOP);
> - size = ggtt->vm.total - GUC_GGTT_TOP;
> -
> - ret = i915_gem_gtt_reserve(&ggtt->vm, &ggtt->uc_fw, size,
> - GUC_GGTT_TOP, I915_COLOR_UNEVICTABLE,
> - PIN_NOEVICT);
> - if (ret)
> - drm_dbg(&ggtt->vm.i915->drm,
> - "Failed to reserve top of GGTT for GuC\n");
> -
> - return ret;
> + return i915_ggtt_balloon(ggtt, GUC_GGTT_TOP, ggtt->vm.total,
> + &ggtt->uc_fw);
I still don't buy this, this is definitely not "ballooning". And I'm yet
to be convinced that ballooning is a central concept to the i915_ggtt
itself and not a client coordination facility on top.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support
2020-08-02 15:34 [Intel-gfx] [PATCH 0/2] " Michal Wajdeczko
@ 2020-08-02 15:34 ` Michal Wajdeczko
2020-08-02 15:56 ` Chris Wilson
0 siblings, 1 reply; 6+ messages in thread
From: Michal Wajdeczko @ 2020-08-02 15:34 UTC (permalink / raw)
To: intel-gfx; +Cc: Jani Nikula, Chris Wilson
Reserving part of the GGTT for the GuC requires same steps
as in VGT GGTT ballooning. Add generic GGTT ballooning
helpers to intel_ggtt.c to avoid code duplication.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Xiong Zhang <xiong.y.zhang@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/gt/intel_ggtt.c | 69 ++++++++++++++++++++++------
drivers/gpu/drm/i915/gt/intel_gtt.h | 4 ++
drivers/gpu/drm/i915/i915_vgpu.c | 64 +++++---------------------
3 files changed, 70 insertions(+), 67 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt.c b/drivers/gpu/drm/i915/gt/intel_ggtt.c
index 33a3f627ddb1..7001252b4703 100644
--- a/drivers/gpu/drm/i915/gt/intel_ggtt.c
+++ b/drivers/gpu/drm/i915/gt/intel_ggtt.c
@@ -462,29 +462,17 @@ static void ggtt_unbind_vma(struct i915_address_space *vm, struct i915_vma *vma)
static int ggtt_reserve_guc_top(struct i915_ggtt *ggtt)
{
- u64 size;
- int ret;
-
if (!intel_uc_uses_guc(&ggtt->vm.gt->uc))
return 0;
GEM_BUG_ON(ggtt->vm.total <= GUC_GGTT_TOP);
- size = ggtt->vm.total - GUC_GGTT_TOP;
-
- ret = i915_gem_gtt_reserve(&ggtt->vm, &ggtt->uc_fw, size,
- GUC_GGTT_TOP, I915_COLOR_UNEVICTABLE,
- PIN_NOEVICT);
- if (ret)
- drm_dbg(&ggtt->vm.i915->drm,
- "Failed to reserve top of GGTT for GuC\n");
-
- return ret;
+ return i915_ggtt_balloon(ggtt, GUC_GGTT_TOP, ggtt->vm.total,
+ &ggtt->uc_fw);
}
static void ggtt_release_guc_top(struct i915_ggtt *ggtt)
{
- if (drm_mm_node_allocated(&ggtt->uc_fw))
- drm_mm_remove_node(&ggtt->uc_fw);
+ i915_ggtt_deballoon(ggtt, &ggtt->uc_fw);
}
static void cleanup_init_ggtt(struct i915_ggtt *ggtt)
@@ -1464,3 +1452,54 @@ i915_get_ggtt_vma_pages(struct i915_vma *vma)
}
return ret;
}
+
+/**
+ * i915_ggtt_balloon - reserve fixed space in an GGTT
+ * @ggtt: the &struct i915_ggtt
+ * @start: start offset inside the GGTT,
+ * must be #I915_GTT_MIN_ALIGNMENT aligned
+ * @end: end offset inside the GGTT,
+ * must be #I915_GTT_PAGE_SIZE aligned
+ * @node: the &struct drm_mm_node
+ *
+ * i915_ggtt_balloon() tries to reserve the @node from @start to @end inside
+ * GGTT the address space.
+ *
+ * Returns: 0 on success, -ENOSPC if no suitable hole is found.
+ */
+int i915_ggtt_balloon(struct i915_ggtt *ggtt, u64 start, u64 end,
+ struct drm_mm_node *node)
+{
+ u64 size = end - start;
+ int err;
+
+ GEM_BUG_ON(start >= end);
+ drm_dbg(&ggtt->vm.i915->drm, "%sGGTT [%#llx-%#llx] %lluK\n",
+ "ballooning ", start, end, size / SZ_1K);
+
+ err = i915_gem_gtt_reserve(&ggtt->vm, node, size, start,
+ I915_COLOR_UNEVICTABLE, PIN_NOEVICT);
+ if (unlikely(err)) {
+ drm_err(&ggtt->vm.i915->drm, "%sGGTT [%#llx-%#llx] %lluK\n",
+ "Failed to balloon ", node->start,
+ node->start + node->size, node->size / SZ_1K);
+ return err;
+ }
+
+ ggtt->vm.reserved += node->size;
+ return 0;
+}
+
+void i915_ggtt_deballoon(struct i915_ggtt *ggtt, struct drm_mm_node *node)
+{
+ if (!drm_mm_node_allocated(node))
+ return;
+
+ drm_dbg(&ggtt->vm.i915->drm, "%sGGTT [%#llx-%#llx] %lluK\n",
+ "deballooning ", node->start, node->start + node->size,
+ node->size / SZ_1K);
+
+ GEM_BUG_ON(ggtt->vm.reserved < node->size);
+ ggtt->vm.reserved -= node->size;
+ drm_mm_remove_node(node);
+}
diff --git a/drivers/gpu/drm/i915/gt/intel_gtt.h b/drivers/gpu/drm/i915/gt/intel_gtt.h
index c13c650ced22..111306f2f8d6 100644
--- a/drivers/gpu/drm/i915/gt/intel_gtt.h
+++ b/drivers/gpu/drm/i915/gt/intel_gtt.h
@@ -495,6 +495,10 @@ static inline bool i915_ggtt_has_aperture(const struct i915_ggtt *ggtt)
return ggtt->mappable_end > 0;
}
+int i915_ggtt_balloon(struct i915_ggtt *ggtt, u64 start, u64 end,
+ struct drm_mm_node *node);
+void i915_ggtt_deballoon(struct i915_ggtt *ggtt, struct drm_mm_node *node);
+
int i915_ppgtt_init_hw(struct intel_gt *gt);
struct i915_ppgtt *i915_ppgtt_create(struct intel_gt *gt);
diff --git a/drivers/gpu/drm/i915/i915_vgpu.c b/drivers/gpu/drm/i915/i915_vgpu.c
index 70fca72f5162..f505142d6dfc 100644
--- a/drivers/gpu/drm/i915/i915_vgpu.c
+++ b/drivers/gpu/drm/i915/i915_vgpu.c
@@ -145,23 +145,6 @@ struct _balloon_info_ {
static struct _balloon_info_ bl_info;
-static void vgt_deballoon_space(struct i915_ggtt *ggtt,
- struct drm_mm_node *node)
-{
- struct drm_i915_private *dev_priv = ggtt->vm.i915;
- if (!drm_mm_node_allocated(node))
- return;
-
- drm_dbg(&dev_priv->drm,
- "deballoon space: range [0x%llx - 0x%llx] %llu KiB.\n",
- node->start,
- node->start + node->size,
- node->size / 1024);
-
- ggtt->vm.reserved -= node->size;
- drm_mm_remove_node(node);
-}
-
/**
* intel_vgt_deballoon - deballoon reserved graphics address trunks
* @ggtt: the global GGTT from which we reserved earlier
@@ -180,30 +163,7 @@ void intel_vgt_deballoon(struct i915_ggtt *ggtt)
drm_dbg(&dev_priv->drm, "VGT deballoon.\n");
for (i = 0; i < 4; i++)
- vgt_deballoon_space(ggtt, &bl_info.space[i]);
-}
-
-static int vgt_balloon_space(struct i915_ggtt *ggtt,
- struct drm_mm_node *node,
- unsigned long start, unsigned long end)
-{
- struct drm_i915_private *dev_priv = ggtt->vm.i915;
- unsigned long size = end - start;
- int ret;
-
- if (start >= end)
- return -EINVAL;
-
- drm_info(&dev_priv->drm,
- "balloon space: range [ 0x%lx - 0x%lx ] %lu KiB.\n",
- start, end, size / 1024);
- ret = i915_gem_gtt_reserve(&ggtt->vm, node,
- size, start, I915_COLOR_UNEVICTABLE,
- 0);
- if (!ret)
- ggtt->vm.reserved += size;
-
- return ret;
+ i915_ggtt_deballoon(ggtt, &bl_info.space[i]);
}
/**
@@ -292,32 +252,32 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt)
/* Unmappable graphic memory ballooning */
if (unmappable_base > ggtt->mappable_end) {
- ret = vgt_balloon_space(ggtt, &bl_info.space[2],
- ggtt->mappable_end, unmappable_base);
+ ret = i915_ggtt_balloon(ggtt, ggtt->mappable_end,
+ unmappable_base, &bl_info.space[2]);
if (ret)
goto err;
}
if (unmappable_end < ggtt_end) {
- ret = vgt_balloon_space(ggtt, &bl_info.space[3],
- unmappable_end, ggtt_end);
+ ret = i915_ggtt_balloon(ggtt, unmappable_end, ggtt_end,
+ &bl_info.space[3]);
if (ret)
goto err_upon_mappable;
}
/* Mappable graphic memory ballooning */
if (mappable_base) {
- ret = vgt_balloon_space(ggtt, &bl_info.space[0],
- 0, mappable_base);
+ ret = i915_ggtt_balloon(ggtt, 0, mappable_base,
+ &bl_info.space[0]);
if (ret)
goto err_upon_unmappable;
}
if (mappable_end < ggtt->mappable_end) {
- ret = vgt_balloon_space(ggtt, &bl_info.space[1],
- mappable_end, ggtt->mappable_end);
+ ret = i915_ggtt_balloon(ggtt, mappable_end, ggtt->mappable_end,
+ &bl_info.space[1]);
if (ret)
goto err_below_mappable;
@@ -327,11 +287,11 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt)
return 0;
err_below_mappable:
- vgt_deballoon_space(ggtt, &bl_info.space[0]);
+ i915_ggtt_deballoon(ggtt, &bl_info.space[0]);
err_upon_unmappable:
- vgt_deballoon_space(ggtt, &bl_info.space[3]);
+ i915_ggtt_deballoon(ggtt, &bl_info.space[3]);
err_upon_mappable:
- vgt_deballoon_space(ggtt, &bl_info.space[2]);
+ i915_ggtt_deballoon(ggtt, &bl_info.space[2]);
err:
drm_err(&dev_priv->drm, "VGT balloon fail\n");
return ret;
--
2.27.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-08-02 15:56 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-11 17:36 [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support Michal Wajdeczko
2020-01-11 17:36 ` [Intel-gfx] [PATCH 2/2] drm/i915/vgt: Move VGT GGTT ballooning nodes to i915_ggtt Michal Wajdeczko
2020-01-11 18:41 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support Patchwork
2020-01-15 2:51 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2020-08-02 15:34 [Intel-gfx] [PATCH 0/2] " Michal Wajdeczko
2020-08-02 15:34 ` [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: " Michal Wajdeczko
2020-08-02 15:56 ` Chris Wilson
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.