All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Split out GTT fault handler to make it generic
@ 2019-06-04 10:37 Abdiel Janulgue
  2019-06-04 11:00 ` Chris Wilson
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Abdiel Janulgue @ 2019-06-04 10:37 UTC (permalink / raw)
  To: intel-gfx; +Cc: Matthew Auld

Allow reuse of the fault-handling code in preparation for having
multiple fault handlers depending on the mmaping type and backing
storage.

Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_mman.c | 208 ++++++++++++++---------
 1 file changed, 132 insertions(+), 76 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
index c7b9b34de01b..ed20fab66d2f 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
@@ -197,6 +197,133 @@ compute_partial_view(const struct drm_i915_gem_object *obj,
 	return view;
 }
 
+struct gem_object_fault {
+	struct drm_i915_gem_object *obj;
+	pgoff_t page_offset;
+	intel_wakeref_t wakeref;
+	int srcu;
+	bool pin_vma;
+	vm_fault_t error_ret;
+};
+
+static vm_fault_t __vm_fault_from_error(struct drm_i915_private *i915,
+					int fault_ret)
+{
+	switch (fault_ret) {
+	case -EIO:
+		/*
+		 * We eat errors when the gpu is terminally wedged to avoid
+		 * userspace unduly crashing (gl has no provisions for mmaps to
+		 * fail). But any other -EIO isn't ours (e.g. swap in failure)
+		 * and so needs to be reported.
+		 */
+		if (!i915_terminally_wedged(i915))
+			return VM_FAULT_SIGBUS;
+		/* else: fall through */
+	case -EAGAIN:
+		/*
+		 * EAGAIN means the gpu is hung and we'll wait for the error
+		 * handler to reset everything when re-faulting in
+		 * i915_mutex_lock_interruptible.
+		 */
+	case 0:
+	case -ERESTARTSYS:
+	case -EINTR:
+	case -EBUSY:
+		/*
+		 * EBUSY is ok: this just means that another thread
+		 * already did the job.
+		 */
+		return VM_FAULT_NOPAGE;
+	case -ENOMEM:
+		return VM_FAULT_OOM;
+	case -ENOSPC:
+	case -EFAULT:
+		return VM_FAULT_SIGBUS;
+	default:
+		WARN_ONCE(fault_ret, "unhandled error in %s: %i\n", __func__,
+			  fault_ret);
+		return VM_FAULT_SIGBUS;
+	}
+}
+
+static int __prepare_object_fault(struct vm_fault *vmf,
+				  bool pin_vma,
+				  struct gem_object_fault *f)
+{
+	struct vm_area_struct *area = vmf->vma;
+	struct drm_i915_gem_object *obj = to_intel_bo(area->vm_private_data);
+	struct drm_device *dev = obj->base.dev;
+	struct drm_i915_private *dev_priv = to_i915(dev);
+	bool write = area->vm_flags & VM_WRITE;
+	int ret;
+
+	/* Sanity check that we allow writing into this object */
+	if (i915_gem_object_is_readonly(obj) && write) {
+		f->error_ret = VM_FAULT_SIGBUS;
+		return -EACCES;
+	}
+
+	f->obj = obj;
+	/* We don't use vmf->pgoff since that has the fake offset */
+	f->page_offset = (vmf->address - area->vm_start) >> PAGE_SHIFT;
+
+	trace_i915_gem_object_fault(obj, f->page_offset, true, write);
+
+	ret = i915_gem_object_pin_pages(obj);
+	if (ret)
+		goto err;
+
+	f->wakeref = intel_runtime_pm_get(dev_priv);
+
+	f->srcu = i915_reset_trylock(dev_priv);
+	if (f->srcu < 0) {
+		ret = f->srcu;
+		goto err_rpm;
+	}
+
+	f->pin_vma = pin_vma;
+	if (f->pin_vma) {
+		ret = i915_mutex_lock_interruptible(dev);
+		if (ret)
+			goto err_reset;
+	}
+
+	/* Access to snoopable pages through the GTT is incoherent. */
+	if (obj->cache_level != I915_CACHE_NONE && !HAS_LLC(dev_priv)) {
+		ret = -EFAULT;
+		goto err_unlock;
+	}
+
+	return 0;
+
+err_unlock:
+	if (f->pin_vma)
+		mutex_unlock(&dev->struct_mutex);
+err_reset:
+	i915_reset_unlock(dev_priv, f->srcu);
+err_rpm:
+	intel_runtime_pm_put(dev_priv, f->wakeref);
+	i915_gem_object_unpin_pages(obj);
+err:
+	f->error_ret = __vm_fault_from_error(dev_priv, ret);
+	return ret;
+}
+
+static vm_fault_t __object_fault_fini(int fault_ret, struct gem_object_fault *f)
+{
+	struct drm_device *dev = f->obj->base.dev;
+	struct drm_i915_private *dev_priv = to_i915(dev);
+
+	if (f->pin_vma)
+		mutex_unlock(&dev->struct_mutex);
+	i915_reset_unlock(dev_priv, f->srcu);
+	intel_runtime_pm_put(dev_priv, f->wakeref);
+	i915_gem_object_unpin_pages(f->obj);
+
+	return __vm_fault_from_error(dev_priv, fault_ret);
+}
+
 /**
  * i915_gem_fault - fault a page into the GTT
  * @vmf: fault info
@@ -223,43 +350,13 @@ vm_fault_t i915_gem_fault(struct vm_fault *vmf)
 	struct drm_device *dev = obj->base.dev;
 	struct drm_i915_private *i915 = to_i915(dev);
 	struct i915_ggtt *ggtt = &i915->ggtt;
-	bool write = area->vm_flags & VM_WRITE;
-	intel_wakeref_t wakeref;
 	struct i915_vma *vma;
 	pgoff_t page_offset;
-	int srcu;
+	struct gem_object_fault fault;
 	int ret;
 
-	/* Sanity check that we allow writing into this object */
-	if (i915_gem_object_is_readonly(obj) && write)
-		return VM_FAULT_SIGBUS;
-
-	/* We don't use vmf->pgoff since that has the fake offset */
-	page_offset = (vmf->address - area->vm_start) >> PAGE_SHIFT;
-
-	trace_i915_gem_object_fault(obj, page_offset, true, write);
-
-	ret = i915_gem_object_pin_pages(obj);
-	if (ret)
-		goto err;
-
-	wakeref = intel_runtime_pm_get(i915);
-
-	srcu = i915_reset_trylock(i915);
-	if (srcu < 0) {
-		ret = srcu;
-		goto err_rpm;
-	}
-
-	ret = i915_mutex_lock_interruptible(dev);
-	if (ret)
-		goto err_reset;
-
-	/* Access to snoopable pages through the GTT is incoherent. */
-	if (obj->cache_level != I915_CACHE_NONE && !HAS_LLC(i915)) {
-		ret = -EFAULT;
-		goto err_unlock;
-	}
+	if (__prepare_object_fault(vmf, true, &fault))
+		return fault.error_ret;
 
 	/* Now pin it into the GTT as needed */
 	vma = i915_gem_object_ggtt_pin(obj, NULL, 0, 0,
@@ -291,7 +388,7 @@ vm_fault_t i915_gem_fault(struct vm_fault *vmf)
 	}
 	if (IS_ERR(vma)) {
 		ret = PTR_ERR(vma);
-		goto err_unlock;
+		goto err;
 	}
 
 	ret = i915_vma_pin_fence(vma);
@@ -322,49 +419,8 @@ vm_fault_t i915_gem_fault(struct vm_fault *vmf)
 	i915_vma_unpin_fence(vma);
 err_unpin:
 	__i915_vma_unpin(vma);
-err_unlock:
-	mutex_unlock(&dev->struct_mutex);
-err_reset:
-	i915_reset_unlock(i915, srcu);
-err_rpm:
-	intel_runtime_pm_put(i915, wakeref);
-	i915_gem_object_unpin_pages(obj);
 err:
-	switch (ret) {
-	case -EIO:
-		/*
-		 * We eat errors when the gpu is terminally wedged to avoid
-		 * userspace unduly crashing (gl has no provisions for mmaps to
-		 * fail). But any other -EIO isn't ours (e.g. swap in failure)
-		 * and so needs to be reported.
-		 */
-		if (!i915_terminally_wedged(i915))
-			return VM_FAULT_SIGBUS;
-		/* else: fall through */
-	case -EAGAIN:
-		/*
-		 * EAGAIN means the gpu is hung and we'll wait for the error
-		 * handler to reset everything when re-faulting in
-		 * i915_mutex_lock_interruptible.
-		 */
-	case 0:
-	case -ERESTARTSYS:
-	case -EINTR:
-	case -EBUSY:
-		/*
-		 * EBUSY is ok: this just means that another thread
-		 * already did the job.
-		 */
-		return VM_FAULT_NOPAGE;
-	case -ENOMEM:
-		return VM_FAULT_OOM;
-	case -ENOSPC:
-	case -EFAULT:
-		return VM_FAULT_SIGBUS;
-	default:
-		WARN_ONCE(ret, "unhandled error in %s: %i\n", __func__, ret);
-		return VM_FAULT_SIGBUS;
-	}
+	return __object_fault_fini(ret, &fault);
 }
 
 void __i915_gem_object_release_mmap(struct drm_i915_gem_object *obj)
-- 
2.19.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/i915: Split out GTT fault handler to make it generic
  2019-06-04 10:37 [PATCH] drm/i915: Split out GTT fault handler to make it generic Abdiel Janulgue
@ 2019-06-04 11:00 ` Chris Wilson
  2019-06-04 11:20   ` Abdiel Janulgue
  2019-06-04 11:28 ` ✓ Fi.CI.BAT: success for " Patchwork
  2019-06-04 20:24 ` ✗ Fi.CI.IGT: failure " Patchwork
  2 siblings, 1 reply; 5+ messages in thread
From: Chris Wilson @ 2019-06-04 11:00 UTC (permalink / raw)
  To: Abdiel Janulgue, intel-gfx; +Cc: Matthew Auld

Quoting Abdiel Janulgue (2019-06-04 11:37:23)
> Allow reuse of the fault-handling code in preparation for having
> multiple fault handlers depending on the mmaping type and backing
> storage.
> 
> Cc: Matthew Auld <matthew.auld@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> 
> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/gem/i915_gem_mman.c | 208 ++++++++++++++---------
>  1 file changed, 132 insertions(+), 76 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
> index c7b9b34de01b..ed20fab66d2f 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
> @@ -197,6 +197,133 @@ compute_partial_view(const struct drm_i915_gem_object *obj,
>         return view;
>  }
>  
> +struct gem_object_fault {
> +       struct drm_i915_gem_object *obj;
> +       pgoff_t page_offset;
> +       intel_wakeref_t wakeref;
> +       int srcu;
> +       bool pin_vma;
> +       vm_fault_t error_ret;
> +};
> +
> +static vm_fault_t __vm_fault_from_error(struct drm_i915_private *i915,
> +                                       int fault_ret)
> +{
> +       switch (fault_ret) {
> +       case -EIO:
> +               /*
> +                * We eat errors when the gpu is terminally wedged to avoid
> +                * userspace unduly crashing (gl has no provisions for mmaps to
> +                * fail). But any other -EIO isn't ours (e.g. swap in failure)
> +                * and so needs to be reported.
> +                */
> +               if (!i915_terminally_wedged(i915))
> +                       return VM_FAULT_SIGBUS;
> +               /* else: fall through */
> +       case -EAGAIN:
> +               /*
> +                * EAGAIN means the gpu is hung and we'll wait for the error
> +                * handler to reset everything when re-faulting in
> +                * i915_mutex_lock_interruptible.
> +                */
> +       case 0:
> +       case -ERESTARTSYS:
> +       case -EINTR:
> +       case -EBUSY:
> +               /*
> +                * EBUSY is ok: this just means that another thread
> +                * already did the job.
> +                */
> +               return VM_FAULT_NOPAGE;
> +       case -ENOMEM:
> +               return VM_FAULT_OOM;
> +       case -ENOSPC:
> +       case -EFAULT:
> +               return VM_FAULT_SIGBUS;
> +       default:
> +               WARN_ONCE(fault_ret, "unhandled error in %s: %i\n", __func__,
> +                         fault_ret);
> +               return VM_FAULT_SIGBUS;
> +       }
> +}
> +
> +static int __prepare_object_fault(struct vm_fault *vmf,
> +                                 bool pin_vma,
> +                                 struct gem_object_fault *f)
> +{
> +       struct vm_area_struct *area = vmf->vma;
> +       struct drm_i915_gem_object *obj = to_intel_bo(area->vm_private_data);
> +       struct drm_device *dev = obj->base.dev;
> +       struct drm_i915_private *dev_priv = to_i915(dev);
> +       bool write = area->vm_flags & VM_WRITE;
> +       int ret;
> +
> +       /* Sanity check that we allow writing into this object */
> +       if (i915_gem_object_is_readonly(obj) && write) {
> +               f->error_ret = VM_FAULT_SIGBUS;
> +               return -EACCES;
> +       }
> +
> +       f->obj = obj;
> +       /* We don't use vmf->pgoff since that has the fake offset */
> +       f->page_offset = (vmf->address - area->vm_start) >> PAGE_SHIFT;
> +
> +       trace_i915_gem_object_fault(obj, f->page_offset, true, write);
> +
> +       ret = i915_gem_object_pin_pages(obj);
> +       if (ret)
> +               goto err;
> +
> +       f->wakeref = intel_runtime_pm_get(dev_priv);

Not every path requires the device reset.

> +
> +       f->srcu = i915_reset_trylock(dev_priv);

Not every path requires interaction with reset handling.

> +       if (f->srcu < 0) {
> +               ret = f->srcu;
> +               goto err_rpm;
> +       }
> +
> +       f->pin_vma = pin_vma;
> +       if (f->pin_vma) {
> +               ret = i915_mutex_lock_interruptible(dev);

Bah.

> +               if (ret)
> +                       goto err_reset;
> +       }
> +
> +       /* Access to snoopable pages through the GTT is incoherent. */
> +       if (obj->cache_level != I915_CACHE_NONE && !HAS_LLC(dev_priv)) {

And that is very, very specific to one path.

From the sampling here, this is not generic preamble.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/i915: Split out GTT fault handler to make it generic
  2019-06-04 11:00 ` Chris Wilson
