All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t 1/2] lib: Prioritise oom targetting our children.
@ 2018-05-25 12:19 ` Chris Wilson
  0 siblings, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2018-05-25 12:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: igt-dev

We are not nice parents and would sacrifice any one of our children so
that the core process can report the failure neatly.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 lib/igt_core.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index e292ca24c..2bee0831b 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -564,17 +564,27 @@ static void print_usage(const char *help_str, bool output_on_stderr)
 		fprintf(f, "%s\n", help_str);
 }
 
-
 static void oom_adjust_for_doom(void)
 {
+	const char always_kill[] = "900"; /* leave room for children! */
 	int fd;
-	const char always_kill[] = "1000";
 
 	fd = open("/proc/self/oom_score_adj", O_WRONLY);
 	igt_assert(fd != -1);
 	igt_assert(write(fd, always_kill, sizeof(always_kill)) == sizeof(always_kill));
 	close(fd);
+}
 
+static void oom_adjust_for_greater_doom(void)
+{
+	const char always_kill[] = "1000";
+	int fd;
+
+	fd = open("/proc/self/oom_score_adj", O_WRONLY);
+	if (fd != -1) {
+		igt_ignore_warn(write(fd, always_kill, sizeof(always_kill)));
+		close(fd);
+	}
 }
 
 #ifdef HAVE_GLIB
@@ -1618,7 +1628,7 @@ bool __igt_fork_helper(struct igt_helper_process *proc)
 		igt_assert(0);
 	case 0:
 		reset_helper_process_list();
-		oom_adjust_for_doom();
+		oom_adjust_for_greater_doom();
 
 		return true;
 	default:
@@ -1721,7 +1731,7 @@ bool __igt_fork(void)
 		test_child = true;
 		exit_handler_count = 0;
 		reset_helper_process_list();
-		oom_adjust_for_doom();
+		oom_adjust_for_greater_doom();
 
 		return true;
 	default:
-- 
2.17.0

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

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

* [igt-dev] [PATCH i-g-t 1/2] lib: Prioritise oom targetting our children.
@ 2018-05-25 12:19 ` Chris Wilson
  0 siblings, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2018-05-25 12:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: igt-dev

We are not nice parents and would sacrifice any one of our children so
that the core process can report the failure neatly.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 lib/igt_core.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index e292ca24c..2bee0831b 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -564,17 +564,27 @@ static void print_usage(const char *help_str, bool output_on_stderr)
 		fprintf(f, "%s\n", help_str);
 }
 
-
 static void oom_adjust_for_doom(void)
 {
+	const char always_kill[] = "900"; /* leave room for children! */
 	int fd;
-	const char always_kill[] = "1000";
 
 	fd = open("/proc/self/oom_score_adj", O_WRONLY);
 	igt_assert(fd != -1);
 	igt_assert(write(fd, always_kill, sizeof(always_kill)) == sizeof(always_kill));
 	close(fd);
+}
 
+static void oom_adjust_for_greater_doom(void)
+{
+	const char always_kill[] = "1000";
+	int fd;
+
+	fd = open("/proc/self/oom_score_adj", O_WRONLY);
+	if (fd != -1) {
+		igt_ignore_warn(write(fd, always_kill, sizeof(always_kill)));
+		close(fd);
+	}
 }
 
 #ifdef HAVE_GLIB
@@ -1618,7 +1628,7 @@ bool __igt_fork_helper(struct igt_helper_process *proc)
 		igt_assert(0);
 	case 0:
 		reset_helper_process_list();
-		oom_adjust_for_doom();
+		oom_adjust_for_greater_doom();
 
 		return true;
 	default:
@@ -1721,7 +1731,7 @@ bool __igt_fork(void)
 		test_child = true;
 		exit_handler_count = 0;
 		reset_helper_process_list();
-		oom_adjust_for_doom();
+		oom_adjust_for_greater_doom();
 
 		return true;
 	default:
-- 
2.17.0

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

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

* [PATCH i-g-t 2/2] tests/drv_suspend: Suspend under memory pressure
  2018-05-25 12:19 ` [igt-dev] " Chris Wilson
@ 2018-05-25 12:19   ` Chris Wilson
  -1 siblings, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2018-05-25 12:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: igt-dev, Tomi Sarvela

Recently we discovered that we have a race between swapping and
suspend in our resume path (we might be trying to page in an object
after disabling the block devices). Let's try to exercise that by
exhausting all of system memory before suspend.

