All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t] i915/gem_exec_schedule: Switch bach to gem_set_domain()
@ 2019-02-17 18:16 ` Chris Wilson
  0 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2019-02-17 18:16 UTC (permalink / raw)
  To: intel-gfx; +Cc: igt-dev

The write hazard lies extend also to the cache-dirty tracking; as we
purposefully do not tell the kernel we are writing to the bo, it fails
to note the CPU cache as dirty and so the gem_read() may not
sufficiently flush the caches prior to reading back from the GPU.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Antonio Argenziano <antonio.argenziano@intel.com>
---
 tests/i915/gem_exec_schedule.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c
index 59102b6bc..a9383000a 100644
--- a/tests/i915/gem_exec_schedule.c
+++ b/tests/i915/gem_exec_schedule.c
@@ -54,7 +54,8 @@ uint32_t __sync_read_u32(int fd, uint32_t handle, uint64_t offset)
 {
 	uint32_t value;
 
-	gem_sync(fd, handle); /* No write hazard lies! */
+	gem_set_domain(fd, handle, /* No write hazard lies! */
+		       I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
 	gem_read(fd, handle, offset, &value, sizeof(value));
 
 	return value;
@@ -63,7 +64,8 @@ uint32_t __sync_read_u32(int fd, uint32_t handle, uint64_t offset)
 static inline
 void __sync_read_u32_count(int fd, uint32_t handle, uint32_t *dst, uint64_t size)
 {
-	gem_sync(fd, handle); /* No write hazard lies! */
+	gem_set_domain(fd, handle, /* No write hazard lies! */
+		       I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
 	gem_read(fd, handle, 0, dst, size);
 }
 
-- 
2.20.1

_______________________________________________
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

* [igt-dev] [PATCH i-g-t] i915/gem_exec_schedule: Switch bach to gem_set_domain()
@ 2019-02-17 18:16 ` Chris Wilson
  0 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2019-02-17 18:16 UTC (permalink / raw)
  To: intel-gfx; +Cc: igt-dev

The write hazard lies extend also to the cache-dirty tracking; as we
purposefully do not tell the kernel we are writing to the bo, it fails
to note the CPU cache as dirty and so the gem_read() may not
sufficiently flush the caches prior to reading back from the GPU.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Antonio Argenziano <antonio.argenziano@intel.com>
---
 tests/i915/gem_exec_schedule.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c
