All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] ✓ Fi.CI.BAT: success for lib: igt@i915_suspend@shrink faster
  2019-02-20  1:13 [igt-dev] [igt PATCH 0/1] lib: igt@i915_suspend@shrink faster Caz Yokoyama
@ 2019-02-19 19:05 ` Patchwork
  2019-02-19 22:37 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2019-02-19 19:05 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: lib: igt@i915_suspend@shrink faster
URL   : https://patchwork.freedesktop.org/series/56911/
State : success

== Summary ==

CI Bug Log - changes from IGT_4838 -> IGTPW_2450
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

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

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - fi-apl-guc:         PASS -> DMESG-WARN [fdo#108529] / [fdo#108566]

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

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-blb-e6850:       INCOMPLETE [fdo#107718] -> PASS

  * igt@kms_pipe_crc_basic@read-crc-pipe-b-frame-sequence:
    - fi-byt-clapper:     FAIL [fdo#103191] / [fdo#107362] -> PASS +1

  
  {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#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108529]: https://bugs.freedesktop.org/show_bug.cgi?id=108529
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108622]: https://bugs.freedesktop.org/show_bug.cgi?id=108622
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [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 (45 -> 42)
------------------------------

  Additional (1): fi-icl-u2 
  Missing    (4): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan 


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

    * IGT: IGT_4838 -> IGTPW_2450

  CI_DRM_5632: 22cdf0031c984a211ed9edac3979d0156737972d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2450: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2450/
  IGT_4838: edf2930cb55f3d1bfa135ee890919f9d69b0f754 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] [PATCH i-g-t] lib: Incrementally mlock()
  2019-02-20  1:13 ` [igt-dev] [igt PATCH 1/1] igt@i915_suspend@shrink faster Caz Yokoyama
@ 2019-02-19 22:21   ` Chris Wilson
  2019-02-20  5:26     ` Ashutosh Dixit
                       ` (3 more replies)
  2019-02-20  3:14   ` [igt-dev] [igt PATCH 1/1] igt@i915_suspend@shrink faster Ashutosh Dixit
  1 sibling, 4 replies; 19+ messages in thread
From: Chris Wilson @ 2019-02-19 22:21 UTC (permalink / raw)
  To: igt-dev; +Cc: Caz Yokoyama

As we already have the previous portion of the mmap mlocked, we only
need to mlock() the fresh portion for testing available memory.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Caz Yokoyama <caz@caz-nuc.ra.intel.com>
---
 lib/intel_os.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/lib/intel_os.c b/lib/intel_os.c
index e1e31e230..961442a0d 100644
--- a/lib/intel_os.c
+++ b/lib/intel_os.c
@@ -250,22 +250,24 @@ intel_get_total_pinnable_mem(void)
 	}
 
 	for (uint64_t inc = 1024 << 20; inc >= 4 << 10; inc >>= 2) {
-		igt_debug("Testing mlock %'"PRIu64" B (%'"PRIu64" MiB)\n",
-			  *can_mlock, *can_mlock >> 20);
+		uint64_t locked = *can_mlock;
+
+		igt_debug("Testing mlock %'"PRIu64"B (%'"PRIu64"MiB) + %'"PRIu64"B\n",
+			  locked, locked >> 20, inc);
 
 		igt_fork(child, 1) {
-			for (uint64_t bytes = *can_mlock;
-			     bytes <= pin;
-			     bytes += inc) {
-				if (mlock(can_mlock, bytes))
+			uint64_t bytes = *can_mlock;
+
+			while (bytes <= pin) {
+				if (mlock(can_mlock + bytes, inc))
 					break;
 
-				*can_mlock = bytes;
+				*can_mlock = bytes += inc;
 				__sync_synchronize();
 			}
 		}
 		__igt_waitchildren();
-		igt_assert(!mlock(can_mlock, *can_mlock));
+		igt_assert(!mlock(can_mlock + locked, *can_mlock - locked));
 	}
 
 out:
-- 
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] 19+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for lib: igt@i915_suspend@shrink faster
  2019-02-20  1:13 [igt-dev] [igt PATCH 0/1] lib: igt@i915_suspend@shrink faster Caz Yokoyama
  2019-02-19 19:05 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2019-02-19 22:37 ` Patchwork
  2019-02-19 22:49 ` [igt-dev] ✓ Fi.CI.BAT: success for lib: igt@i915_suspend@shrink faster (rev2) Patchwork
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2019-02-19 22:37 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: lib: igt@i915_suspend@shrink faster
URL   : https://patchwork.freedesktop.org/series/56911/
State : success

== Summary ==