v2: Explicitly share the large memory area on forking to avoid running
out of memory inside the suspend helpers (for they fork!)

References: https://bugs.freedesktop.org/show_bug.cgi?id=106640
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tomi Sarvela <tomi.p.sarvela@intel.com>
Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
---
 lib/igt_core.c      | 34 ++++++++++++++++------------
 lib/igt_core.h      |  1 +
 tests/drv_suspend.c | 54 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 75 insertions(+), 14 deletions(-)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index 2bee0831b..95417d159 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1766,20 +1766,7 @@ void igt_child_done(pid_t pid)
 		test_children[i] = test_children[i + 1];
 }
 
-/**
- * igt_waitchildren:
- *
- * Wait for all children forked with igt_fork.
- *
- * The magic here is that exit codes from children will be correctly propagated
- * to the main thread, including the relevant exit code if a child thread failed.
- * Of course if multiple children failed with different exit codes the resulting
- * exit code will be non-deterministic.
- *
- * Note that igt_skip() will not be forwarded, feature tests need to be done
- * before spawning threads with igt_fork().
- */
-void igt_waitchildren(void)
+int __igt_waitchildren(void)
 {
 	int err = 0;
 	int count;
@@ -1825,6 +1812,25 @@ void igt_waitchildren(void)
 	}
 
 	num_test_children = 0;
+	return err;
+}
+
+/**
+ * igt_waitchildren:
+ *
+ * Wait for all children forked with igt_fork.
+ *
+ * The magic here is that exit codes from children will be correctly propagated
+ * to the main thread, including the relevant exit code if a child thread failed.
+ * Of course if multiple children failed with different exit codes the resulting
+ * exit code will be non-deterministic.
+ *
+ * Note that igt_skip() will not be forwarded, feature tests need to be done
+ * before spawning threads with igt_fork().
+ */
+void igt_waitchildren(void)
+{
+	int err = __igt_waitchildren();
 	if (err)
 		igt_fail(err);
 }
diff --git a/lib/igt_core.h b/lib/igt_core.h
index 3d7b787b2..6d4260403 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -742,6 +742,7 @@ bool __igt_fork(void);
 	for (int child = 0; child < (num_children); child++) \
 		for (; __igt_fork(); exit(0))
 void igt_child_done(pid_t pid);
+int __igt_waitchildren(void);
 void igt_waitchildren(void);
 void igt_waitchildren_timeout(int seconds, const char *reason);
 
diff --git a/tests/drv_suspend.c b/tests/drv_suspend.c
index 2e39f20ae..9a9ff2005 100644
--- a/tests/drv_suspend.c
+++ b/tests/drv_suspend.c
@@ -160,6 +160,57 @@ test_sysfs_reader(bool hibernate)
 	igt_stop_helper(&reader);
 }
 
