All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Break long iterations for get/put shmemfs pages
@ 2018-11-05 17:06 Chris Wilson
  2018-11-05 17:37 ` ✗ Fi.CI.BAT: failure for " Patchwork
  2018-11-06 10:55 ` [PATCH] " Joonas Lahtinen
  0 siblings, 2 replies; 4+ messages in thread
From: Chris Wilson @ 2018-11-05 17:06 UTC (permalink / raw)
  To: intel-gfx; +Cc: Matthew Auld

As we may have to iterate a few thousand elements to acquire and release
the shmemfs backing storage for a GPU object, we need to break up the
long loop with cond_resched() to retain a modicum of low latency for
other processes.

Testcase: igt/benchmarks/gem_syslatency
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Kuo-Hsin Yang <vovoy@chromium.org>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_gem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index b1caff07ed65..a120112d0621 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2404,6 +2404,7 @@ i915_gem_object_put_pages_gtt(struct drm_i915_gem_object *obj,
 			mark_page_accessed(page);
 
 		put_page(page);
+		cond_resched();
 	}
 	obj->mm.dirty = false;
 
@@ -2574,6 +2575,7 @@ static int i915_gem_object_get_pages_gtt(struct drm_i915_gem_object *obj)
 		gfp_t gfp = noreclaim;
 
 		do {
+			cond_resched();
 			page = shmem_read_mapping_page_gfp(mapping, i, gfp);
 			if (likely(!IS_ERR(page)))
 				break;
@@ -2584,7 +2586,6 @@ static int i915_gem_object_get_pages_gtt(struct drm_i915_gem_object *obj)
 			}
 
 			i915_gem_shrink(dev_priv, 2 * page_count, NULL, *s++);