CI Bug Log - changes from IGT_4838_full -> IGTPW_2450_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
    - shard-snb:          NOTRUN -> DMESG-WARN [fdo#107956] +1

  * igt@kms_color@pipe-a-degamma:
    - shard-apl:          PASS -> FAIL [fdo#104782] / [fdo#108145]
    - shard-kbl:          PASS -> FAIL [fdo#104782] / [fdo#108145]

  * igt@kms_color@pipe-b-degamma:
    - shard-apl:          PASS -> FAIL [fdo#104782]

  * igt@kms_color@pipe-c-legacy-gamma:
    - shard-glk:          PASS -> FAIL [fdo#104782]

  * igt@kms_cursor_crc@cursor-128x42-sliding:
    - shard-kbl:          PASS -> FAIL [fdo#103232]
    - shard-apl:          PASS -> FAIL [fdo#103232] +2

  * igt@kms_cursor_crc@cursor-size-change:
    - shard-glk:          PASS -> FAIL [fdo#103232]

  * igt@kms_flip@modeset-vs-vblank-race-interruptible:
    - shard-glk:          PASS -> FAIL [fdo#103060]

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

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

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

  * igt@kms_plane_alpha_blend@pipe-b-alpha-7efc:
    - shard-apl:          NOTRUN -> FAIL [fdo#108145]
    - shard-kbl:          NOTRUN -> FAIL [fdo#108145] / [fdo#108590]

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

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

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

  * igt@kms_vblank@pipe-b-ts-continuation-modeset-hang:
    - shard-apl:          PASS -> FAIL [fdo#104894]
    - shard-kbl:          PASS -> FAIL [fdo#104894]

  * igt@kms_vblank@pipe-b-ts-continuation-suspend:
    - shard-snb:          PASS -> INCOMPLETE [fdo#105411]

  
#### Possible fixes ####

  * igt@gem_eio@reset-stress:
    - shard-snb:          FAIL -> PASS

  * igt@gem_exec_schedule@in-order-bsd:
    - shard-apl:          FAIL -> PASS

  * igt@kms_ccs@pipe-b-crc-sprite-planes-basic:
    - shard-glk:          FAIL [fdo#108145] -> PASS

  * igt@kms_color@pipe-b-legacy-gamma:
    - shard-apl:          FAIL [fdo#104782] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-random:
    - shard-kbl:          FAIL [fdo#103232] -> PASS +2

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

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
    - shard-hsw:          FAIL [fdo#105767] -> PASS

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

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

  * igt@kms_plane@pixel-format-pipe-c-planes-source-clamping:
    - shard-apl:          FAIL [fdo#108948] -> PASS +1

  * igt@kms_plane@plane-position-covered-pipe-b-planes:
    - shard-kbl:          FAIL [fdo#103166] -> PASS

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

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-yf:
    - shard-apl:          FAIL [fdo#103166] -> PASS +1

  * igt@kms_rotation_crc@multiplane-rotation:
    - shard-kbl:          FAIL [fdo#109016] -> PASS

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

  * igt@kms_vblank@pipe-b-ts-continuation-modeset-rpm:
    - shard-kbl:          FAIL [fdo#104894] -> PASS

  * igt@perf_pmu@busy-bcs0:
    - shard-snb:          INCOMPLETE [fdo#105411] / [fdo#107469] -> PASS

  * igt@pm_rpm@dpms-non-lpsp:
    - shard-apl:          INCOMPLETE [fdo#103927] -> PASS +1

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

  [fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
  [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#105767]: https://bugs.freedesktop.org/show_bug.cgi?id=105767
  [fdo#107469]: https://bugs.freedesktop.org/show_bug.cgi?id=107469
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108590]: https://bugs.freedesktop.org/show_bug.cgi?id=108590
  [fdo#108739]: https://bugs.freedesktop.org/show_bug.cgi?id=108739
  [fdo#108948]: https://bugs.freedesktop.org/show_bug.cgi?id=108948
  [fdo#109016]: https://bugs.freedesktop.org/show_bug.cgi?id=109016
  [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_4838 -> IGTPW_2450

  CI_DRM_5632: 22cdf0031c984a211ed9edac3979d0156737972d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2450: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2450/
  IGT_4838: edf2930cb55f3d1bfa135ee890919f9d69b0f754 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for lib: igt@i915_suspend@shrink faster (rev2)
  2019-02-20  1:13 [igt-dev] [igt PATCH 0/1] lib: igt@i915_suspend@shrink faster Caz Yokoyama
  2019-02-19 19:05 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
  2019-02-19 22:37 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2019-02-19 22:49 ` Patchwork
  2019-02-20  0:53 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2019-02-19 22:49 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: lib: igt@i915_suspend@shrink faster (rev2)
URL   : https://patchwork.freedesktop.org/series/56911/
State : success

== Summary ==

CI Bug Log - changes from IGT_4840 -> IGTPW_2451
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/56911/revisions/2/mbox/

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@cs-compute:
    - fi-kbl-8809g:       NOTRUN -> FAIL [fdo#108094]

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-blb-e6850:       PASS -> INCOMPLETE [fdo#107718]

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       PASS -> FAIL [fdo#109485]

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
    - fi-byt-clapper:     PASS -> FAIL [fdo#103191] / [fdo#107362]

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

  
#### Possible fixes ####

  * igt@amdgpu/amd_basic@userptr:
    - fi-kbl-8809g:       DMESG-WARN [fdo#108965] -> PASS

  * igt@gem_exec_basic@basic-default:
    - {fi-icl-y}:         INCOMPLETE -> PASS

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

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

  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#105998]: https://bugs.freedesktop.org/show_bug.cgi?id=105998
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107709]: https://bugs.freedesktop.org/show_bug.cgi?id=107709
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108094]: https://bugs.freedesktop.org/show_bug.cgi?id=108094
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108800]: https://bugs.freedesktop.org/show_bug.cgi?id=108800
  [fdo#108965]: https://bugs.freedesktop.org/show_bug.cgi?id=108965
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109294]: https://bugs.freedesktop.org/show_bug.cgi?id=109294
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#109527]: https://bugs.freedesktop.org/show_bug.cgi?id=109527
  [fdo#109528]: https://bugs.freedesktop.org/show_bug.cgi?id=109528
  [fdo#109530]: https://bugs.freedesktop.org/show_bug.cgi?id=109530
  [fdo#109567]: https://bugs.freedesktop.org/show_bug.cgi?id=109567


Participating hosts (47 -> 40)
------------------------------

  Missing    (7): fi-kbl-soraka fi-ilk-m540 fi-hsw-peppy fi-byt-squawks fi-bsw-cyan fi-skl-6260u fi-bdw-samus 


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

    * IGT: IGT_4840 -> IGTPW_2451

  CI_DRM_5632: 22cdf0031c984a211ed9edac3979d0156737972d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2451: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2451/
  IGT_4840: c12b1f87adc4c568b21cc6ed9076b94bea46b010 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for lib: igt@i915_suspend@shrink faster (rev2)
  2019-02-20  1:13 [igt-dev] [igt PATCH 0/1] lib: igt@i915_suspend@shrink faster Caz Yokoyama
                   ` (2 preceding siblings ...)
  2019-02-19 22:49 ` [igt-dev] ✓ Fi.CI.BAT: success for lib: igt@i915_suspend@shrink faster (rev2) Patchwork
@ 2019-02-20  0:53 ` Patchwork
  2019-02-20  1:13 ` [igt-dev] [igt PATCH 1/1] igt@i915_suspend@shrink faster Caz Yokoyama
  2019-02-26 17:56 ` [igt-dev] ✗ Fi.CI.BAT: failure for lib: igt@i915_suspend@shrink faster (rev3) Patchwork
  5 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2019-02-20  0:53 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: lib: igt@i915_suspend@shrink faster (rev2)
URL   : https://patchwork.freedesktop.org/series/56911/
State : success

== Summary ==

CI Bug Log - changes from IGT_4840_full -> IGTPW_2451_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/56911/revisions/2/mbox/

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_busy@extended-pageflip-hang-newfb-render-a:
    - shard-glk:          NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
    - shard-glk:          PASS -> FAIL [fdo#108145] +1

  * igt@kms_cursor_crc@cursor-256x256-onscreen:
    - shard-glk:          NOTRUN -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-64x64-sliding:
    - shard-kbl:          PASS -> FAIL [fdo#103232]

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-glk:          PASS -> FAIL [fdo#105363]

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

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

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

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

  * igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
    - shard-glk:          NOTRUN -> FAIL [fdo#108145]

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

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

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

  * igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend:
    - shard-kbl:          PASS -> INCOMPLETE [fdo#103665] +1

  
#### Possible fixes ####

  * igt@gem_exec_whisper@normal:
    - shard-apl:          INCOMPLETE [fdo#103927] -> PASS

  * igt@kms_busy@extended-modeset-hang-oldfb-with-reset-render-a:
    - shard-snb:          {SKIP} [fdo#109271] / [fdo#109278] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-suspend:
    - shard-apl:          DMESG-WARN [fdo#108566] -> PASS

  * igt@kms_cursor_crc@cursor-256x256-onscreen:
    - shard-kbl:          FAIL [fdo#103232] -> PASS +1

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

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

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
    - shard-glk:          FAIL [fdo#104873] -> PASS

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-kbl:          FAIL [fdo#102887] / [fdo#105363] -> PASS

  * igt@kms_flip@flip-vs-suspend:
    - shard-hsw:          INCOMPLETE [fdo#103540] -> PASS

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

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

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-b:
    - shard-snb:          {SKIP} [fdo#109271] -> PASS +2

  * igt@kms_plane@pixel-format-pipe-c-planes-source-clamping:
    - shard-glk:          FAIL [fdo#108948] -> PASS
    - shard-apl:          FAIL [fdo#108948] -> PASS

  * igt@kms_plane@plane-position-covered-pipe-a-planes:
    - shard-glk:          FAIL [fdo#103166] -> PASS +7

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-yf:
    - shard-apl:          FAIL [fdo#103166] -> PASS +3

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

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

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-kbl:          FAIL [fdo#104894] -> PASS
    - shard-apl:          FAIL [fdo#104894] -> PASS

  
#### Warnings ####

  * igt@kms_cursor_crc@cursor-64x21-sliding:
    - shard-apl:          FAIL [fdo#103232] -> INCOMPLETE [fdo#103927]

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

  [fdo#102887]: https://bugs.freedesktop.org/show_bug.cgi?id=102887
  [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#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873
  [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108948]: https://bugs.freedesktop.org/show_bug.cgi?id=108948
  [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_4840 -> IGTPW_2451

  CI_DRM_5632: 22cdf0031c984a211ed9edac3979d0156737972d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2451: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2451/
  IGT_4840: c12b1f87adc4c568b21cc6ed9076b94bea46b010 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] [igt PATCH 0/1] lib: igt@i915_suspend@shrink faster
@ 2019-02-20  1:13 Caz Yokoyama
  2019-02-19 19:05 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Caz Yokoyama @ 2019-02-20  1:13 UTC (permalink / raw)
  To: igt-dev

igt@i915_suspend@shrink runs 25 sec instead of 90 sec on my NUC which has
2GB of memory. The child process which is created by igt_fork() updates
pinnable memory size, (*can_mlock). Parent process mlocks at the end of
"for loop" when the child process finds pinnable memory size in 4kb
boundary. This patch also reduces the chance of dying entire test process
because the parent process mclocks the memory where we already know it is
pinnable.

Incrementary mlocking small memory in addition to 3/4 of available memory
by the child process does not work because kernel finds the parent
process mlocks more memory than the child process and kills the parent
process.

Another big time consumer is igt_system_suspend_autoresume(). 15 sec of
delay is hard coded. It is too danger to reduce 15 sec because some of
test machines may fail by reducing delay time.

"gem_userptr_blits@mlocked-*" test also calls
intel_get_total_pinnable_mem(). I do not test them because they do not
finish within 30 min on my NUC without this patch.

Caz Yokoyama (1):
  igt@i915_suspend@shrink faster

 lib/intel_os.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.17.1

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

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

* [igt-dev] [igt PATCH 1/1] igt@i915_suspend@shrink faster
  2019-02-20  1:13 [igt-dev] [igt PATCH 0/1] lib: igt@i915_suspend@shrink faster Caz Yokoyama
                   ` (3 preceding siblings ...)
  2019-02-20  0:53 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2019-02-20  1:13 ` Caz Yokoyama
  2019-02-19 22:21   ` [igt-dev] [PATCH i-g-t] lib: Incrementally mlock() Chris Wilson
  2019-02-20  3:14   ` [igt-dev] [igt PATCH 1/1] igt@i915_suspend@shrink faster Ashutosh Dixit
  2019-02-26 17:56 ` [igt-dev] ✗ Fi.CI.BAT: failure for lib: igt@i915_suspend@shrink faster (rev3) Patchwork
  5 siblings, 2 replies; 19+ messages in thread
From: Caz Yokoyama @ 2019-02-20  1:13 UTC (permalink / raw)
  To: igt-dev

igt@i915_suspend@shrink runs 25 sec instead of 90 sec on my NUC which has
2GB of memory. The child process which is created by igt_fork() updates
pinnable memory size, (*can_mlock). Parent process mlocks at the end of
"for loop" when the child process finds pinnable memory size in 4kb
boundary. This patch also reduces the chance of dying entire test process
because the parent process mclocks the memory where we already know it is
pinnable.

Signed-off-by: Caz Yokoyama <caz@caz-nuc.ra.intel.com>
---
 lib/intel_os.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/intel_os.c b/lib/intel_os.c
index e1e31e23..077d6c13 100644
--- a/lib/intel_os.c
+++ b/lib/intel_os.c
@@ -265,8 +265,8 @@ intel_get_total_pinnable_mem(void)
 			}
 		}
 		__igt_waitchildren();
-		igt_assert(!mlock(can_mlock, *can_mlock));
 	}
+	igt_assert(!mlock(can_mlock, *can_mlock));
 
 out:
 	ret = *can_mlock;
-- 
2.17.1

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

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

* Re: [igt-dev] [igt PATCH 1/1] igt@i915_suspend@shrink faster
  2019-02-20  1:13 ` [igt-dev] [igt PATCH 1/1] igt@i915_suspend@shrink faster Caz Yokoyama
  2019-02-19 22:21   ` [igt-dev] [PATCH i-g-t] lib: Incrementally mlock() Chris Wilson
@ 2019-02-20  3:14   ` Ashutosh Dixit
  1 sibling, 0 replies; 19+ messages in thread
From: Ashutosh Dixit @ 2019-02-20  3:14 UTC (permalink / raw)
  To: Caz Yokoyama; +Cc: igt-dev

On Tue, Feb 19 2019 at 06:13:16 PM, Caz Yokoyama <caz@caz-nuc.ra.intel.com> wrote:
> Signed-off-by: Caz Yokoyama <caz@caz-nuc.ra.intel.com>

In the future please use email address as caz.yokoyama@intel.com. Both
in signed-off-by as well as sender.

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

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

* Re: [igt-dev] [PATCH i-g-t] lib: Incrementally mlock()
  2019-02-19 22:21   ` [igt-dev] [PATCH i-g-t] lib: Incrementally mlock() Chris Wilson
@ 2019-02-20  5:26     ` Ashutosh Dixit
  2019-02-20  5:39     ` Ashutosh Dixit
                       ` (2 subsequent siblings)
  3 siblings, 0 replies; 19+ messages in thread
From: Ashutosh Dixit @ 2019-02-20  5:26 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

On Tue, Feb 19 2019 at 03:21:10 PM, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> As we already have the previous portion of the mmap mlocked, we only
> need to mlock() the fresh portion for testing available memory.

Still looking at what is wrong with the patch but with the patch the
test is unable to lock as much memory as before and invoke the
shrinker. Here are the outputs before and after the patch on a system
with 16 GB:

--------BEFORE---------

# ./i915_suspend --run-subtest shrink
IGT-Version: 1.23-g7802324e (x86_64) (Linux: 5.0.0-rc5+ x86_64)
Starting subtest: shrink
child 0 died with signal 9, Killed
child 0 died with signal 9, Killed
child 0 died with signal 9, Killed
child 0 died with signal 9, Killed
child 0 died with signal 9, Killed
child 0 died with signal 9, Killed
child 0 died with signal 9, Killed
child 0 died with signal 9, Killed
child 0 died with signal 9, Killed
child 0 died with signal 9, Killed
Locked 16,165,109,760 B (15,416 MiB)
[cmd] rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Nov 25 06:02:55 1998
Subtest shrink: SUCCESS (35.917s)

--------AFTER---------

# ./i915_suspend --run-subtest shrink
IGT-Version: 1.23-gdad68484 (x86_64) (Linux: 5.0.0-rc5+ x86_64)
Starting subtest: shrink
Locked 12,157,976,576 B (11,594 MiB)
[cmd] rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Nov 25 06:04:02 1998
Subtest shrink: SUCCESS (10.247s)
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t] lib: Incrementally mlock()
  2019-02-19 22:21   ` [igt-dev] [PATCH i-g-t] lib: Incrementally mlock() Chris Wilson
  2019-02-20  5:26     ` Ashutosh Dixit
@ 2019-02-20  5:39     ` Ashutosh Dixit
  2019-02-20 22:28       ` Caz Yokoyama
  2019-02-20 12:01     ` [PATCH i-g-t v2] " Chris Wilson
  2019-02-26 17:42     ` [igt-dev] FW: [PATCH i-g-t] " Yokoyama, Caz
  3 siblings, 1 reply; 19+ messages in thread
From: Ashutosh Dixit @ 2019-02-20  5:39 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev, Caz Yokoyama

On Tue, Feb 19 2019 at 09:26:56 PM, Ashutosh Dixit <ashutosh.dixit@intel.com> wrote:
> On Tue, Feb 19 2019 at 03:21:10 PM, Chris Wilson <chris@chris-wilson.co.uk> wrote:
>> As we already have the previous portion of the mmap mlocked, we only
>> need to mlock() the fresh portion for testing available memory.
>
> Still looking at what is wrong with the patch but with the patch the
> test is unable to lock as much memory as before and invoke the
> shrinker. Here are the outputs before and after the patch on a system
> with 16 GB:

OK, found the bug. The bug is that can_mlock is u64*. Therefore
can_mlock must be cast to u8* on these two lines:


> +     if (mlock(can_mlock + bytes, inc))

and 

> +	igt_assert(!mlock(can_mlock + locked, *can_mlock - locked));

However when we do this, the parent process invariably gets killed by
the OOM killer, something which was not happening previously:

# ./i915_suspend --run-subtest shrink
IGT-Version: 1.23-g9ef791ce (x86_64) (Linux: 5.0.0-rc5+ x86_64)
Starting subtest: shrink
child 0 died with signal 9, Killed
child 0 died with signal 9, Killed
child 0 died with signal 9, Killed
child 0 died with signal 9, Killed
child 0 died with signal 9, Killed
child 0 died with signal 9, Killed
Killed
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [PATCH i-g-t v2] lib: Incrementally mlock()
  2019-02-19 22:21   ` [igt-dev] [PATCH i-g-t] lib: Incrementally mlock() Chris Wilson
  2019-02-20  5:26     ` Ashutosh Dixit
  2019-02-20  5:39     ` Ashutosh Dixit
@ 2019-02-20 12:01     ` Chris Wilson
  2019-02-26 17:42     ` [igt-dev] FW: [PATCH i-g-t] " Yokoyama, Caz
  3 siblings, 0 replies; 19+ messages in thread
From: Chris Wilson @ 2019-02-20 12:01 UTC (permalink / raw)
  To: intel-gfx; +Cc: Caz Yokoyama

As we already have the previous portion of the mmap mlocked, we only
need to mlock() the fresh portion for testing available memory.

v2: Fixup the uint64_t pointer arithmetric and only use a single mmap to
avoid subsequent mlock fail (for reasons unknown, but bet on mm/).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Caz Yokoyama <caz@caz-nuc.ra.intel.com>
---
 lib/igt_aux.h           |  2 +-
 lib/intel_os.c          | 40 ++++++++++++++++++++++------------------
 tests/eviction_common.c | 17 +++++++++--------
 tests/i915/suspend.c    | 17 +++--------------
 4 files changed, 35 insertions(+), 41 deletions(-)

diff --git a/lib/igt_aux.h b/lib/igt_aux.h
index fb02c026a..09b6246bf 100644
--- a/lib/igt_aux.h
+++ b/lib/igt_aux.h
@@ -194,7 +194,7 @@ void intel_purge_vm_caches(int fd);
 uint64_t intel_get_avail_ram_mb(void);
 uint64_t intel_get_total_ram_mb(void);
 uint64_t intel_get_total_swap_mb(void);
-size_t intel_get_total_pinnable_mem(void);
+void *intel_get_total_pinnable_mem(size_t *pinned);
 
 int __intel_check_memory(uint64_t count, uint64_t size, unsigned mode,
 			 uint64_t *out_required, uint64_t *out_total);
diff --git a/lib/intel_os.c b/lib/intel_os.c
index e1e31e230..0b85d287d 100644
--- a/lib/intel_os.c
+++ b/lib/intel_os.c
@@ -227,11 +227,9 @@ intel_get_total_swap_mb(void)
  *
  * Returns: Amount of memory that can be safely pinned, in bytes.
  */
-size_t
-intel_get_total_pinnable_mem(void)
+void *intel_get_total_pinnable_mem(size_t *total)
 {
 	uint64_t *can_mlock, pin, avail;
-	size_t ret;
 
 	pin = (intel_get_total_ram_mb() + 1) << 20;
 	avail = (intel_get_avail_ram_mb() + 1) << 20;
@@ -245,34 +243,40 @@ intel_get_total_pinnable_mem(void)
 	 */
 	*can_mlock = (avail >> 1) + (avail >> 2);
 	if (mlock(can_mlock, *can_mlock)) {
-		*can_mlock = 0;
-		goto out;
+		munmap(can_mlock, pin);
+		return MAP_FAILED;
 	}
 
 	for (uint64_t inc = 1024 << 20; inc >= 4 << 10; inc >>= 2) {
-		igt_debug("Testing mlock %'"PRIu64" B (%'"PRIu64" MiB)\n",
-			  *can_mlock, *can_mlock >> 20);
+		uint64_t locked = *can_mlock;
+
+		igt_debug("Testing mlock %'"PRIu64"B (%'"PRIu64"MiB) + %'"PRIu64"B\n",
+			  locked, locked >> 20, inc);
 
 		igt_fork(child, 1) {
-			for (uint64_t bytes = *can_mlock;
-			     bytes <= pin;
-			     bytes += inc) {
-				if (mlock(can_mlock, bytes))
+			uint64_t bytes = *can_mlock;
+
+			while (bytes <= pin) {
+				if (mlock((void *)can_mlock + bytes, inc))
 					break;
 
-				*can_mlock = bytes;
+				*can_mlock = bytes += inc;
 				__sync_synchronize();
 			}
 		}
 		__igt_waitchildren();
-		igt_assert(!mlock(can_mlock, *can_mlock));
-	}
 
-out:
-	ret = *can_mlock;
-	munmap(can_mlock, pin);
+		if (*can_mlock > locked + inc) { /* Weird bit of mm/ lore */
+			*can_mlock -= inc;
+			igt_debug("Claiming mlock %'"PRIu64"B (%'"PRIu64"MiB)\n",
+					*can_mlock, *can_mlock >> 20);
+			igt_assert(!mlock((void *)can_mlock + locked,
+						*can_mlock - locked));
+		}
+	}
 
-	return ret;
+	*total = pin;
+	return can_mlock;
 }
 
 static uint64_t vfs_file_max(void)
diff --git a/tests/eviction_common.c b/tests/eviction_common.c
index 321772ba7..a3b9e4167 100644
--- a/tests/eviction_common.c
+++ b/tests/eviction_common.c
@@ -133,23 +133,24 @@ static void mlocked_evictions(int fd, struct igt_eviction_test_ops *ops,
 			      uint64_t surface_size,
 			      uint64_t surface_count)
 {
+	uint64_t sz, pin, total;
 	void *mem;
-	uint64_t sz, pin_total;
 
 	intel_require_memory(surface_count, surface_size, CHECK_RAM);
 
-	sz = surface_size*surface_count;
-	pin_total = intel_get_total_pinnable_mem();
-	igt_require(pin_total > sz);
-
-	mem = mmap(NULL, pin_total, PROT_READ, MAP_SHARED | MAP_ANON, -1, 0);
+	mem = intel_get_total_pinnable_mem(&total);
 	igt_assert(mem != MAP_FAILED);
+	pin = *(uint64_t *)mem;
+	igt_assert(!munlock(mem, pin));
+
+	sz = surface_size * surface_count;
+	igt_require(pin > sz);
 
 	igt_fork(child, 1) {
 		uint32_t *bo;
 		uint64_t n;
 		int ret;
-		size_t lock = pin_total - sz;
+		size_t lock = pin - sz;
 
 		bo = malloc(surface_count * sizeof(*bo));
 		igt_assert(bo);
@@ -186,7 +187,7 @@ static void mlocked_evictions(int fd, struct igt_eviction_test_ops *ops,
 	}
 	igt_waitchildren();
 
-	munmap(mem, pin_total);
+	munmap(mem, total);
 }
 
 static int swapping_evictions(int fd, struct igt_eviction_test_ops *ops,
diff --git a/tests/i915/suspend.c b/tests/i915/suspend.c
index 84cb3b490..cd7cf9675 100644
--- a/tests/i915/suspend.c
+++ b/tests/i915/suspend.c
@@ -163,25 +163,14 @@ test_sysfs_reader(bool hibernate)
 static void
 test_shrink(int fd, unsigned int mode)
 {
-	void *mem;
 	size_t size;
+	void *mem;
 
 	gem_quiescent_gpu(fd);
 	intel_purge_vm_caches(fd);
 
-	size = intel_get_total_pinnable_mem();
-	igt_require(size > 64 << 20);
-	size -= 64 << 20;
-
-	mem = mmap(NULL, size, PROT_READ, MAP_SHARED | MAP_ANON, -1, 0);
-
-	intel_purge_vm_caches(fd);
-
-	igt_debug("Locking %'zu B (%'zu MiB)\n",
-		  size, size >> 20);
-	igt_assert(!mlock(mem, size));
-	igt_info("Locked %'zu B (%'zu MiB)\n",
-		 size, size >> 20);
+	mem = intel_get_total_pinnable_mem(&size);
+	igt_assert(mem != MAP_FAILED);
 
 	intel_purge_vm_caches(fd);
 	igt_system_suspend_autoresume(mode, SUSPEND_TEST_NONE);
-- 
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] 19+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] lib: Incrementally mlock()
  2019-02-20  5:39     ` Ashutosh Dixit
@ 2019-02-20 22:28       ` Caz Yokoyama
  0 siblings, 0 replies; 19+ messages in thread
From: Caz Yokoyama @ 2019-02-20 22:28 UTC (permalink / raw)
  To: Ashutosh Dixit, Chris Wilson; +Cc: igt-dev

Yes, it is a bug.

With the bug, mlocking is sparsely distributed, i.e. there are holes
between mlocked memories. Therefore, process is not killed.

By fixing the bug, continuously mlocked as planned and killed.

My test shows OOM kills a process when a process mlocks 128mb less than
pinnable memory while not when less than 256mb.

I'll send a patch where
- intel_get_total_pinnable_mem() reports pinnable memory
- test_shrink() mlocks X(>128, <256)mb
-caz

On Tue, 2019-02-19 at 21:39 -0800, Ashutosh Dixit wrote:
> On Tue, Feb 19 2019 at 09:26:56 PM, Ashutosh Dixit <
> ashutosh.dixit@intel.com> wrote:
> > On Tue, Feb 19 2019 at 03:21:10 PM, Chris Wilson <
> > chris@chris-wilson.co.uk> wrote:
> > > As we already have the previous portion of the mmap mlocked, we
> > > only
> > > need to mlock() the fresh portion for testing available memory.
> > 
> > Still looking at what is wrong with the patch but with the patch
> > the
> > test is unable to lock as much memory as before and invoke the
> > shrinker. Here are the outputs before and after the patch on a
> > system
> > with 16 GB:
> 
> OK, found the bug. The bug is that can_mlock is u64*. Therefore
> can_mlock must be cast to u8* on these two lines:
> 
> 
> > +     if (mlock(can_mlock + bytes, inc))
> 
> and 
> 
> > +	igt_assert(!mlock(can_mlock + locked, *can_mlock - locked));
> 
> However when we do this, the parent process invariably gets killed by
> the OOM killer, something which was not happening previously:
> 
> # ./i915_suspend --run-subtest shrink
> IGT-Version: 1.23-g9ef791ce (x86_64) (Linux: 5.0.0-rc5+ x86_64)
> Starting subtest: shrink
> child 0 died with signal 9, Killed
> child 0 died with signal 9, Killed
> child 0 died with signal 9, Killed
> child 0 died with signal 9, Killed
> child 0 died with signal 9, Killed
> child 0 died with signal 9, Killed
> Killed
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

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

* Re: [igt-dev] FW:  [PATCH i-g-t] lib: Incrementally mlock()
  2019-02-26 17:42     ` [igt-dev] FW: [PATCH i-g-t] " Yokoyama, Caz
@ 2019-02-26 17:42       ` Chris Wilson
  2019-02-26 20:34         ` Caz Yokoyama
  0 siblings, 1 reply; 19+ messages in thread
From: Chris Wilson @ 2019-02-26 17:42 UTC (permalink / raw)
  To: Yokoyama, Caz; +Cc: igt-dev

Quoting Yokoyama, Caz (2019-02-26 17:42:51)
> Chris,
> I am OK to give "Reviewed by: XXXX" to your patch.
> However, I want to add following comment/modification which does not
> affect the effect of your patch.
> 
> +                               /*
> +                                * This is a bug which mlocks far
> beyond memory,
> +                                * i.e. there is a hole between 3/4 of
> avail and
> +                                * (bytes * sizeof(*can_mlock)) where
> +                                * sizeof(*can_mlock)=8. Because of the
> hole, mlock()
> +                                * may fail and get out of while loop.
> +                                * However, We need the hole. Otherwise
> OOM kills parent
> +                                * process. Another mlock() below is
> same.
> +                                */
> +                               if (mlock((void *)can_mlock + (bytes *
> sizeof(*can_mlock)),

But that's a bug in our code, not mlock(). If we try to mlock more
memory than is available on the system, quite understandably mlock
fails.

So what you are saying here is that you purposely want to not find the
limits of mlockable memory.

The bug as far as I am concerned was that a subsequent mlock could not
claim the same amount of memory as a previous one -- that feels like the
mm is not reclaiming everything it can after killing the child, or at
least not making that available again immediately.
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] FW:  [PATCH i-g-t] lib: Incrementally mlock()
  2019-02-19 22:21   ` [igt-dev] [PATCH i-g-t] lib: Incrementally mlock() Chris Wilson
                       ` (2 preceding siblings ...)
  2019-02-20 12:01     ` [PATCH i-g-t v2] " Chris Wilson
@ 2019-02-26 17:42     ` Yokoyama, Caz
  2019-02-26 17:42       ` Chris Wilson
  3 siblings, 1 reply; 19+ messages in thread
From: Yokoyama, Caz @ 2019-02-26 17:42 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

Chris,
I am OK to give "Reviewed by: XXXX" to your patch.
However, I want to add following comment/modification which does not
affect the effect of your patch.

+				/*
+				 * This is a bug which mlocks far
beyond memory,
+				 * i.e. there is a hole between 3/4 of
avail and
+				 * (bytes * sizeof(*can_mlock)) where
+				 * sizeof(*can_mlock)=8. Because of the
hole, mlock()
+				 * may fail and get out of while loop.
+				 * However, We need the hole. Otherwise
OOM kills parent
+				 * process. Another mlock() below is
same.
+				 */
+				if (mlock((void *)can_mlock + (bytes *
sizeof(*can_mlock)),
+					  inc))
 					break;
-caz
P.S. Sorry for not clean thread sequence. I lost mails.

-----Original Message-----
From: igt-dev [mailto:igt-dev-bounces@lists.freedesktop.org] On Behalf
Of Chris Wilson
Sent: Tuesday, February 19, 2019 14:21
To: igt-dev@lists.freedesktop.org
Cc: Caz Yokoyama <caz@caz-nuc.ra.intel.com>
Subject: [igt-dev] [PATCH i-g-t] lib: Incrementally mlock()

As we already have the previous portion of the mmap mlocked, we only
need to mlock() the fresh portion for testing available memory.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Caz Yokoyama <caz@caz-nuc.ra.intel.com>
---
 lib/intel_os.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/lib/intel_os.c b/lib/intel_os.c index e1e31e230..961442a0d
100644
--- a/lib/intel_os.c
+++ b/lib/intel_os.c
@@ -250,22 +250,24 @@ intel_get_total_pinnable_mem(void)
 	}
 
 	for (uint64_t inc = 1024 << 20; inc >= 4 << 10; inc >>= 2) {
-		igt_debug("Testing mlock %'"PRIu64" B (%'"PRIu64"
MiB)\n",
-			  *can_mlock, *can_mlock >> 20);
+		uint64_t locked = *can_mlock;
+
+		igt_debug("Testing mlock %'"PRIu64"B (%'"PRIu64"MiB) +
%'"PRIu64"B\n",
+			  locked, locked >> 20, inc);
 
 		igt_fork(child, 1) {
-			for (uint64_t bytes = *can_mlock;
-			     bytes <= pin;
-			     bytes += inc) {
-				if (mlock(can_mlock, bytes))
+			uint64_t bytes = *can_mlock;
+
+			while (bytes <= pin) {
+				if (mlock(can_mlock + bytes, inc))
 					break;
 
-				*can_mlock = bytes;
+				*can_mlock = bytes += inc;
 				__sync_synchronize();
 			}
 		}
 		__igt_waitchildren();
-		igt_assert(!mlock(can_mlock, *can_mlock));
+		igt_assert(!mlock(can_mlock + locked, *can_mlock -
locked));
 	}
 
 out:
--
2.20.1

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

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

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

* [igt-dev] ✗ Fi.CI.BAT: failure for lib: igt@i915_suspend@shrink faster (rev3)
  2019-02-20  1:13 [igt-dev] [igt PATCH 0/1] lib: igt@i915_suspend@shrink faster Caz Yokoyama
                   ` (4 preceding siblings ...)
  2019-02-20  1:13 ` [igt-dev] [igt PATCH 1/1] igt@i915_suspend@shrink faster Caz Yokoyama
@ 2019-02-26 17:56 ` Patchwork
  5 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2019-02-26 17:56 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: lib: igt@i915_suspend@shrink faster (rev3)
URL   : https://patchwork.freedesktop.org/series/56911/
State : failure

== Summary ==

Applying: FW: [PATCH i-g-t] lib: Incrementally mlock()
Patch failed at 0001 FW: [PATCH i-g-t] lib: Incrementally mlock()
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

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

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

* Re: [igt-dev] FW:  [PATCH i-g-t] lib: Incrementally mlock()
  2019-02-26 17:42       ` Chris Wilson
@ 2019-02-26 20:34         ` Caz Yokoyama
  2019-02-26 21:31           ` Chris Wilson
  0 siblings, 1 reply; 19+ messages in thread
From: Caz Yokoyama @ 2019-02-26 20:34 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

On Tue, 2019-02-26 at 17:42 +0000, Chris Wilson wrote:
> Quoting Yokoyama, Caz (2019-02-26 17:42:51)
> > Chris,
> > I am OK to give "Reviewed by: XXXX" to your patch.
> > However, I want to add following comment/modification which does
> > not
> > affect the effect of your patch.
> > 
> > +                               /*
> > +                                * This is a bug which mlocks far
> > beyond memory,
> > +                                * i.e. there is a hole between 3/4
> > of
> > avail and
> > +                                * (bytes * sizeof(*can_mlock))
> > where
> > +                                * sizeof(*can_mlock)=8. Because of
> > the
> > hole, mlock()
> > +                                * may fail and get out of while
> > loop.
> > +                                * However, We need the hole.
> > Otherwise
> > OOM kills parent
> > +                                * process. Another mlock() below
> > is
> > same.
> > +                                */
> > +                               if (mlock((void *)can_mlock +
> > (bytes *
> > sizeof(*can_mlock)),
> 
> But that's a bug in our code, not mlock(). If we try to mlock more
> memory than is available on the system, quite understandably mlock
> fails.
> 
> So what you are saying here is that you purposely want to not find
> the
> limits of mlockable memory.
> 
> The bug as far as I am concerned was that a subsequent mlock could
> not
> claim the same amount of memory as a previous one -- that feels like
> the
> mm is not reclaiming everything it can after killing the child, or at
> least not making that available again immediately.
> -Chris
Even there was this bug in original code. We have to fix the bug.
However, Fixing the bug makes the test die. I proposed a solution. But
it destroys the purpose of the test. I have no idea how to achieve both
fixing the bug and test porpose.
-caz



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

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

* Re: [igt-dev] FW:  [PATCH i-g-t] lib: Incrementally mlock()
  2019-02-26 20:34         ` Caz Yokoyama
@ 2019-02-26 21:31           ` Chris Wilson
  2019-02-27  0:40             ` Caz Yokoyama
  0 siblings, 1 reply; 19+ messages in thread
From: Chris Wilson @ 2019-02-26 21:31 UTC (permalink / raw)
  To: Caz Yokoyama; +Cc: igt-dev

Quoting Caz Yokoyama (2019-02-26 20:34:01)
> On Tue, 2019-02-26 at 17:42 +0000, Chris Wilson wrote:
> > Quoting Yokoyama, Caz (2019-02-26 17:42:51)
> > > Chris,
> > > I am OK to give "Reviewed by: XXXX" to your patch.
> > > However, I want to add following comment/modification which does
> > > not
> > > affect the effect of your patch.
> > > 
> > > +                               /*
> > > +                                * This is a bug which mlocks far
> > > beyond memory,
> > > +                                * i.e. there is a hole between 3/4
> > > of
> > > avail and
> > > +                                * (bytes * sizeof(*can_mlock))
> > > where
> > > +                                * sizeof(*can_mlock)=8. Because of
> > > the
> > > hole, mlock()
> > > +                                * may fail and get out of while
> > > loop.
> > > +                                * However, We need the hole.
> > > Otherwise
> > > OOM kills parent
> > > +                                * process. Another mlock() below
> > > is
> > > same.
> > > +                                */
> > > +                               if (mlock((void *)can_mlock +
> > > (bytes *
> > > sizeof(*can_mlock)),
> > 
> > But that's a bug in our code, not mlock(). If we try to mlock more
> > memory than is available on the system, quite understandably mlock
> > fails.
> > 
> > So what you are saying here is that you purposely want to not find
> > the
> > limits of mlockable memory.
> > 
> > The bug as far as I am concerned was that a subsequent mlock could
> > not
> > claim the same amount of memory as a previous one -- that feels like
> > the
> > mm is not reclaiming everything it can after killing the child, or at
> > least not making that available again immediately.
> > -Chris
> Even there was this bug in original code. We have to fix the bug.
> However, Fixing the bug makes the test die. I proposed a solution. But
> it destroys the purpose of the test. I have no idea how to achieve both
> fixing the bug and test porpose.

You are replying to v1 not v2...
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] FW:  [PATCH i-g-t] lib: Incrementally mlock()
  2019-02-26 21:31           ` Chris Wilson
@ 2019-02-27  0:40             ` Caz Yokoyama
  2019-02-27  8:13               ` Chris Wilson
  0 siblings, 1 reply; 19+ messages in thread
From: Caz Yokoyama @ 2019-02-27  0:40 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

Chris,
I dropped v2. Therefore, I replied on v1.

Do you have any idea which achieve 1) not killed, 2) faster,
3) test purpose?
-caz

On Tue, 2019-02-26 at 21:31 +0000, Chris Wilson wrote:
> Quoting Caz Yokoyama (2019-02-26 20:34:01)
> > On Tue, 2019-02-26 at 17:42 +0000, Chris Wilson wrote:
> > > Quoting Yokoyama, Caz (2019-02-26 17:42:51)
> > > > Chris,
> > > > I am OK to give "Reviewed by: XXXX" to your patch.
> > > > However, I want to add following comment/modification which
> > > > does
> > > > not
> > > > affect the effect of your patch.
> > > > 
> > > > +                               /*
> > > > +                                * This is a bug which mlocks
> > > > far
> > > > beyond memory,
> > > > +                                * i.e. there is a hole between
> > > > 3/4
> > > > of
> > > > avail and
> > > > +                                * (bytes * sizeof(*can_mlock))
> > > > where
> > > > +                                * sizeof(*can_mlock)=8.
> > > > Because of
> > > > the
> > > > hole, mlock()
> > > > +                                * may fail and get out of
> > > > while
> > > > loop.
> > > > +                                * However, We need the hole.
> > > > Otherwise
> > > > OOM kills parent
> > > > +                                * process. Another mlock()
> > > > below
> > > > is
> > > > same.
> > > > +                                */
> > > > +                               if (mlock((void *)can_mlock +
> > > > (bytes *
> > > > sizeof(*can_mlock)),
> > > 
> > > But that's a bug in our code, not mlock(). If we try to mlock
> > > more
> > > memory than is available on the system, quite understandably
> > > mlock
> > > fails.
> > > 
> > > So what you are saying here is that you purposely want to not
> > > find
> > > the
> > > limits of mlockable memory.
> > > 
> > > The bug as far as I am concerned was that a subsequent mlock
> > > could
> > > not
> > > claim the same amount of memory as a previous one -- that feels
> > > like
> > > the
> > > mm is not reclaiming everything it can after killing the child,
> > > or at
> > > least not making that available again immediately.
> > > -Chris
> > 
> > Even there was this bug in original code. We have to fix the bug.
> > However, Fixing the bug makes the test die. I proposed a solution.
> > But
> > it destroys the purpose of the test. I have no idea how to achieve
> > both
> > fixing the bug and test porpose.
> 
> You are replying to v1 not v2...
> -Chris

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

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

* Re: [igt-dev] FW:  [PATCH i-g-t] lib: Incrementally mlock()
  2019-02-27  0:40             ` Caz Yokoyama
@ 2019-02-27  8:13               ` Chris Wilson
  0 siblings, 0 replies; 19+ messages in thread
From: Chris Wilson @ 2019-02-27  8:13 UTC (permalink / raw)
  To: Caz Yokoyama; +Cc: igt-dev

Quoting Caz Yokoyama (2019-02-27 00:40:31)
> Chris,
> I dropped v2. Therefore, I replied on v1.

I mean the v2 of _this_ patch.
> 
> Do you have any idea which achieve 1) not killed, 2) faster,
> 3) test purpose?

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

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

end of thread, other threads:[~2019-02-27  8:13 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-20  1:13 [igt-dev] [igt PATCH 0/1] lib: igt@i915_suspend@shrink faster Caz Yokoyama
2019-02-19 19:05 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-02-19 22:37 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-02-19 22:49 ` [igt-dev] ✓ Fi.CI.BAT: success for lib: igt@i915_suspend@shrink faster (rev2) Patchwork
2019-02-20  0:53 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-02-20  1:13 ` [igt-dev] [igt PATCH 1/1] igt@i915_suspend@shrink faster Caz Yokoyama
2019-02-19 22:21   ` [igt-dev] [PATCH i-g-t] lib: Incrementally mlock() Chris Wilson
2019-02-20  5:26     ` Ashutosh Dixit
2019-02-20  5:39     ` Ashutosh Dixit
2019-02-20 22:28       ` Caz Yokoyama
2019-02-20 12:01     ` [PATCH i-g-t v2] " Chris Wilson
2019-02-26 17:42     ` [igt-dev] FW: [PATCH i-g-t] " Yokoyama, Caz
2019-02-26 17:42       ` Chris Wilson
2019-02-26 20:34         ` Caz Yokoyama
2019-02-26 21:31           ` Chris Wilson
2019-02-27  0:40             ` Caz Yokoyama
2019-02-27  8:13               ` Chris Wilson
2019-02-20  3:14   ` [igt-dev] [igt PATCH 1/1] igt@i915_suspend@shrink faster Ashutosh Dixit
2019-02-26 17:56 ` [igt-dev] ✗ Fi.CI.BAT: failure for lib: igt@i915_suspend@shrink faster (rev3) 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.