+static void
+test_shrink(int fd, unsigned int mode)
+{
+	uint64_t *can_mlock, pin;
+
+	gem_quiescent_gpu(fd);
+	intel_purge_vm_caches(fd);
+
+	pin = (intel_get_total_ram_mb() + 1) << 20;
+
+	igt_debug("Total memory %'"PRIu64" B (%'"PRIu64" MiB)\n",
+		  pin, pin >> 20);
+	can_mlock = mmap(NULL, pin, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
+	igt_require(can_mlock != MAP_FAILED);
+
+	/* Lock all the system memory, forcing the driver into swap and OOM */
+	for (uint64_t inc = 64 << 20; inc >= 4 << 10; inc >>= 1) {
+		igt_debug("Testing+ %'"PRIu64" B (%'"PRIu64" MiB)\n",
+			  *can_mlock, *can_mlock >> 20);
+
+		igt_fork(child, 1) {
+			for (uint64_t bytes = *can_mlock;
+			     bytes <= pin;
+			     bytes += inc) {
+				if (mlock(can_mlock, bytes))
+					break;
+
+				*can_mlock = bytes;
+				__sync_synchronize();
+			}
+		}
+		__igt_waitchildren();
+	}
+
+	intel_purge_vm_caches(fd);
+
+	igt_require(*can_mlock > 64 << 20);
+	*can_mlock -= 64 << 20;
+
+	igt_debug("Locking %'"PRIu64" B (%'"PRIu64" MiB)\n",
+		  *can_mlock, *can_mlock >> 20);
+	igt_assert(!mlock(can_mlock, *can_mlock));
+	igt_info("Locked %'"PRIu64" B (%'"PRIu64" MiB)\n",
+		 *can_mlock, *can_mlock >> 20);
+
+	intel_purge_vm_caches(fd);
+	igt_system_suspend_autoresume(mode, SUSPEND_TEST_NONE);
+
+	munmap(can_mlock, pin);
+}
+
 static void
 test_forcewake(int fd, bool hibernate)
 {
@@ -199,6 +250,9 @@ igt_main
 	igt_subtest("sysfs-reader")
 		test_sysfs_reader(false);
 
+	igt_subtest("shrink")
+		test_shrink(fd, SUSPEND_STATE_MEM);
+
 	igt_subtest("forcewake")
 		test_forcewake(fd, false);
 
-- 
2.17.0

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

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

* [igt-dev] [PATCH i-g-t 2/2] tests/drv_suspend: Suspend under memory pressure
@ 2018-05-25 12:19   ` Chris Wilson
  0 siblings, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2018-05-25 12:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: igt-dev, Tomi Sarvela

Recently we discovered that we have a race between swapping and
suspend in our resume path (we might be trying to page in an object
after disabling the block devices). Let's try to exercise that by
exhausting all of system memory before suspend.

v2: Explicitly share the large memory area on forking to avoid running
out of memory inside the suspend helpers (for they fork!)

References: https://bugs.freedesktop.org/show_bug.cgi?id=106640
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tomi Sarvela <tomi.p.sarvela@intel.com>
Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
---
 lib/igt_core.c      | 34 ++++++++++++++++------------
 lib/igt_core.h      |  1 +
 tests/drv_suspend.c | 54 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 75 insertions(+), 14 deletions(-)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index 2bee0831b..95417d159 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1766,20 +1766,7 @@ void igt_child_done(pid_t pid)
 		test_children[i] = test_children[i + 1];
 }
 
-/**
- * igt_waitchildren:
- *
- * Wait for all children forked with igt_fork.
- *
- * The magic here is that exit codes from children will be correctly propagated
- * to the main thread, including the relevant exit code if a child thread failed.
- * Of course if multiple children failed with different exit codes the resulting
- * exit code will be non-deterministic.
- *
- * Note that igt_skip() will not be forwarded, feature tests need to be done
- * before spawning threads with igt_fork().
- */
-void igt_waitchildren(void)
+int __igt_waitchildren(void)
 {
 	int err = 0;
 	int count;
@@ -1825,6 +1812,25 @@ void igt_waitchildren(void)
 	}
 
 	num_test_children = 0;
+	return err;
+}
+
+/**
+ * igt_waitchildren:
+ *
+ * Wait for all children forked with igt_fork.
+ *
+ * The magic here is that exit codes from children will be correctly propagated
+ * to the main thread, including the relevant exit code if a child thread failed.
+ * Of course if multiple children failed with different exit codes the resulting
+ * exit code will be non-deterministic.
+ *
+ * Note that igt_skip() will not be forwarded, feature tests need to be done
+ * before spawning threads with igt_fork().
+ */
+void igt_waitchildren(void)
+{
+	int err = __igt_waitchildren();
 	if (err)
 		igt_fail(err);
 }
diff --git a/lib/igt_core.h b/lib/igt_core.h
index 3d7b787b2..6d4260403 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -742,6 +742,7 @@ bool __igt_fork(void);
 	for (int child = 0; child < (num_children); child++) \
 		for (; __igt_fork(); exit(0))
 void igt_child_done(pid_t pid);
+int __igt_waitchildren(void);
 void igt_waitchildren(void);
 void igt_waitchildren_timeout(int seconds, const char *reason);
 
diff --git a/tests/drv_suspend.c b/tests/drv_suspend.c
index 2e39f20ae..9a9ff2005 100644
--- a/tests/drv_suspend.c
+++ b/tests/drv_suspend.c
@@ -160,6 +160,57 @@ test_sysfs_reader(bool hibernate)
 	igt_stop_helper(&reader);
 }
 
+static void
+test_shrink(int fd, unsigned int mode)
+{
+	uint64_t *can_mlock, pin;
+
+	gem_quiescent_gpu(fd);
+	intel_purge_vm_caches(fd);
+
+	pin = (intel_get_total_ram_mb() + 1) << 20;
+
+	igt_debug("Total memory %'"PRIu64" B (%'"PRIu64" MiB)\n",
+		  pin, pin >> 20);
+	can_mlock = mmap(NULL, pin, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
+	igt_require(can_mlock != MAP_FAILED);
+
+	/* Lock all the system memory, forcing the driver into swap and OOM */
+	for (uint64_t inc = 64 << 20; inc >= 4 << 10; inc >>= 1) {
+		igt_debug("Testing+ %'"PRIu64" B (%'"PRIu64" MiB)\n",
+			  *can_mlock, *can_mlock >> 20);
+
+		igt_fork(child, 1) {
+			for (uint64_t bytes = *can_mlock;
+			     bytes <= pin;
+			     bytes += inc) {
+				if (mlock(can_mlock, bytes))
+					break;
+
+				*can_mlock = bytes;
+				__sync_synchronize();
+			}
+		}
+		__igt_waitchildren();
+	}
+
+	intel_purge_vm_caches(fd);
+
+	igt_require(*can_mlock > 64 << 20);
+	*can_mlock -= 64 << 20;
+
+	igt_debug("Locking %'"PRIu64" B (%'"PRIu64" MiB)\n",
+		  *can_mlock, *can_mlock >> 20);
+	igt_assert(!mlock(can_mlock, *can_mlock));
+	igt_info("Locked %'"PRIu64" B (%'"PRIu64" MiB)\n",
+		 *can_mlock, *can_mlock >> 20);
+
+	intel_purge_vm_caches(fd);
+	igt_system_suspend_autoresume(mode, SUSPEND_TEST_NONE);
+
+	munmap(can_mlock, pin);
+}
+
 static void
 test_forcewake(int fd, bool hibernate)
 {
@@ -199,6 +250,9 @@ igt_main
 	igt_subtest("sysfs-reader")
 		test_sysfs_reader(false);
 
+	igt_subtest("shrink")
+		test_shrink(fd, SUSPEND_STATE_MEM);
+
 	igt_subtest("forcewake")
 		test_forcewake(fd, false);
 
-- 
2.17.0

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] lib: Prioritise oom targetting our children.
  2018-05-25 12:19 ` [igt-dev] " Chris Wilson
  (?)
  (?)
@ 2018-05-25 13:38 ` Patchwork
  -1 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2018-05-25 13:38 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/2] lib: Prioritise oom targetting our children.
URL   : https://patchwork.freedesktop.org/series/43771/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4238 -> IGTPW_1401 =

== Summary - SUCCESS ==

  No regressions found.

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

== Known issues ==

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

  === IGT changes ===

    ==== Possible fixes ====

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-snb-2520m:       INCOMPLETE (fdo#103713) -> PASS

    
  fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713


== Participating hosts (44 -> 39) ==

  Missing    (5): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-skl-6700hq 


== Build changes ==

    * IGT: IGT_4498 -> IGTPW_1401

  CI_DRM_4238: 2771a5e6347eb63e43fdfc432a9f15ffb55ef209 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1401: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1401/
  IGT_4498: f9ecb79ad8b02278cfdb5b82495df47061c04f8f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@drv_suspend@shrink

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/2] lib: Prioritise oom targetting our children.
  2018-05-25 12:19 ` [igt-dev] " Chris Wilson
                   ` (2 preceding siblings ...)
  (?)
@ 2018-05-25 20:24 ` Patchwork
  2018-05-25 20:33   ` Chris Wilson
  -1 siblings, 1 reply; 7+ messages in thread
From: Patchwork @ 2018-05-25 20:24 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/2] lib: Prioritise oom targetting our children.
URL   : https://patchwork.freedesktop.org/series/43771/
State : success

== Summary ==

= CI Bug Log - changes from IGT_4498_full -> IGTPW_1401_full =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_1401_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1401_full, 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/43771/revisions/1/mbox/

== Possible new issues ==

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

  === IGT changes ===

    ==== Possible regressions ====

    {igt@drv_suspend@shrink}:
      shard-snb:          NOTRUN -> FAIL
      shard-hsw:          NOTRUN -> FAIL
      shard-apl:          NOTRUN -> FAIL
      shard-glk:          NOTRUN -> FAIL

    
    ==== Warnings ====

    igt@gem_exec_schedule@deep-render:
      shard-kbl:          PASS -> SKIP

    igt@gem_mocs_settings@mocs-rc6-vebox:
      shard-kbl:          SKIP -> PASS +1

    igt@kms_chv_cursor_fail@pipe-a-256x256-bottom-edge:
      shard-snb:          SKIP -> PASS

    
== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    {igt@drv_suspend@shrink}:
      shard-kbl:          NOTRUN -> INCOMPLETE (fdo#103665)

    igt@gem_ppgtt@blt-vs-render-ctxn:
      shard-kbl:          PASS -> INCOMPLETE (fdo#106023, fdo#103665)

    {igt@kms_available_modes_crc@available_mode_test_crc}:
      shard-snb:          PASS -> FAIL (fdo#106641)

    igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
      shard-glk:          PASS -> FAIL (fdo#106509, fdo#105454)

    igt@kms_flip_tiling@flip-to-y-tiled:
      shard-glk:          PASS -> FAIL (fdo#104724)

    igt@kms_vblank@pipe-c-ts-continuation-suspend:
      shard-kbl:          PASS -> INCOMPLETE (fdo#103665)

    
    ==== Possible fixes ====

    igt@drv_selftest@live_gtt:
      shard-kbl:          INCOMPLETE (fdo#103665) -> PASS
      shard-glk:          INCOMPLETE (fdo#103359, k.org#198133) -> PASS

    igt@gem_ppgtt@blt-vs-render-ctx0:
      shard-kbl:          INCOMPLETE (fdo#106023, fdo#103665) -> PASS

    {igt@kms_available_modes_crc@available_mode_test_crc}:
      shard-apl:          FAIL (fdo#106641) -> PASS

    igt@kms_flip@flip-vs-expired-vblank:
      shard-glk:          FAIL (fdo#102887) -> PASS

    igt@kms_flip@flip-vs-expired-vblank-interruptible:
      shard-glk:          FAIL (fdo#102887, fdo#105363) -> PASS

    igt@kms_flip@plain-flip-fb-recreate:
      shard-glk:          FAIL (fdo#100368) -> PASS

    igt@kms_flip_tiling@flip-to-x-tiled:
      shard-glk:          FAIL (fdo#103822, fdo#104724) -> PASS

    igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
      shard-snb:          FAIL (fdo#103166, fdo#104724) -> PASS

    igt@kms_rotation_crc@sprite-rotation-180:
      shard-snb:          FAIL (fdo#103925, fdo#104724) -> PASS

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

  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#103822 https://bugs.freedesktop.org/show_bug.cgi?id=103822
  fdo#103925 https://bugs.freedesktop.org/show_bug.cgi?id=103925
  fdo#104724 https://bugs.freedesktop.org/show_bug.cgi?id=104724
  fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
  fdo#105454 https://bugs.freedesktop.org/show_bug.cgi?id=105454
  fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023
  fdo#106509 https://bugs.freedesktop.org/show_bug.cgi?id=106509
  fdo#106641 https://bugs.freedesktop.org/show_bug.cgi?id=106641
  k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133


== Participating hosts (5 -> 5) ==

  No changes in participating hosts


== Build changes ==

    * IGT: IGT_4498 -> IGTPW_1401
    * Linux: CI_DRM_4227 -> CI_DRM_4238

  CI_DRM_4227: a8727d3fe03770e4d523468dfbc487dfe01597d3 @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_4238: 2771a5e6347eb63e43fdfc432a9f15ffb55ef209 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1401: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1401/
  IGT_4498: f9ecb79ad8b02278cfdb5b82495df47061c04f8f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* Re: [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/2] lib: Prioritise oom targetting our children.
  2018-05-25 20:24 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2018-05-25 20:33   ` Chris Wilson
  0 siblings, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2018-05-25 20:33 UTC (permalink / raw)
  Cc: igt-dev

Quoting Patchwork (2018-05-25 21:24:03)
> == Series Details ==
> 
> Series: series starting with [i-g-t,1/2] lib: Prioritise oom targetting our children.
> URL   : https://patchwork.freedesktop.org/series/43771/
> State : success
> 
> == Summary ==
> 
> = CI Bug Log - changes from IGT_4498_full -> IGTPW_1401_full =
> 
> == Summary - WARNING ==
> 
>   Minor unknown changes coming with IGTPW_1401_full need to be verified
>   manually.
>   
>   If you think the reported changes have nothing to do with the changes
>   introduced in IGTPW_1401_full, 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/43771/revisions/1/mbox/
> 
> == Possible new issues ==
> 
>   Here are the unknown changes that may have been introduced in IGTPW_1401_full:
> 
>   === IGT changes ===
> 
>     ==== Possible regressions ====
> 
>     {igt@drv_suspend@shrink}:
>       shard-snb:          NOTRUN -> FAIL
>       shard-hsw:          NOTRUN -> FAIL
>       shard-apl:          NOTRUN -> FAIL
>       shard-glk:          NOTRUN -> FAIL


<6>[  381.756790] [ pid ]   uid  tgid total_vm      rss pgtables_bytes swapents oom_score_adj name
<6>[  381.756809] [  199]     0   199    43711        0   356352      179             0 systemd-journal
<6>[  381.756818] [  223]     0   223    11093        0   114688      523         -1000 systemd-udevd
<6>[  381.756827] [  323]   102   323    17652        0   176128      177             0 systemd-resolve
<6>[  381.756834] [  354]     0   354    45273        0   196608      206             0 thermald
<6>[  381.756841] [  375]     0   375   106781        0   327680      354             0 ModemManager
<6>[  381.756848] [  388]     0   388     8135        0   106496      100             0 cron
<6>[  381.756856] [  395]     0   395    17646        0   180224      181             0 systemd-logind
<6>[  381.756863] [  401]   104   401    65759        0   159744      454             0 rsyslogd
<6>[  381.756870] [  404]   118   404    11845        0   139264      152             0 avahi-daemon
<6>[  381.756878] [  413]   118   413    11769        0   131072       85             0 avahi-daemon
<6>[  381.756885] [  423]     0   423     1138        0    57344       41             0 acpid
<6>[  381.756893] [  432]     0   432    27627        0   114688      101             0 irqbalance
<6>[  381.756900] [  438]     0   438    42936        2   225280     1998             0 networkd-dispat
<6>[  381.756908] [  440]   106   440    12594        0   139264      250          -900 dbus-daemon
<6>[  381.756915] [  447]     0   447    11188        0   126976      150             0 wpa_supplicant
<6>[  381.756922] [  451]     0   451     2479        0    57344       36             0 rngd
<6>[  381.756929] [  490]     0   490    72217        0   204800      219             0 polkitd
<6>[  381.756937] [  504]     0   504   120443        0   421888      716             0 NetworkManager
<6>[  381.756944] [  609]     0   609    18074        0   180224      188         -1000 sshd
<6>[  381.756952] [  611]     0   611     4350        0    73728       37             0 agetty
<6>[  381.756959] [  773]     0   773    26431        1   241664      248             0 sshd
<6>[  381.756966] [  778]  1000   778    19149        1   180224      269             0 systemd
<6>[  381.756973] [  781]  1000   781    28473        0   262144      620             0 (sd-pam)
<6>[  381.756981] [  819]  1000   819    27041        1   245760      290             0 sshd
<6>[  381.756988] [  848]  1000   848  1397624        0   700416    28215             0 java
<6>[  381.756995] [  880]  1000   880     3526        1    73728       72             0 bash
<6>[  381.757003] [  946]     0   946    16707        1   180224      119             0 sudo
<6>[  381.757010] [  951]     0   951     2479        0    65536       36             0 rngd
<6>[  381.757017] [  969]  1000   969     3807        0    77824       45             0 dmesg
<6>[  381.757024] [  971]     0   971    16707        1   180224      120             0 sudo
<6>[  381.757031] [  975]     0   975     1129        0    53248       22             0 owatch
<6>[  381.757039] [  976]     0   976   264811        0   577536    32095             0 python3
<6>[  381.757056] [ 1558]     0  1558     6414        1    98304      304             0 dhclient
<6>[  381.757064] [ 1699]     0  1699  2042728        1   405504      430           900 drv_suspend
<6>[  381.757071] [ 1712]     0  1712  2042728  1929000 15839232        0          1000 drv_suspend
<3>[  381.757076] Out of memory: Kill process 1699 (drv_suspend) score 900 or sacrifice child
<3>[  381.757690] Killed process 1699 (drv_suspend) total-vm:8170912kB, anon-rss:0kB, file-rss:0kB, shmem-rss:4kB

How? Explain to me how oomkiller picked the parent with score 900 over 
the child that has a base score of 1000.
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2018-05-25 20:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-25 12:19 [PATCH i-g-t 1/2] lib: Prioritise oom targetting our children Chris Wilson
2018-05-25 12:19 ` [igt-dev] " Chris Wilson
2018-05-25 12:19 ` [PATCH i-g-t 2/2] tests/drv_suspend: Suspend under memory pressure Chris Wilson
2018-05-25 12:19   ` [igt-dev] " Chris Wilson
2018-05-25 13:38 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] lib: Prioritise oom targetting our children Patchwork
2018-05-25 20:24 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2018-05-25 20:33   ` 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.