* [igt-dev] [PATCH i-g-t 1/2] lib: Extract mlock probing
@ 2018-06-12 9:59 Michał Winiarski
2018-06-12 9:59 ` [igt-dev] [PATCH i-g-t 2/2] igt/evictions: Avoid getting killed by the reaper in mlock Michał Winiarski
` (6 more replies)
0 siblings, 7 replies; 10+ messages in thread
From: Michał Winiarski @ 2018-06-12 9:59 UTC (permalink / raw)
To: igt-dev
We already have the routine we need in drv_suspend. Let's move it to lib and
use it in the mlocking tests. We can also make it a bit faster if we tweak the
initial step and initial amount.
(I think it's safe to assume assume that we should be able to lock 3/4 of RAM,
this cuts the probe time on my 32G SKL - from ~530s to ~180s)
Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ewelina Musial <ewelina.musial@intel.com>
---
lib/igt_aux.h | 1 +
lib/intel_os.c | 50 +++++++++++++++++++++++++++++++++++++++++++++
tests/drv_suspend.c | 44 ++++++++++-----------------------------
3 files changed, 62 insertions(+), 33 deletions(-)
diff --git a/lib/igt_aux.h b/lib/igt_aux.h
index 0eb96e44..9a962881 100644
--- a/lib/igt_aux.h
+++ b/lib/igt_aux.h
@@ -209,6 +209,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);
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 f7ad05ac..8aa98d37 100644
--- a/lib/intel_os.c
+++ b/lib/intel_os.c
@@ -183,6 +183,56 @@ intel_get_total_swap_mb(void)
return retval / (1024*1024);
}
+/**
+ * intel_get_pinnable_mem:
+ *
+ * Compute the amount of memory that we're able to safely lock.
+ * Note that in order to achieve this, we're attempting to repeatedly lock more
+ * and more memory, which is a time consuming process.
+ *
+ * Returns: Amount of memory that can be safely pinned, in bytes.
+ */
+size_t
+intel_get_total_pinnable_mem(void)
+{
+ uint64_t *can_mlock, pin;
+ size_t ret;
+
+ pin = (intel_get_total_ram_mb() + 1) << 20;
+
+ can_mlock = mmap(NULL, pin, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
+ igt_require(can_mlock != MAP_FAILED);
+
+ /*
+ * We can reasonably assume that we should be able to lock at
+ * least 3/4 of available RAM
+ */
+ *can_mlock = (pin >> 1) + (pin >> 2);
+
+ for (uint64_t inc = 512 << 20; inc >= 4 << 10; inc >>= 2) {
+ igt_debug("Testing mlock %'"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();
+ }
+
+ ret = *can_mlock;
+ munmap(can_mlock, pin);
+
+ return ret;
+}
+
static uint64_t vfs_file_max(void)
{
static long long unsigned max;
diff --git a/tests/drv_suspend.c b/tests/drv_suspend.c
index 9a9ff200..b4212dca 100644
--- a/tests/drv_suspend.c
+++ b/tests/drv_suspend.c
@@ -163,52 +163,30 @@ test_sysfs_reader(bool hibernate)
static void
test_shrink(int fd, unsigned int mode)
{
- uint64_t *can_mlock, pin;
+ void *mem;
+ size_t size;
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();
- }
+ size = intel_get_total_pinnable_mem();
+ igt_require(size > 64 << 20);
+ size -= 64 << 20;
- intel_purge_vm_caches(fd);
+ mem = mmap(NULL, size, PROT_READ, MAP_SHARED | MAP_ANON, -1, 0);
- igt_require(*can_mlock > 64 << 20);
- *can_mlock -= 64 << 20;
+ intel_purge_vm_caches(fd);
igt_debug("Locking %'"PRIu64" B (%'"PRIu64" MiB)\n",
- *can_mlock, *can_mlock >> 20);
- igt_assert(!mlock(can_mlock, *can_mlock));
+ size, size >> 20);
+ igt_assert(!mlock(mem, size));
igt_info("Locked %'"PRIu64" B (%'"PRIu64" MiB)\n",
- *can_mlock, *can_mlock >> 20);
+ size, size >> 20);
intel_purge_vm_caches(fd);
igt_system_suspend_autoresume(mode, SUSPEND_TEST_NONE);
- munmap(can_mlock, pin);
+ munmap(mem, size);
}
static void
--
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] 10+ messages in thread
* [igt-dev] [PATCH i-g-t 2/2] igt/evictions: Avoid getting killed by the reaper in mlock
2018-06-12 9:59 [igt-dev] [PATCH i-g-t 1/2] lib: Extract mlock probing Michał Winiarski
@ 2018-06-12 9:59 ` Michał Winiarski
2018-06-12 11:59 ` Chris Wilson
2018-06-12 10:13 ` [igt-dev] [PATCH i-g-t 1/2] lib: Extract mlock probing Chris Wilson
` (5 subsequent siblings)
6 siblings, 1 reply; 10+ messages in thread
From: Michał Winiarski @ 2018-06-12 9:59 UTC (permalink / raw)
To: igt-dev
We're little bit too enthusiastic in our initial attempt to lock all
available memory. Let's use the mlock probe from lib rather than trying
to lock everything that sysinfo.freeram has to offer.
Note that we're only tweaking the initial step - it's still possible
that we're going to get killed later on.
Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ewelina Musial <ewelina.musial@intel.com>
---
tests/eviction_common.c | 54 ++++++++++++++++-------------------------
1 file changed, 21 insertions(+), 33 deletions(-)
diff --git a/tests/eviction_common.c b/tests/eviction_common.c
index 300eb03d..5b8ff14a 100644
--- a/tests/eviction_common.c
+++ b/tests/eviction_common.c
@@ -133,47 +133,33 @@ static void mlocked_evictions(int fd, struct igt_eviction_test_ops *ops,
uint64_t surface_size,
uint64_t surface_count)
{
- unsigned int *can_mlock;
- uint64_t sz, pin;
+ void *mem;
+ uint64_t sz, pin_total;
intel_require_memory(surface_count, surface_size, CHECK_RAM);
sz = surface_size*surface_count;
- pin = intel_get_avail_ram_mb();
- pin *= 1024 * 1024;
- igt_require(pin > sz);
- pin -= sz;
+ pin_total = intel_get_total_pinnable_mem();
+ igt_require(pin_total > sz);
- igt_debug("Pinning [%'lld, %'lld] MiB\n",
- (long long)pin/(1024*1024),
- (long long)(pin + sz)/(1024*1024));
-
- can_mlock = mmap(NULL, 4096, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
- igt_assert(can_mlock != MAP_FAILED);
+ mem = mmap(NULL, pin_total, PROT_READ, MAP_SHARED | MAP_ANON, -1, 0);
+ igt_assert(mem != MAP_FAILED);
igt_fork(child, 1) {
- void *locked;
-
- locked = malloc(pin + sz);
- if (locked != NULL && !mlock(locked, pin + sz))
- *can_mlock = 1;
- }
- igt_waitchildren();
- igt_require(*can_mlock);
- munmap(can_mlock, 4096);
-
- igt_fork(child, 1) {
- void *locked;
uint32_t *bo;
uint64_t n;
int ret;
+ size_t lock = pin_total - sz;
- bo = malloc(surface_count*sizeof(*bo));
+ bo = malloc(surface_count * sizeof(*bo));
igt_assert(bo);
+ lock -= ALIGN(surface_count * sizeof(*bo), 4096);
- locked = malloc(pin);
- if (locked == NULL || mlock(locked, pin))
- exit(ENOSPC);
+ igt_debug("Locking %'"PRIu64" B (%'"PRIu64" MiB)\n",
+ lock, lock >> 20);
+ igt_assert(!mlock(mem, lock));
+ igt_info("Locked %'"PRIu64" B (%'"PRIu64" MiB)\n",
+ lock, lock >> 20);
for (n = 0; n < surface_count; n++)
bo[n] = ops->create(fd, surface_size);
@@ -188,17 +174,19 @@ static void mlocked_evictions(int fd, struct igt_eviction_test_ops *ops,
* our pages into memory), start a memory hog to
* force evictions.
*/
-
- locked = malloc(surface_size);
- if (locked == NULL || mlock(locked, surface_size))
- free(locked);
+ igt_assert(!mlock(mem + lock, surface_size));
+ lock += surface_size;
+ igt_debug("Total locked %'"PRIu64" B (%'"PRIu64" MiB)\n",
+ lock,
+ lock >> 20);
}
for (n = 0; n < surface_count; n++)
ops->close(fd, bo[n]);
}
-
igt_waitchildren();
+
+ munmap(mem, pin_total);
}
static int swapping_evictions(int fd, struct igt_eviction_test_ops *ops,
--
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] 10+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/2] lib: Extract mlock probing
2018-06-12 9:59 [igt-dev] [PATCH i-g-t 1/2] lib: Extract mlock probing Michał Winiarski
2018-06-12 9:59 ` [igt-dev] [PATCH i-g-t 2/2] igt/evictions: Avoid getting killed by the reaper in mlock Michał Winiarski
@ 2018-06-12 10:13 ` Chris Wilson
2018-06-12 10:51 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] " Patchwork
` (4 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Chris Wilson @ 2018-06-12 10:13 UTC (permalink / raw)
To: Michał Winiarski, igt-dev
Quoting Michał Winiarski (2018-06-12 10:59:17)
> We already have the routine we need in drv_suspend. Let's move it to lib and
> use it in the mlocking tests. We can also make it a bit faster if we tweak the
> initial step and initial amount.
> (I think it's safe to assume assume that we should be able to lock 3/4 of RAM,
> this cuts the probe time on my 32G SKL - from ~530s to ~180s)
>
> Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Ewelina Musial <ewelina.musial@intel.com>
> ---
> lib/igt_aux.h | 1 +
> lib/intel_os.c | 50 +++++++++++++++++++++++++++++++++++++++++++++
> tests/drv_suspend.c | 44 ++++++++++-----------------------------
> 3 files changed, 62 insertions(+), 33 deletions(-)
>
> diff --git a/lib/igt_aux.h b/lib/igt_aux.h
> index 0eb96e44..9a962881 100644
> --- a/lib/igt_aux.h
> +++ b/lib/igt_aux.h
> @@ -209,6 +209,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);
>
> 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 f7ad05ac..8aa98d37 100644
> --- a/lib/intel_os.c
> +++ b/lib/intel_os.c
> @@ -183,6 +183,56 @@ intel_get_total_swap_mb(void)
> return retval / (1024*1024);
> }
>
> +/**
> + * intel_get_pinnable_mem:
> + *
> + * Compute the amount of memory that we're able to safely lock.
> + * Note that in order to achieve this, we're attempting to repeatedly lock more
> + * and more memory, which is a time consuming process.
> + *
> + * Returns: Amount of memory that can be safely pinned, in bytes.
> + */
> +size_t
> +intel_get_total_pinnable_mem(void)
> +{
> + uint64_t *can_mlock, pin;
> + size_t ret;
> +
> + pin = (intel_get_total_ram_mb() + 1) << 20;
> +
> + can_mlock = mmap(NULL, pin, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
> + igt_require(can_mlock != MAP_FAILED);
> +
> + /*
> + * We can reasonably assume that we should be able to lock at
> + * least 3/4 of available RAM
> + */
The key part there being *available*. Might be better to start with
what's reported as available, and start the evictions from there.
> + *can_mlock = (pin >> 1) + (pin >> 2);
if (mlock(can_mlock, *can_mlock))
*can_mlock = 0;
> +
> + for (uint64_t inc = 512 << 20; inc >= 4 << 10; inc >>= 2) {
29 -> 12, does not fit into steps of 2.
> + igt_debug("Testing mlock %'"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();
One thing to do to speed this is is to keep what we've achieved so far
locked.
igt_assert(!mlock(can_mlock, *can_mlock));
> + }
> +
> + ret = *can_mlock;
> + munmap(can_mlock, pin);
> +
> + return ret;
> +}
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 10+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] lib: Extract mlock probing
2018-06-12 9:59 [igt-dev] [PATCH i-g-t 1/2] lib: Extract mlock probing Michał Winiarski
2018-06-12 9:59 ` [igt-dev] [PATCH i-g-t 2/2] igt/evictions: Avoid getting killed by the reaper in mlock Michał Winiarski
2018-06-12 10:13 ` [igt-dev] [PATCH i-g-t 1/2] lib: Extract mlock probing Chris Wilson
@ 2018-06-12 10:51 ` Patchwork
2018-06-12 11:26 ` [igt-dev] [PATCH i-g-t v2 1/2] " Michał Winiarski
` (3 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2018-06-12 10:51 UTC (permalink / raw)
To: Michał Winiarski; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/2] lib: Extract mlock probing
URL : https://patchwork.freedesktop.org/series/44613/
State : success
== Summary ==
= CI Bug Log - changes from CI_DRM_4302 -> IGTPW_1445 =
== Summary - WARNING ==
Minor unknown changes coming with IGTPW_1445 need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_1445, 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/44613/revisions/1/mbox/
== Possible new issues ==
Here are the unknown changes that may have been introduced in IGTPW_1445:
=== IGT changes ===
==== Warnings ====
igt@gem_exec_gttfill@basic:
fi-pnv-d510: SKIP -> PASS
igt@gem_mmap_gtt@basic-small-bo-tiledy:
fi-gdg-551: PASS -> SKIP
== Known issues ==
Here are the changes found in IGTPW_1445 that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@gem_mmap_gtt@basic-small-copy:
fi-glk-j4005: PASS -> DMESG-WARN (fdo#105719)
igt@kms_flip@basic-flip-vs-modeset:
fi-glk-j4005: PASS -> DMESG-WARN (fdo#106000)
igt@kms_frontbuffer_tracking@basic:
fi-hsw-4200u: PASS -> DMESG-FAIL (fdo#106103, fdo#102614)
fi-hsw-peppy: PASS -> DMESG-FAIL (fdo#106103, fdo#102614)
igt@prime_vgem@basic-fence-flip:
fi-ilk-650: PASS -> FAIL (fdo#104008)
==== Possible fixes ====
igt@gem_mmap_gtt@basic-small-bo-tiledx:
fi-gdg-551: FAIL (fdo#102575) -> SKIP
igt@kms_pipe_crc_basic@read-crc-pipe-b-frame-sequence:
fi-glk-j4005: FAIL (fdo#103481) -> PASS
igt@kms_pipe_crc_basic@read-crc-pipe-c:
fi-glk-j4005: DMESG-WARN (fdo#106000, fdo#106097) -> PASS
igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
fi-cnl-psr: DMESG-WARN (fdo#104951) -> PASS
fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575
fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
fdo#103481 https://bugs.freedesktop.org/show_bug.cgi?id=103481
fdo#104008 https://bugs.freedesktop.org/show_bug.cgi?id=104008
fdo#104951 https://bugs.freedesktop.org/show_bug.cgi?id=104951
fdo#105719 https://bugs.freedesktop.org/show_bug.cgi?id=105719
fdo#106000 https://bugs.freedesktop.org/show_bug.cgi?id=106000
fdo#106097 https://bugs.freedesktop.org/show_bug.cgi?id=106097
fdo#106103 https://bugs.freedesktop.org/show_bug.cgi?id=106103
== Participating hosts (41 -> 36) ==
Missing (5): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-skl-6700hq
== Build changes ==
* IGT: IGT_4513 -> IGTPW_1445
CI_DRM_4302: ef129f260b2bd362959651fe8e20e369bf3c977e @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_1445: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1445/
IGT_4513: 7b6838781441cfbc7f6c18f421f127dfb02b44cf @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1445/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 10+ messages in thread
* [igt-dev] [PATCH i-g-t v2 1/2] lib: Extract mlock probing
2018-06-12 9:59 [igt-dev] [PATCH i-g-t 1/2] lib: Extract mlock probing Michał Winiarski
` (2 preceding siblings ...)
2018-06-12 10:51 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] " Patchwork
@ 2018-06-12 11:26 ` Michał Winiarski
2018-06-12 11:52 ` Chris Wilson
2018-06-12 13:10 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/2] " Patchwork
` (2 subsequent siblings)
6 siblings, 1 reply; 10+ messages in thread
From: Michał Winiarski @ 2018-06-12 11:26 UTC (permalink / raw)
To: igt-dev
We already have the routine we need in drv_suspend. Let's move it to lib and
use it in the mlocking tests. We can also make it a bit faster if we tweak the
initial step and initial amount.
(I think it's safe to assume assume that we should be able to lock 3/4 of RAM,
this cuts the probe time on my 32G SKL - from ~530s to ~180s)
v2: Use available mem, amend step, also lock outside of fork,
early exit if the assumption is wrong (Chris)
Update the function name in doc (Ewelina)
Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ewelina Musial <ewelina.musial@intel.com>
---
lib/igt_aux.h | 1 +
lib/intel_os.c | 56 +++++++++++++++++++++++++++++++++++++++++++++
tests/drv_suspend.c | 44 +++++++++--------------------------
3 files changed, 68 insertions(+), 33 deletions(-)
diff --git a/lib/igt_aux.h b/lib/igt_aux.h
index 0eb96e44..9a962881 100644
--- a/lib/igt_aux.h
+++ b/lib/igt_aux.h
@@ -209,6 +209,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);
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 f7ad05ac..8d096edf 100644
--- a/lib/intel_os.c
+++ b/lib/intel_os.c
@@ -183,6 +183,62 @@ intel_get_total_swap_mb(void)
return retval / (1024*1024);
}
+/**
+ * intel_get_total_pinnable_mem:
+ *
+ * Compute the amount of memory that we're able to safely lock.
+ * Note that in order to achieve this, we're attempting to repeatedly lock more
+ * and more memory, which is a time consuming process.
+ *
+ * Returns: Amount of memory that can be safely pinned, in bytes.
+ */
+size_t
+intel_get_total_pinnable_mem(void)
+{
+ uint64_t *can_mlock, pin;
+ size_t ret;
+
+ pin = (intel_get_avail_ram_mb() + 1) << 20;
+
+ can_mlock = mmap(NULL, pin, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
+ igt_require(can_mlock != MAP_FAILED);
+
+ /*
+ * We can reasonably assume that we should be able to lock at
+ * least 3/4 of available RAM
+ */
+ *can_mlock = (pin >> 1) + (pin >> 2);
+ if (mlock(can_mlock, *can_mlock)) {
+ *can_mlock = 0;
+ goto out;
+ }
+
+ 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);
+
+ 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();
+ igt_assert(!mlock(can_mlock, *can_mlock));
+ }
+
+out:
+ ret = *can_mlock;
+ munmap(can_mlock, pin);
+
+ return ret;
+}
+
static uint64_t vfs_file_max(void)
{
static long long unsigned max;
diff --git a/tests/drv_suspend.c b/tests/drv_suspend.c
index 9a9ff200..b4212dca 100644
--- a/tests/drv_suspend.c
+++ b/tests/drv_suspend.c
@@ -163,52 +163,30 @@ test_sysfs_reader(bool hibernate)
static void
test_shrink(int fd, unsigned int mode)
{
- uint64_t *can_mlock, pin;
+ void *mem;
+ size_t size;
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();
- }
+ size = intel_get_total_pinnable_mem();
+ igt_require(size > 64 << 20);
+ size -= 64 << 20;
- intel_purge_vm_caches(fd);
+ mem = mmap(NULL, size, PROT_READ, MAP_SHARED | MAP_ANON, -1, 0);
- igt_require(*can_mlock > 64 << 20);
- *can_mlock -= 64 << 20;
+ intel_purge_vm_caches(fd);
igt_debug("Locking %'"PRIu64" B (%'"PRIu64" MiB)\n",
- *can_mlock, *can_mlock >> 20);
- igt_assert(!mlock(can_mlock, *can_mlock));
+ size, size >> 20);
+ igt_assert(!mlock(mem, size));
igt_info("Locked %'"PRIu64" B (%'"PRIu64" MiB)\n",
- *can_mlock, *can_mlock >> 20);
+ size, size >> 20);
intel_purge_vm_caches(fd);
igt_system_suspend_autoresume(mode, SUSPEND_TEST_NONE);
- munmap(can_mlock, pin);
+ munmap(mem, size);
}
static void
--
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] 10+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 1/2] lib: Extract mlock probing
2018-06-12 11:26 ` [igt-dev] [PATCH i-g-t v2 1/2] " Michał Winiarski
@ 2018-06-12 11:52 ` Chris Wilson
0 siblings, 0 replies; 10+ messages in thread
From: Chris Wilson @ 2018-06-12 11:52 UTC (permalink / raw)
To: Michał Winiarski, igt-dev
Quoting Michał Winiarski (2018-06-12 12:26:34)
> We already have the routine we need in drv_suspend. Let's move it to lib and
> use it in the mlocking tests. We can also make it a bit faster if we tweak the
> initial step and initial amount.
> (I think it's safe to assume assume that we should be able to lock 3/4 of RAM,
> this cuts the probe time on my 32G SKL - from ~530s to ~180s)
>
> v2: Use available mem, amend step, also lock outside of fork,
> early exit if the assumption is wrong (Chris)
> Update the function name in doc (Ewelina)
>
> Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Ewelina Musial <ewelina.musial@intel.com>
> ---
> lib/igt_aux.h | 1 +
> lib/intel_os.c | 56 +++++++++++++++++++++++++++++++++++++++++++++
> tests/drv_suspend.c | 44 +++++++++--------------------------
> 3 files changed, 68 insertions(+), 33 deletions(-)
>
> diff --git a/lib/igt_aux.h b/lib/igt_aux.h
> index 0eb96e44..9a962881 100644
> --- a/lib/igt_aux.h
> +++ b/lib/igt_aux.h
> @@ -209,6 +209,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);
>
> 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 f7ad05ac..8d096edf 100644
> --- a/lib/intel_os.c
> +++ b/lib/intel_os.c
> @@ -183,6 +183,62 @@ intel_get_total_swap_mb(void)
> return retval / (1024*1024);
> }
>
> +/**
> + * intel_get_total_pinnable_mem:
> + *
> + * Compute the amount of memory that we're able to safely lock.
> + * Note that in order to achieve this, we're attempting to repeatedly lock more
> + * and more memory, which is a time consuming process.
> + *
> + * Returns: Amount of memory that can be safely pinned, in bytes.
> + */
> +size_t
> +intel_get_total_pinnable_mem(void)
> +{
> + uint64_t *can_mlock, pin;
> + size_t ret;
> +
> + pin = (intel_get_avail_ram_mb() + 1) << 20;
> +
> + can_mlock = mmap(NULL, pin, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
> + igt_require(can_mlock != MAP_FAILED);
> +
> + /*
> + * We can reasonably assume that we should be able to lock at
> + * least 3/4 of available RAM
> + */
> + *can_mlock = (pin >> 1) + (pin >> 2);
We want to use avail as the starting value, but keep total as the target
value, imho.
Other than that,
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Still not sure why your 32G machine is so slow, I did a few trial runs
on 32G kbl if memory serves. But just curiosity.
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/2] igt/evictions: Avoid getting killed by the reaper in mlock
2018-06-12 9:59 ` [igt-dev] [PATCH i-g-t 2/2] igt/evictions: Avoid getting killed by the reaper in mlock Michał Winiarski
@ 2018-06-12 11:59 ` Chris Wilson
0 siblings, 0 replies; 10+ messages in thread
From: Chris Wilson @ 2018-06-12 11:59 UTC (permalink / raw)
To: Michał Winiarski, igt-dev
Quoting Michał Winiarski (2018-06-12 10:59:18)
> We're little bit too enthusiastic in our initial attempt to lock all
> available memory. Let's use the mlock probe from lib rather than trying
> to lock everything that sysinfo.freeram has to offer.
> Note that we're only tweaking the initial step - it's still possible
> that we're going to get killed later on.
>
> Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Ewelina Musial <ewelina.musial@intel.com>
Seems a reasonable straight forward conversion,
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 10+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/2] lib: Extract mlock probing
2018-06-12 9:59 [igt-dev] [PATCH i-g-t 1/2] lib: Extract mlock probing Michał Winiarski
` (3 preceding siblings ...)
2018-06-12 11:26 ` [igt-dev] [PATCH i-g-t v2 1/2] " Michał Winiarski
@ 2018-06-12 13:10 ` Patchwork
2018-06-12 13:35 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,v2,1/2] lib: Extract mlock probing (rev2) Patchwork
2018-06-12 17:47 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
6 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2018-06-12 13:10 UTC (permalink / raw)
To: Michał Winiarski; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/2] lib: Extract mlock probing
URL : https://patchwork.freedesktop.org/series/44613/
State : success
== Summary ==
= CI Bug Log - changes from IGT_4513_full -> IGTPW_1445_full =
== Summary - WARNING ==
Minor unknown changes coming with IGTPW_1445_full need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_1445_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/44613/revisions/1/mbox/
== Possible new issues ==
Here are the unknown changes that may have been introduced in IGTPW_1445_full:
=== IGT changes ===
==== Warnings ====
igt@gem_mocs_settings@mocs-rc6-bsd1:
shard-kbl: PASS -> SKIP
igt@kms_plane_lowres@pipe-b-tiling-none:
shard-snb: PASS -> SKIP +3
igt@pm_rc6_residency@rc6-accuracy:
shard-kbl: SKIP -> PASS +1
== Known issues ==
Here are the changes found in IGTPW_1445_full that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@gem_ppgtt@blt-vs-render-ctxn:
shard-kbl: PASS -> INCOMPLETE (fdo#106023, fdo#103665)
igt@kms_flip@2x-dpms-vs-vblank-race-interruptible:
shard-hsw: PASS -> FAIL (fdo#103060)
igt@kms_flip@plain-flip-ts-check-interruptible:
shard-hsw: PASS -> FAIL (fdo#100368)
igt@kms_flip_tiling@flip-to-x-tiled:
shard-glk: PASS -> FAIL (fdo#103822, fdo#104724) +1
igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc:
shard-glk: PASS -> FAIL (fdo#103167, fdo#104724)
igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
shard-snb: PASS -> FAIL (fdo#103166, fdo#104724)
igt@testdisplay:
shard-glk: PASS -> INCOMPLETE (fdo#103359, k.org#198133)
==== Possible fixes ====
igt@drv_suspend@shrink:
shard-apl: INCOMPLETE (fdo#103927) -> PASS
shard-glk: INCOMPLETE (fdo#103359, k.org#198133) -> PASS
igt@gem_eio@hibernate:
shard-snb: INCOMPLETE (fdo#105411) -> PASS
igt@gem_exec_big:
shard-hsw: INCOMPLETE (fdo#103540) -> PASS
igt@kms_flip@2x-flip-vs-blocking-wf-vblank:
shard-glk: FAIL (fdo#100368) -> PASS
igt@kms_flip@plain-flip-ts-check:
shard-hsw: FAIL (fdo#100368) -> PASS
igt@kms_flip_tiling@flip-x-tiled:
shard-glk: FAIL (fdo#104724) -> PASS
igt@kms_rotation_crc@primary-rotation-180:
shard-snb: FAIL (fdo#103925, fdo#104724) -> PASS
igt@perf@polling:
shard-hsw: FAIL (fdo#102252) -> PASS
==== Warnings ====
igt@gem_eio@suspend:
shard-snb: FAIL (fdo#105957) -> INCOMPLETE (fdo#105411)
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
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#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540
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#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
fdo#104724 https://bugs.freedesktop.org/show_bug.cgi?id=104724
fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
fdo#105957 https://bugs.freedesktop.org/show_bug.cgi?id=105957
fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023
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_4513 -> IGTPW_1445
* Linux: CI_DRM_4294 -> CI_DRM_4302
CI_DRM_4294: af0889384edc6de2f91494325d571c66dffea83f @ git://anongit.freedesktop.org/gfx-ci/linux
CI_DRM_4302: ef129f260b2bd362959651fe8e20e369bf3c977e @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_1445: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1445/
IGT_4513: 7b6838781441cfbc7f6c18f421f127dfb02b44cf @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1445/shards.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 10+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,v2,1/2] lib: Extract mlock probing (rev2)
2018-06-12 9:59 [igt-dev] [PATCH i-g-t 1/2] lib: Extract mlock probing Michał Winiarski
` (4 preceding siblings ...)
2018-06-12 13:10 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/2] " Patchwork
@ 2018-06-12 13:35 ` Patchwork
2018-06-12 17:47 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
6 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2018-06-12 13:35 UTC (permalink / raw)
To: Michał Winiarski; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,v2,1/2] lib: Extract mlock probing (rev2)
URL : https://patchwork.freedesktop.org/series/44613/
State : success
== Summary ==
= CI Bug Log - changes from CI_DRM_4302 -> IGTPW_1447 =
== Summary - WARNING ==
Minor unknown changes coming with IGTPW_1447 need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_1447, 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/44613/revisions/2/mbox/
== Possible new issues ==
Here are the unknown changes that may have been introduced in IGTPW_1447:
=== IGT changes ===
==== Warnings ====
igt@gem_mmap_gtt@basic-small-bo-tiledy:
fi-gdg-551: PASS -> SKIP
== Known issues ==
Here are the changes found in IGTPW_1447 that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@kms_chamelium@hdmi-hpd-fast:
fi-kbl-7500u: SKIP -> FAIL (fdo#103841, fdo#102672)
igt@kms_flip@basic-flip-vs-dpms:
fi-glk-j4005: PASS -> DMESG-WARN (fdo#106000, fdo#106097)
igt@kms_flip@basic-flip-vs-modeset:
fi-glk-j4005: PASS -> DMESG-WARN (fdo#106000)
igt@prime_vgem@basic-busy-default:
fi-glk-j4005: PASS -> DMESG-WARN (fdo#105719)
==== Possible fixes ====
igt@gem_mmap_gtt@basic-small-bo-tiledx:
fi-gdg-551: FAIL (fdo#102575) -> SKIP
igt@kms_pipe_crc_basic@read-crc-pipe-b-frame-sequence:
fi-glk-j4005: FAIL (fdo#103481) -> PASS
igt@kms_pipe_crc_basic@read-crc-pipe-c:
fi-glk-j4005: DMESG-WARN (fdo#106000, fdo#106097) -> PASS
igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
fi-cnl-psr: DMESG-WARN (fdo#104951) -> PASS
fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575
fdo#102672 https://bugs.freedesktop.org/show_bug.cgi?id=102672
fdo#103481 https://bugs.freedesktop.org/show_bug.cgi?id=103481
fdo#103841 https://bugs.freedesktop.org/show_bug.cgi?id=103841
fdo#104951 https://bugs.freedesktop.org/show_bug.cgi?id=104951
fdo#105719 https://bugs.freedesktop.org/show_bug.cgi?id=105719
fdo#106000 https://bugs.freedesktop.org/show_bug.cgi?id=106000
fdo#106097 https://bugs.freedesktop.org/show_bug.cgi?id=106097
== Participating hosts (41 -> 38) ==
Additional (2): fi-bdw-gvtdvm fi-skl-gvtdvm
Missing (5): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-skl-6700hq
== Build changes ==
* IGT: IGT_4513 -> IGTPW_1447
CI_DRM_4302: ef129f260b2bd362959651fe8e20e369bf3c977e @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_1447: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1447/
IGT_4513: 7b6838781441cfbc7f6c18f421f127dfb02b44cf @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1447/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 10+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,v2,1/2] lib: Extract mlock probing (rev2)
2018-06-12 9:59 [igt-dev] [PATCH i-g-t 1/2] lib: Extract mlock probing Michał Winiarski
` (5 preceding siblings ...)
2018-06-12 13:35 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,v2,1/2] lib: Extract mlock probing (rev2) Patchwork
@ 2018-06-12 17:47 ` Patchwork
6 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2018-06-12 17:47 UTC (permalink / raw)
To: Michał Winiarski; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,v2,1/2] lib: Extract mlock probing (rev2)
URL : https://patchwork.freedesktop.org/series/44613/
State : success
== Summary ==
= CI Bug Log - changes from IGT_4513_full -> IGTPW_1447_full =
== Summary - WARNING ==
Minor unknown changes coming with IGTPW_1447_full need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_1447_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/44613/revisions/2/mbox/
== Possible new issues ==
Here are the unknown changes that may have been introduced in IGTPW_1447_full:
=== IGT changes ===
==== Warnings ====
igt@gem_exec_schedule@deep-blt:
shard-kbl: SKIP -> PASS +2
igt@gem_mocs_settings@mocs-rc6-vebox:
shard-kbl: PASS -> SKIP
igt@pm_rc6_residency@rc6-accuracy:
shard-snb: PASS -> SKIP
== Known issues ==
Here are the changes found in IGTPW_1447_full that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@kms_cursor_legacy@flip-vs-cursor-legacy:
shard-hsw: PASS -> FAIL (fdo#102670)
igt@kms_flip@2x-modeset-vs-vblank-race-interruptible:
shard-glk: PASS -> FAIL (fdo#103060)
igt@kms_flip@2x-plain-flip-ts-check:
shard-hsw: PASS -> FAIL (fdo#100368)
igt@kms_flip_tiling@flip-to-y-tiled:
shard-glk: PASS -> FAIL (fdo#103822, fdo#104724)
igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc:
shard-glk: PASS -> FAIL (fdo#103167, fdo#104724) +1
igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
shard-snb: PASS -> FAIL (fdo#103166, fdo#104724)
igt@perf_pmu@other-init-3:
shard-snb: PASS -> INCOMPLETE (fdo#105411)
igt@testdisplay:
shard-glk: PASS -> INCOMPLETE (k.org#198133, fdo#103359)
==== Possible fixes ====
igt@drv_suspend@shrink:
shard-apl: INCOMPLETE (fdo#103927) -> PASS
shard-glk: INCOMPLETE (k.org#198133, fdo#103359) -> PASS
igt@gem_eio@hibernate:
shard-snb: INCOMPLETE (fdo#105411) -> PASS
igt@gem_eio@suspend:
shard-snb: FAIL (fdo#105957) -> PASS
igt@gem_exec_big:
shard-hsw: INCOMPLETE (fdo#103540) -> PASS
igt@kms_flip@2x-flip-vs-blocking-wf-vblank:
shard-glk: FAIL (fdo#100368) -> PASS
igt@kms_flip@plain-flip-ts-check:
shard-hsw: FAIL (fdo#100368) -> PASS
igt@kms_rotation_crc@sprite-rotation-180:
shard-snb: FAIL (fdo#103925, fdo#104724) -> PASS
igt@perf@polling:
shard-hsw: FAIL (fdo#102252) -> PASS
==== Warnings ====
igt@drv_selftest@live_gtt:
shard-glk: FAIL (fdo#105347) -> INCOMPLETE (k.org#198133, fdo#103359)
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670
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#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540
fdo#103822 https://bugs.freedesktop.org/show_bug.cgi?id=103822
fdo#103925 https://bugs.freedesktop.org/show_bug.cgi?id=103925
fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
fdo#104724 https://bugs.freedesktop.org/show_bug.cgi?id=104724
fdo#105347 https://bugs.freedesktop.org/show_bug.cgi?id=105347
fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
fdo#105957 https://bugs.freedesktop.org/show_bug.cgi?id=105957
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_4513 -> IGTPW_1447
* Linux: CI_DRM_4294 -> CI_DRM_4302
CI_DRM_4294: af0889384edc6de2f91494325d571c66dffea83f @ git://anongit.freedesktop.org/gfx-ci/linux
CI_DRM_4302: ef129f260b2bd362959651fe8e20e369bf3c977e @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_1447: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1447/
IGT_4513: 7b6838781441cfbc7f6c18f421f127dfb02b44cf @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1447/shards.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2018-06-12 17:47 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-12 9:59 [igt-dev] [PATCH i-g-t 1/2] lib: Extract mlock probing Michał Winiarski
2018-06-12 9:59 ` [igt-dev] [PATCH i-g-t 2/2] igt/evictions: Avoid getting killed by the reaper in mlock Michał Winiarski
2018-06-12 11:59 ` Chris Wilson
2018-06-12 10:13 ` [igt-dev] [PATCH i-g-t 1/2] lib: Extract mlock probing Chris Wilson
2018-06-12 10:51 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] " Patchwork
2018-06-12 11:26 ` [igt-dev] [PATCH i-g-t v2 1/2] " Michał Winiarski
2018-06-12 11:52 ` Chris Wilson
2018-06-12 13:10 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/2] " Patchwork
2018-06-12 13:35 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,v2,1/2] lib: Extract mlock probing (rev2) Patchwork
2018-06-12 17:47 ` [igt-dev] ✓ Fi.CI.IGT: " 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.