@ 2019-06-04 11:20   ` Abdiel Janulgue
  0 siblings, 0 replies; 5+ messages in thread
From: Abdiel Janulgue @ 2019-06-04 11:20 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx; +Cc: Matthew Auld



On 06/04/2019 02:00 PM, Chris Wilson wrote:

>> +
>> +       /* Access to snoopable pages through the GTT is incoherent. */
>> +       if (obj->cache_level != I915_CACHE_NONE && !HAS_LLC(dev_priv)) {
> 
> And that is very, very specific to one path.
> 
Oops, yep that should be gtt-fault specific


> From the sampling here, this is not generic preamble.
> -Chris
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915: Split out GTT fault handler to make it generic
  2019-06-04 10:37 [PATCH] drm/i915: Split out GTT fault handler to make it generic Abdiel Janulgue
  2019-06-04 11:00 ` Chris Wilson
@ 2019-06-04 11:28 ` Patchwork
  2019-06-04 20:24 ` ✗ Fi.CI.IGT: failure " Patchwork
  2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2019-06-04 11:28 UTC (permalink / raw)
  To: Abdiel Janulgue; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Split out GTT fault handler to make it generic
URL   : https://patchwork.freedesktop.org/series/61573/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6184 -> Patchwork_13165
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/

Known issues
------------

  Here are the changes found in Patchwork_13165 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live_contexts:
    - fi-bdw-gvtdvm:      [PASS][1] -> [DMESG-FAIL][2] ([fdo#110235])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html

  
#### Possible fixes ####

  * igt@gem_close_race@basic-process:
    - fi-icl-u3:          [DMESG-WARN][3] ([fdo#107724]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/fi-icl-u3/igt@gem_close_race@basic-process.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/fi-icl-u3/igt@gem_close_race@basic-process.html

  * igt@gem_ctx_create@basic-files:
    - fi-icl-u3:          [INCOMPLETE][5] ([fdo#107713] / [fdo#109100]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/fi-icl-u3/igt@gem_ctx_create@basic-files.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/fi-icl-u3/igt@gem_ctx_create@basic-files.html

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-blb-e6850:       [INCOMPLETE][7] ([fdo#107718]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/fi-blb-e6850/igt@gem_exec_suspend@basic-s4-devices.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/fi-blb-e6850/igt@gem_exec_suspend@basic-s4-devices.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-icl-u2:          [FAIL][9] ([fdo#103167]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235


Participating hosts (55 -> 46)
------------------------------

  Missing    (9): fi-ilk-m540 fi-hsw-4200u fi-bsw-n3050 fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-kbl-7560u fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * Linux: CI_DRM_6184 -> Patchwork_13165

  CI_DRM_6184: 99ffea268c69399f2936c08ef809b5f8c3485d8b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5034: 0caa0063fa86133464e3f3822ad39678be3e9bcd @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13165: 3cecd3d113839feab81ed8b3749fde56fc8c54a3 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

3cecd3d11383 drm/i915: Split out GTT fault handler to make it generic

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* ✗ Fi.CI.IGT: failure for drm/i915: Split out GTT fault handler to make it generic
  2019-06-04 10:37 [PATCH] drm/i915: Split out GTT fault handler to make it generic Abdiel Janulgue
  2019-06-04 11:00 ` Chris Wilson
  2019-06-04 11:28 ` ✓ Fi.CI.BAT: success for " Patchwork
@ 2019-06-04 20:24 ` Patchwork
  2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2019-06-04 20:24 UTC (permalink / raw)
  To: Abdiel Janulgue; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Split out GTT fault handler to make it generic
URL   : https://patchwork.freedesktop.org/series/61573/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6184_full -> Patchwork_13165_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_13165_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13165_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_13165_full:

### IGT changes ###

#### Possible regressions ####

  * igt@gem_mmap_gtt@big-copy:
    - shard-hsw:          [PASS][1] -> [TIMEOUT][2] +16 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-hsw7/igt@gem_mmap_gtt@big-copy.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-hsw7/igt@gem_mmap_gtt@big-copy.html

  * igt@gem_mmap_gtt@forked-basic-small-copy-odd:
    - shard-snb:          [PASS][3] -> [TIMEOUT][4] +17 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-snb6/igt@gem_mmap_gtt@forked-basic-small-copy-odd.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-snb2/igt@gem_mmap_gtt@forked-basic-small-copy-odd.html

  * igt@gem_mmap_gtt@forked-big-copy:
    - shard-apl:          [PASS][5] -> [TIMEOUT][6] +11 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-apl2/igt@gem_mmap_gtt@forked-big-copy.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-apl2/igt@gem_mmap_gtt@forked-big-copy.html
    - shard-glk:          [PASS][7] -> [TIMEOUT][8] +13 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-glk3/igt@gem_mmap_gtt@forked-big-copy.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-glk9/igt@gem_mmap_gtt@forked-big-copy.html
    - shard-skl:          [PASS][9] -> [INCOMPLETE][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-skl3/igt@gem_mmap_gtt@forked-big-copy.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-skl2/igt@gem_mmap_gtt@forked-big-copy.html

  * igt@gem_mmap_gtt@forked-big-copy-xy:
    - shard-kbl:          [PASS][11] -> [TIMEOUT][12] +17 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-kbl2/igt@gem_mmap_gtt@forked-big-copy-xy.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-kbl4/igt@gem_mmap_gtt@forked-big-copy-xy.html
    - shard-apl:          NOTRUN -> [TIMEOUT][13] +1 similar issue
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-apl3/igt@gem_mmap_gtt@forked-big-copy-xy.html

  * igt@gem_mmap_gtt@medium-copy:
    - shard-skl:          [PASS][14] -> [TIMEOUT][15] +16 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-skl5/igt@gem_mmap_gtt@medium-copy.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-skl7/igt@gem_mmap_gtt@medium-copy.html

  

### Piglit changes ###

#### Possible regressions ####

  * spec@!opengl 1.1@max-texture-size (NEW):
    - {pig-snb-2600}:     NOTRUN -> [INCOMPLETE][16] +1 similar issue
   [16]: None
    - pig-hsw-4770r:      NOTRUN -> [INCOMPLETE][17] +1 similar issue
   [17]: None

  * spec@!opengl 1.2@tex3d-maxsize (NEW):
    - pig-glk-j5005:      NOTRUN -> [INCOMPLETE][18]
   [18]: None
    - pig-skl-6260u:      NOTRUN -> [INCOMPLETE][19]
   [19]: None

  
New tests
---------

  New tests have been introduced between CI_DRM_6184_full and Patchwork_13165_full:

### New Piglit tests (2) ###

  * spec@!opengl 1.1@max-texture-size:
    - Statuses : 2 incomplete(s)
    - Exec time: [0.0] s

  * spec@!opengl 1.2@tex3d-maxsize:
    - Statuses : 4 incomplete(s)
    - Exec time: [0.0] s

  

Known issues
------------

  Here are the changes found in Patchwork_13165_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@rcs0-s3:
    - shard-apl:          [PASS][20] -> [DMESG-WARN][21] ([fdo#108566]) +2 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-apl3/igt@gem_ctx_isolation@rcs0-s3.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-apl1/igt@gem_ctx_isolation@rcs0-s3.html

  * igt@gem_mmap_gtt@big-bo-tiledy:
    - shard-iclb:         [PASS][22] -> [TIMEOUT][23] ([fdo#109673]) +8 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-iclb4/igt@gem_mmap_gtt@big-bo-tiledy.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-iclb2/igt@gem_mmap_gtt@big-bo-tiledy.html

  * igt@gem_mmap_gtt@big-copy:
    - shard-iclb:         [PASS][24] -> [INCOMPLETE][25] ([fdo#107713] / [fdo#109100]) +1 similar issue
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-iclb5/igt@gem_mmap_gtt@big-copy.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-iclb7/igt@gem_mmap_gtt@big-copy.html

  * igt@gem_mmap_gtt@big-copy-odd:
    - shard-hsw:          [PASS][26] -> [INCOMPLETE][27] ([fdo#103540])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-hsw5/igt@gem_mmap_gtt@big-copy-odd.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-hsw5/igt@gem_mmap_gtt@big-copy-odd.html

  * igt@gem_mmap_gtt@forked-basic-small-copy-xy:
    - shard-iclb:         [PASS][28] -> [INCOMPLETE][29] ([fdo#107713]) +2 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-iclb2/igt@gem_mmap_gtt@forked-basic-small-copy-xy.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-iclb2/igt@gem_mmap_gtt@forked-basic-small-copy-xy.html

  * igt@gem_mmap_gtt@forked-big-copy-odd:
    - shard-apl:          [PASS][30] -> [INCOMPLETE][31] ([fdo#103927]) +3 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-apl4/igt@gem_mmap_gtt@forked-big-copy-odd.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-apl5/igt@gem_mmap_gtt@forked-big-copy-odd.html

  * igt@gem_softpin@noreloc-s3:
    - shard-skl:          [PASS][32] -> [INCOMPLETE][33] ([fdo#104108])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-skl2/igt@gem_softpin@noreloc-s3.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-skl4/igt@gem_softpin@noreloc-s3.html

  * igt@kms_flip_tiling@flip-changes-tiling-y:
    - shard-glk:          [PASS][34] -> [INCOMPLETE][35] ([fdo#103359] / [k.org#198133]) +1 similar issue
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-glk1/igt@kms_flip_tiling@flip-changes-tiling-y.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-glk7/igt@kms_flip_tiling@flip-changes-tiling-y.html

  * igt@kms_flip_tiling@flip-x-tiled:
    - shard-iclb:         [PASS][36] -> [FAIL][37] ([fdo#108303])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-iclb4/igt@kms_flip_tiling@flip-x-tiled.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-iclb8/igt@kms_flip_tiling@flip-x-tiled.html

  * igt@kms_frontbuffer_tracking@fbc-badstride:
    - shard-iclb:         [PASS][38] -> [FAIL][39] ([fdo#103167]) +1 similar issue
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-badstride.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-badstride.html

  * igt@kms_frontbuffer_tracking@psr-suspend:
    - shard-iclb:         [PASS][40] -> [FAIL][41] ([fdo#109247]) +3 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-iclb2/igt@kms_frontbuffer_tracking@psr-suspend.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-iclb2/igt@kms_frontbuffer_tracking@psr-suspend.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
    - shard-skl:          [PASS][42] -> [FAIL][43] ([fdo#108145])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-skl9/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-skl5/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [PASS][44] -> [FAIL][45] ([fdo#108145] / [fdo#110403])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-skl3/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-skl1/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_psr@suspend:
    - shard-iclb:         [PASS][46] -> [FAIL][47] ([fdo#107383] / [fdo#110215]) +1 similar issue
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-iclb2/igt@kms_psr@suspend.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-iclb2/igt@kms_psr@suspend.html

  * igt@kms_setmode@basic:
    - shard-apl:          [PASS][48] -> [FAIL][49] ([fdo#99912])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-apl4/igt@kms_setmode@basic.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-apl8/igt@kms_setmode@basic.html

  
#### Possible fixes ####

  * igt@gem_workarounds@suspend-resume-context:
    - shard-apl:          [DMESG-WARN][50] ([fdo#108566]) -> [PASS][51] +4 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-apl7/igt@gem_workarounds@suspend-resume-context.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-apl6/igt@gem_workarounds@suspend-resume-context.html

  * igt@kms_cursor_crc@pipe-b-cursor-size-change:
    - shard-snb:          [SKIP][52] ([fdo#109271]) -> [PASS][53] +1 similar issue
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-snb7/igt@kms_cursor_crc@pipe-b-cursor-size-change.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-snb5/igt@kms_cursor_crc@pipe-b-cursor-size-change.html

  * igt@kms_cursor_edge_walk@pipe-a-256x256-top-edge:
    - shard-snb:          [SKIP][54] ([fdo#109271] / [fdo#109278]) -> [PASS][55]
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-snb7/igt@kms_cursor_edge_walk@pipe-a-256x256-top-edge.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-snb5/igt@kms_cursor_edge_walk@pipe-a-256x256-top-edge.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render:
    - shard-skl:          [FAIL][56] ([fdo#103167]) -> [PASS][57]
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-skl7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-skl5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
    - shard-iclb:         [FAIL][58] ([fdo#103167]) -> [PASS][59] +5 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tilingchange:
    - shard-skl:          [FAIL][60] ([fdo#108040]) -> [PASS][61]
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-skl7/igt@kms_frontbuffer_tracking@fbcpsr-tilingchange.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-skl5/igt@kms_frontbuffer_tracking@fbcpsr-tilingchange.html

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
    - shard-skl:          [FAIL][62] ([fdo#108145]) -> [PASS][63]
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-skl7/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-skl5/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
    - shard-skl:          [FAIL][64] ([fdo#108145] / [fdo#110403]) -> [PASS][65]
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-skl1/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-skl4/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html

  * igt@kms_psr2_su@frontbuffer:
    - shard-iclb:         [SKIP][66] ([fdo#109642]) -> [PASS][67]
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-iclb4/igt@kms_psr2_su@frontbuffer.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-iclb2/igt@kms_psr2_su@frontbuffer.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [SKIP][68] ([fdo#109441]) -> [PASS][69]
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-iclb4/igt@kms_psr@psr2_sprite_plane_move.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_sysfs_edid_timing:
    - shard-iclb:         [FAIL][70] ([fdo#100047]) -> [PASS][71]
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-iclb2/igt@kms_sysfs_edid_timing.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-iclb6/igt@kms_sysfs_edid_timing.html

  
#### Warnings ####

  * igt@gem_mmap_gtt@forked-big-copy-xy:
    - shard-iclb:         [INCOMPLETE][72] ([fdo#107713] / [fdo#109100]) -> [TIMEOUT][73] ([fdo#109673]) +1 similar issue
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-iclb1/igt@gem_mmap_gtt@forked-big-copy-xy.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-iclb6/igt@gem_mmap_gtt@forked-big-copy-xy.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-render:
    - shard-iclb:         [FAIL][74] ([fdo#103167]) -> [FAIL][75] ([fdo#109247])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6184/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-render.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13165/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-render.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#100047]: https://bugs.freedesktop.org/show_bug.cgi?id=100047
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
  [fdo#107383]: https://bugs.freedesktop.org/show_bug.cgi?id=107383
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108040]: https://bugs.freedesktop.org/show_bug.cgi?id=108040
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108303]: https://bugs.freedesktop.org/show_bug.cgi?id=108303
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#109247]: https://bugs.freedesktop.org/show_bug.cgi?id=109247
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#109673]: https://bugs.freedesktop.org/show_bug.cgi?id=109673
  [fdo#110215]: https://bugs.freedesktop.org/show_bug.cgi?id=110215
  [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


Participating hosts (10 -> 11)
------------------------------

  Additional (1): pig-snb-2600 


Build changes
-------------

  * Linux: CI_DRM_6184 -> Patchwork_13165

  CI_DRM_6184: 99ffea268c69399f2936c08ef809b5f8c3485d8b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5034: 0caa0063fa86133464e3f3822ad39678be3e9bcd @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13165: 3cecd3d113839feab81ed8b3749fde56fc8c54a3 @ 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_13165/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-06-04 20:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-04 10:37 [PATCH] drm/i915: Split out GTT fault handler to make it generic Abdiel Janulgue
2019-06-04 11:00 ` Chris Wilson
2019-06-04 11:20   ` Abdiel Janulgue
2019-06-04 11:28 ` ✓ Fi.CI.BAT: success for " Patchwork
2019-06-04 20:24 ` ✗ 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.