index 59102b6bc..a9383000a 100644
--- a/tests/i915/gem_exec_schedule.c
+++ b/tests/i915/gem_exec_schedule.c
@@ -54,7 +54,8 @@ uint32_t __sync_read_u32(int fd, uint32_t handle, uint64_t offset)
 {
 	uint32_t value;
 
-	gem_sync(fd, handle); /* No write hazard lies! */
+	gem_set_domain(fd, handle, /* No write hazard lies! */
+		       I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
 	gem_read(fd, handle, offset, &value, sizeof(value));
 
 	return value;
@@ -63,7 +64,8 @@ uint32_t __sync_read_u32(int fd, uint32_t handle, uint64_t offset)
 static inline
 void __sync_read_u32_count(int fd, uint32_t handle, uint32_t *dst, uint64_t size)
 {
-	gem_sync(fd, handle); /* No write hazard lies! */
+	gem_set_domain(fd, handle, /* No write hazard lies! */
+		       I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
 	gem_read(fd, handle, 0, dst, size);
 }
 
-- 
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.BAT: success for i915/gem_exec_schedule: Switch bach to gem_set_domain()
  2019-02-17 18:16 ` [igt-dev] " Chris Wilson
  (?)
@ 2019-02-17 18:38 ` Patchwork
  -1 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2019-02-17 18:38 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: i915/gem_exec_schedule: Switch bach to gem_set_domain()
URL   : https://patchwork.freedesktop.org/series/56811/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5617 -> IGTPW_2434
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live_execlists:
    - fi-apl-guc:         PASS -> INCOMPLETE [fdo#103927]

  * igt@pm_rpm@basic-rte:
    - fi-bsw-kefka:       PASS -> FAIL [fdo#108800]

  
#### Possible fixes ####

  * igt@i915_selftest@live_evict:
    - fi-bsw-kefka:       DMESG-WARN [fdo#107709] -> PASS

  * igt@kms_pipe_crc_basic@read-crc-pipe-a:
    - fi-byt-clapper:     FAIL [fdo#107362] -> PASS

  
  {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#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107709]: https://bugs.freedesktop.org/show_bug.cgi?id=107709
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108622]: https://bugs.freedesktop.org/show_bug.cgi?id=108622
  [fdo#108800]: https://bugs.freedesktop.org/show_bug.cgi?id=108800
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109316]: https://bugs.freedesktop.org/show_bug.cgi?id=109316
  [fdo#109635 ]: https://bugs.freedesktop.org/show_bug.cgi?id=109635 


Participating hosts (37 -> 35)
------------------------------

  Additional (3): fi-glk-j4005 fi-icl-u2 fi-whl-u 
  Missing    (5): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-skl-6700k2 


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

    * IGT: IGT_4833 -> IGTPW_2434

  CI_DRM_5617: 75d902e598dbb8f95b42abc70dfcf41d275f478f @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2434: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2434/
  IGT_4833: 7802324e86ddf947cba847e910f75b1a8affe8d7 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for i915/gem_exec_schedule: Switch bach to gem_set_domain()
  2019-02-17 18:16 ` [igt-dev] " Chris Wilson
  (?)
  (?)
@ 2019-02-18  0:36 ` Patchwork
  -1 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2019-02-18  0:36 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: i915/gem_exec_schedule: Switch bach to gem_set_domain()
URL   : https://patchwork.freedesktop.org/series/56811/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5617_full -> IGTPW_2434_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c:
    - shard-kbl:          NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_color@pipe-b-ctm-max:
    - shard-apl:          PASS -> FAIL [fdo#108147]

  * igt@kms_cursor_crc@cursor-64x21-sliding:
    - shard-apl:          PASS -> FAIL [fdo#103232]
    - shard-kbl:          PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-64x64-suspend:
    - shard-apl:          PASS -> FAIL [fdo#103191] / [fdo#103232]

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite:
    - shard-glk:          PASS -> FAIL [fdo#103167]

  * igt@kms_plane@plane-position-covered-pipe-c-planes:
    - shard-apl:          PASS -> FAIL [fdo#103166] +1

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
    - shard-glk:          PASS -> FAIL [fdo#103166]

  * igt@kms_rotation_crc@multiplane-rotation:
    - shard-glk:          PASS -> DMESG-FAIL [fdo#105763] / [fdo#106538]

  * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
    - shard-kbl:          NOTRUN -> DMESG-FAIL [fdo#105763]

  
#### Possible fixes ####

  * igt@gem_linear_blits@normal:
    - shard-snb:          INCOMPLETE [fdo#105411] -> PASS

  * igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing:
    - shard-apl:          FAIL -> PASS
    - shard-kbl:          FAIL -> PASS

  * igt@kms_cursor_crc@cursor-128x128-suspend:
    - shard-apl:          FAIL [fdo#103191] / [fdo#103232] -> PASS
    - shard-kbl:          INCOMPLETE [fdo#103665] -> PASS

  * igt@kms_cursor_crc@cursor-256x256-random:
    - shard-apl:          FAIL [fdo#103232] -> PASS +8

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic:
    - shard-glk:          FAIL [fdo#102670] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
    - shard-glk:          FAIL [fdo#103167] -> PASS +3

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-apl:          FAIL [fdo#103167] -> PASS +5

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
    - shard-kbl:          FAIL [fdo#103167] -> PASS

  * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
    - shard-apl:          FAIL [fdo#108145] -> PASS

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-none:
    - shard-apl:          FAIL [fdo#103166] -> PASS

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - shard-kbl:          FAIL [fdo#103166] -> PASS +1

  * igt@kms_setmode@basic:
    - shard-apl:          FAIL [fdo#99912] -> PASS
    - shard-kbl:          FAIL [fdo#99912] -> PASS

  * igt@kms_universal_plane@universal-plane-pipe-c-functional:
    - shard-glk:          FAIL [fdo#103166] -> PASS +4

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

  [fdo#102670]: https://bugs.freedesktop.org/show_bug.cgi?id=102670
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#106538]: https://bugs.freedesktop.org/show_bug.cgi?id=106538
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108147]: https://bugs.freedesktop.org/show_bug.cgi?id=108147
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (7 -> 5)
------------------------------

  Missing    (2): shard-skl shard-iclb 


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

    * IGT: IGT_4833 -> IGTPW_2434
    * Piglit: piglit_4509 -> None

  CI_DRM_5617: 75d902e598dbb8f95b42abc70dfcf41d275f478f @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2434: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2434/
  IGT_4833: 7802324e86ddf947cba847e910f75b1a8affe8d7 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

* Re: [PATCH i-g-t] i915/gem_exec_schedule: Switch bach to gem_set_domain()
  2019-02-17 18:16 ` [igt-dev] " Chris Wilson
@ 2019-02-19 21:22   ` Antonio Argenziano
  -1 siblings, 0 replies; 6+ messages in thread
From: Antonio Argenziano @ 2019-02-19 21:22 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx; +Cc: igt-dev



On 17/02/19 10:16, Chris Wilson wrote:
> The write hazard lies extend also to the cache-dirty tracking; as we
> purposefully do not tell the kernel we are writing to the bo, it fails
> to note the CPU cache as dirty and so the gem_read() may not
> sufficiently flush the caches prior to reading back from the GPU.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Antonio Argenziano <antonio.argenziano@intel.com>

LGTM.

Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>

Antonio

> ---
>   tests/i915/gem_exec_schedule.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c
> index 59102b6bc..a9383000a 100644
> --- a/tests/i915/gem_exec_schedule.c
> +++ b/tests/i915/gem_exec_schedule.c
> @@ -54,7 +54,8 @@ uint32_t __sync_read_u32(int fd, uint32_t handle, uint64_t offset)
>   {
>   	uint32_t value;
>   
> -	gem_sync(fd, handle); /* No write hazard lies! */
> +	gem_set_domain(fd, handle, /* No write hazard lies! */
> +		       I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
>   	gem_read(fd, handle, offset, &value, sizeof(value));
>   
>   	return value;
> @@ -63,7 +64,8 @@ uint32_t __sync_read_u32(int fd, uint32_t handle, uint64_t offset)
>   static inline
>   void __sync_read_u32_count(int fd, uint32_t handle, uint32_t *dst, uint64_t size)
>   {
> -	gem_sync(fd, handle); /* No write hazard lies! */
> +	gem_set_domain(fd, handle, /* No write hazard lies! */
> +		       I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
>   	gem_read(fd, handle, 0, dst, size);
>   }
>   
> 
_______________________________________________
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: [igt-dev] [PATCH i-g-t] i915/gem_exec_schedule: Switch bach to gem_set_domain()
@ 2019-02-19 21:22   ` Antonio Argenziano
  0 siblings, 0 replies; 6+ messages in thread
From: Antonio Argenziano @ 2019-02-19 21:22 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx; +Cc: igt-dev



On 17/02/19 10:16, Chris Wilson wrote:
> The write hazard lies extend also to the cache-dirty tracking; as we
> purposefully do not tell the kernel we are writing to the bo, it fails
> to note the CPU cache as dirty and so the gem_read() may not
> sufficiently flush the caches prior to reading back from the GPU.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Antonio Argenziano <antonio.argenziano@intel.com>

LGTM.

Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>

Antonio

> ---
>   tests/i915/gem_exec_schedule.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c
> index 59102b6bc..a9383000a 100644
> --- a/tests/i915/gem_exec_schedule.c
> +++ b/tests/i915/gem_exec_schedule.c
> @@ -54,7 +54,8 @@ uint32_t __sync_read_u32(int fd, uint32_t handle, uint64_t offset)
>   {
>   	uint32_t value;
>   
> -	gem_sync(fd, handle); /* No write hazard lies! */
> +	gem_set_domain(fd, handle, /* No write hazard lies! */
> +		       I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
>   	gem_read(fd, handle, offset, &value, sizeof(value));
>   
>   	return value;
> @@ -63,7 +64,8 @@ uint32_t __sync_read_u32(int fd, uint32_t handle, uint64_t offset)
>   static inline
>   void __sync_read_u32_count(int fd, uint32_t handle, uint32_t *dst, uint64_t size)
>   {
> -	gem_sync(fd, handle); /* No write hazard lies! */
> +	gem_set_domain(fd, handle, /* No write hazard lies! */
> +		       I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
>   	gem_read(fd, handle, 0, dst, size);
>   }
>   
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2019-02-19 21:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-17 18:16 [PATCH i-g-t] i915/gem_exec_schedule: Switch bach to gem_set_domain() Chris Wilson
2019-02-17 18:16 ` [igt-dev] " Chris Wilson
2019-02-17 18:38 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-02-18  0:36 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-02-19 21:22 ` [PATCH i-g-t] " Antonio Argenziano
2019-02-19 21:22   ` [igt-dev] " Antonio Argenziano

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.