-			cond_resched();
 
 			/*
 			 * We've tried hard to allocate the memory by reaping
-- 
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] 4+ messages in thread

* ✗ Fi.CI.BAT: failure for drm/i915: Break long iterations for get/put shmemfs pages
  2018-11-05 17:06 [PATCH] drm/i915: Break long iterations for get/put shmemfs pages Chris Wilson
@ 2018-11-05 17:37 ` Patchwork
  2018-11-06 10:55 ` [PATCH] " Joonas Lahtinen
  1 sibling, 0 replies; 4+ messages in thread
From: Patchwork @ 2018-11-05 17:37 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Break long iterations for get/put shmemfs pages
URL   : https://patchwork.freedesktop.org/series/52036/
State : failure

== Summary ==

= CI Bug Log - changes from CI_DRM_5088 -> Patchwork_10727 =

== Summary - FAILURE ==

  Serious unknown changes coming with Patchwork_10727 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_10727, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/52036/revisions/1/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in Patchwork_10727:

  === IGT changes ===

    ==== Possible regressions ====

    igt@drv_module_reload@basic-no-display:
      fi-byt-clapper:     PASS -> WARN

    
== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@amdgpu/amd_basic@cs-compute:
      fi-kbl-8809g:       NOTRUN -> FAIL (fdo#108094)

    igt@amdgpu/amd_prime@amd-to-i915:
      fi-kbl-8809g:       NOTRUN -> FAIL (fdo#107341)

    igt@gem_exec_fence@basic-await-default:
      fi-byt-j1900:       PASS -> INCOMPLETE (fdo#102657)

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
      fi-byt-clapper:     PASS -> FAIL (fdo#103191, fdo#107362) +1
      fi-icl-u:           NOTRUN -> INCOMPLETE (fdo#107713)

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-blb-e6850:       PASS -> INCOMPLETE (fdo#107718)

    
    ==== Possible fixes ====

    igt@drv_module_reload@basic-reload-inject:
      fi-byt-clapper:     WARN -> PASS

    igt@kms_pipe_crc_basic@hang-read-crc-pipe-b:
      fi-byt-clapper:     FAIL (fdo#103191, fdo#107362) -> PASS

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-cfl-8109u:       FAIL (fdo#103375) -> PASS +1

    igt@pm_rpm@module-reload:
      fi-byt-clapper:     FAIL -> PASS

    
  fdo#102657 https://bugs.freedesktop.org/show_bug.cgi?id=102657
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375
  fdo#107341 https://bugs.freedesktop.org/show_bug.cgi?id=107341
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107713 https://bugs.freedesktop.org/show_bug.cgi?id=107713
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108094 https://bugs.freedesktop.org/show_bug.cgi?id=108094


== Participating hosts (49 -> 45) ==

  Additional (3): fi-icl-u fi-kbl-8809g fi-pnv-d510 
  Missing    (7): fi-ilk-m540 fi-hsw-4200u fi-skl-guc fi-byt-squawks fi-bsw-cyan fi-apl-guc fi-ctg-p8600 


== Build changes ==

    * Linux: CI_DRM_5088 -> Patchwork_10727

  CI_DRM_5088: 1a4a6dafa1fdcab0fbf0a5ef7f4c56be9c49b87e @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4709: 15dff9353621d0746b80fae534c20621e03a9f01 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10727: 152412f441d8feb5ed9ae66a23821c5f94ff5cda @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

152412f441d8 drm/i915: Break long iterations for get/put shmemfs pages

== Logs ==

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

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

* Re: [PATCH] drm/i915: Break long iterations for get/put shmemfs pages
  2018-11-05 17:06 [PATCH] drm/i915: Break long iterations for get/put shmemfs pages Chris Wilson
  2018-11-05 17:37 ` ✗ Fi.CI.BAT: failure for " Patchwork
@ 2018-11-06 10:55 ` Joonas Lahtinen
  2018-11-06 13:41   ` Chris Wilson
  1 sibling, 1 reply; 4+ messages in thread
From: Joonas Lahtinen @ 2018-11-06 10:55 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx; +Cc: Matthew Auld

Quoting Chris Wilson (2018-11-05 19:06:40)
> As we may have to iterate a few thousand elements to acquire and release
> the shmemfs backing storage for a GPU object, we need to break up the
> long loop with cond_resched() to retain a modicum of low latency for
> other processes.
> 
> Testcase: igt/benchmarks/gem_syslatency
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Kuo-Hsin Yang <vovoy@chromium.org>
> Cc: Matthew Auld <matthew.auld@intel.com>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

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

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

* Re: [PATCH] drm/i915: Break long iterations for get/put shmemfs pages
  2018-11-06 10:55 ` [PATCH] " Joonas Lahtinen
@ 2018-11-06 13:41   ` Chris Wilson
  0 siblings, 0 replies; 4+ messages in thread
From: Chris Wilson @ 2018-11-06 13:41 UTC (permalink / raw)
  To: Joonas Lahtinen, intel-gfx; +Cc: Matthew Auld

Quoting Joonas Lahtinen (2018-11-06 10:55:32)
> Quoting Chris Wilson (2018-11-05 19:06:40)
> > As we may have to iterate a few thousand elements to acquire and release
> > the shmemfs backing storage for a GPU object, we need to break up the
> > long loop with cond_resched() to retain a modicum of low latency for
> > other processes.
> > 
> > Testcase: igt/benchmarks/gem_syslatency
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Kuo-Hsin Yang <vovoy@chromium.org>
> > Cc: Matthew Auld <matthew.auld@intel.com>
> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> 
> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

Applied as this improves the current syslatency, and further improves
Kuo-Hsin's patch.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2018-11-06 13:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-05 17:06 [PATCH] drm/i915: Break long iterations for get/put shmemfs pages Chris Wilson
2018-11-05 17:37 ` ✗ Fi.CI.BAT: failure for " Patchwork
2018-11-06 10:55 ` [PATCH] " Joonas Lahtinen
2018-11-06 13:41   ` 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.