* [Intel-gfx] [PATCH i-g-t 1/2] i915/gem_mmap_offset: Exercise many, many mmap_offset
@ 2020-01-17 22:22 Chris Wilson
2020-01-17 22:22 ` [Intel-gfx] [PATCH i-g-t 2/2] i915/gem_mmap_offset: Relax isolation rules Chris Wilson
2020-01-17 23:16 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/2] i915/gem_mmap_offset: Exercise many, many mmap_offset Patchwork
0 siblings, 2 replies; 3+ messages in thread
From: Chris Wilson @ 2020-01-17 22:22 UTC (permalink / raw)
To: intel-gfx
Just keep on generating a new mmap_offset for the same old buffer, but
for different handles and so exercise the scaling of the obj->mmo lists.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
---
tests/i915/gem_mmap_offset.c | 64 ++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/tests/i915/gem_mmap_offset.c b/tests/i915/gem_mmap_offset.c
index 95e1e3e6c..c3b85d29e 100644
--- a/tests/i915/gem_mmap_offset.c
+++ b/tests/i915/gem_mmap_offset.c
@@ -326,6 +326,67 @@ static void close_race(int i915, int timeout)
munmap(handles, len);
}
+static void open_flood(int i915, int timeout)
+{
+ unsigned long count;
+ uint32_t handle;
+ int dmabuf;
+ int *ctl;
+
+ ctl = mmap(0, 4096, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
+ igt_assert(ctl != MAP_FAILED);
+
+ handle = gem_create(i915, 4096);
+ dmabuf = prime_handle_to_fd(i915, handle);
+
+ for_each_mmap_offset_type(t) {
+ struct drm_i915_gem_mmap_offset arg = {
+ .handle = handle,
+ .flags = t->type,
+ };
+
+ if (mmap_offset_ioctl(i915, &arg))
+ continue;
+
+ igt_fork(child, 1) {
+ i915 = gem_reopen_driver(i915);
+ arg.handle = prime_fd_to_handle(i915, dmabuf);
+
+ do {
+ igt_assert_eq(mmap_offset_ioctl(i915, &arg), 0);
+ } while (!READ_ONCE(*ctl));
+ }
+ }
+ gem_close(i915, handle);
+
+ count = 0;
+ igt_until_timeout(timeout) {
+ int tmp;
+
+ tmp = gem_reopen_driver(i915);
+ handle = prime_fd_to_handle(i915, dmabuf);
+
+ for_each_mmap_offset_type(t) {
+ struct drm_i915_gem_mmap_offset arg = {
+ .handle = handle,
+ .flags = t->type,
+ };
+
+ mmap_offset_ioctl(i915, &arg);
+ }
+
+ close(tmp);
+ count++;
+ }
+
+ igt_info("Completed %lu cycles\n", count);
+ close(dmabuf);
+
+ *ctl = 1;
+ igt_waitchildren();
+ munmap(ctl, 4096);
+}
+
static uint64_t atomic_compare_swap_u64(_Atomic(uint64_t) *ptr,
uint64_t oldval, uint64_t newval)
{
@@ -488,6 +549,9 @@ igt_main
igt_subtest_f("close-race")
close_race(i915, 20);
+ igt_subtest_f("open-flood")
+ open_flood(i915, 20);
+
igt_subtest_f("clear")
always_clear(i915, 20);
--
2.25.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Intel-gfx] [PATCH i-g-t 2/2] i915/gem_mmap_offset: Relax isolation rules
2020-01-17 22:22 [Intel-gfx] [PATCH i-g-t 1/2] i915/gem_mmap_offset: Exercise many, many mmap_offset Chris Wilson
@ 2020-01-17 22:22 ` Chris Wilson
2020-01-17 23:16 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/2] i915/gem_mmap_offset: Exercise many, many mmap_offset Patchwork
1 sibling, 0 replies; 3+ messages in thread
From: Chris Wilson @ 2020-01-17 22:22 UTC (permalink / raw)
To: intel-gfx
It is legal for mmap_offset_ioctl to return the same offset for
different clients, so long as that offset is only valid for use with the
client's fd and no one elses.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
tests/i915/gem_mmap_offset.c | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/tests/i915/gem_mmap_offset.c b/tests/i915/gem_mmap_offset.c
index c3b85d29e..83e9890a5 100644
--- a/tests/i915/gem_mmap_offset.c
+++ b/tests/i915/gem_mmap_offset.c
@@ -233,15 +233,17 @@ static void isolation(int i915)
igt_assert(ptr == MAP_FAILED);
igt_assert_eq(errno, EACCES);
- errno = 0;
- ptr = mmap64(0, 4096, PROT_READ, MAP_SHARED, B, offset_a);
- igt_assert(ptr == MAP_FAILED);
- igt_assert_eq(errno, EACCES);
-
- errno = 0;
- ptr = mmap64(0, 4096, PROT_READ, MAP_SHARED, A, offset_b);
- igt_assert(ptr == MAP_FAILED);
- igt_assert_eq(errno, EACCES);
+ if (offset_a != offset_b) {
+ errno = 0;
+ ptr = mmap(0, 4096, PROT_READ, MAP_SHARED, B, offset_a);
+ igt_assert(ptr == MAP_FAILED);
+ igt_assert_eq(errno, EACCES);
+
+ errno = 0;
+ ptr = mmap(0, 4096, PROT_READ, MAP_SHARED, A, offset_b);
+ igt_assert(ptr == MAP_FAILED);
+ igt_assert_eq(errno, EACCES);
+ }
close(B);
--
2.25.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/2] i915/gem_mmap_offset: Exercise many, many mmap_offset
2020-01-17 22:22 [Intel-gfx] [PATCH i-g-t 1/2] i915/gem_mmap_offset: Exercise many, many mmap_offset Chris Wilson
2020-01-17 22:22 ` [Intel-gfx] [PATCH i-g-t 2/2] i915/gem_mmap_offset: Relax isolation rules Chris Wilson
@ 2020-01-17 23:16 ` Patchwork
1 sibling, 0 replies; 3+ messages in thread
From: Patchwork @ 2020-01-17 23:16 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] i915/gem_mmap_offset: Exercise many, many mmap_offset
URL : https://patchwork.freedesktop.org/series/72222/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_7768 -> IGTPW_3940
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_3940 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_3940, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3940/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_3940:
### IGT changes ###
#### Possible regressions ####
* igt@kms_chamelium@dp-edid-read:
- fi-cml-u2: [PASS][1] -> [FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7768/fi-cml-u2/igt@kms_chamelium@dp-edid-read.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3940/fi-cml-u2/igt@kms_chamelium@dp-edid-read.html
Known issues
------------
Here are the changes found in IGTPW_3940 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_suspend@basic-s3:
- fi-cml-s: [PASS][3] -> [DMESG-WARN][4] ([fdo#111764])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7768/fi-cml-s/igt@gem_exec_suspend@basic-s3.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3940/fi-cml-s/igt@gem_exec_suspend@basic-s3.html
* igt@i915_pm_rpm@module-reload:
- fi-skl-6600u: [PASS][5] -> [DMESG-WARN][6] ([i915#889]) +23 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7768/fi-skl-6600u/igt@i915_pm_rpm@module-reload.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3940/fi-skl-6600u/igt@i915_pm_rpm@module-reload.html
* igt@i915_selftest@live_gt_lrc:
- fi-skl-6600u: [PASS][7] -> [DMESG-FAIL][8] ([i915#889]) +7 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7768/fi-skl-6600u/igt@i915_selftest@live_gt_lrc.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3940/fi-skl-6600u/igt@i915_selftest@live_gt_lrc.html
#### Possible fixes ####
* igt@gem_close_race@basic-threads:
- fi-byt-j1900: [TIMEOUT][9] ([fdo#112271] / [i915#816]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7768/fi-byt-j1900/igt@gem_close_race@basic-threads.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3940/fi-byt-j1900/igt@gem_close_race@basic-threads.html
* igt@gem_exec_suspend@basic-s0:
- fi-cml-s: [FAIL][11] ([fdo#103375]) -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7768/fi-cml-s/igt@gem_exec_suspend@basic-s0.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3940/fi-cml-s/igt@gem_exec_suspend@basic-s0.html
* igt@i915_selftest@live_blt:
- fi-ivb-3770: [DMESG-FAIL][13] ([i915#563]) -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7768/fi-ivb-3770/igt@i915_selftest@live_blt.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3940/fi-ivb-3770/igt@i915_selftest@live_blt.html
#### Warnings ####
* igt@i915_module_load@reload-with-fault-injection:
- fi-skl-6770hq: [DMESG-WARN][15] ([i915#889]) -> [INCOMPLETE][16] ([i915#671])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7768/fi-skl-6770hq/igt@i915_module_load@reload-with-fault-injection.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3940/fi-skl-6770hq/igt@i915_module_load@reload-with-fault-injection.html
[fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
[fdo#111764]: https://bugs.freedesktop.org/show_bug.cgi?id=111764
[fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
[i915#563]: https://gitlab.freedesktop.org/drm/intel/issues/563
[i915#671]: https://gitlab.freedesktop.org/drm/intel/issues/671
[i915#816]: https://gitlab.freedesktop.org/drm/intel/issues/816
[i915#889]: https://gitlab.freedesktop.org/drm/intel/issues/889
Participating hosts (47 -> 45)
------------------------------
Additional (2): fi-hsw-4770r fi-hsw-4770
Missing (4): fi-byt-clapper fi-byt-squawks fi-bsw-cyan fi-hsw-4200u
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5372 -> IGTPW_3940
CI-20190529: 20190529
CI_DRM_7768: 7db45c7ebc9f6ce2c31c543f26ebdb385a7a52a0 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3940: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3940/index.html
IGT_5372: 0d00a27fbbd4d4a77d24499ea9811e07e65eb0ac @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+igt@gem_mmap_offset@open-flood
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3940/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-01-17 23:16 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-17 22:22 [Intel-gfx] [PATCH i-g-t 1/2] i915/gem_mmap_offset: Exercise many, many mmap_offset Chris Wilson
2020-01-17 22:22 ` [Intel-gfx] [PATCH i-g-t 2/2] i915/gem_mmap_offset: Relax isolation rules Chris Wilson
2020-01-17 23:16 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/2] i915/gem_mmap_offset: Exercise many, many mmap_offset Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).