All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 0/2] Predicate for CI only
@ 2021-12-09 10:00 Zbigniew Kempczyński
  2021-12-09 10:00 ` [igt-dev] [PATCH i-g-t 1/2] tests/gem_exec_predicate: Leave predicate set before bbe Zbigniew Kempczyński
  2021-12-09 10:00 ` [igt-dev] [PATCH i-g-t 2/2] HAX: don't do full run Zbigniew Kempczyński
  0 siblings, 2 replies; 6+ messages in thread
From: Zbigniew Kempczyński @ 2021-12-09 10:00 UTC (permalink / raw)
  To: igt-dev

Just for test purposes

Zbigniew Kempczyński (2):
  tests/gem_exec_predicate: Leave predicate set before bbe
  HAX: don't do full run

 tests/i915/gem_exec_predicate.c       |  61 +++++++++
 tests/intel-ci/fast-feedback.testlist | 179 +-------------------------
 tests/meson.build                     |   1 +
 3 files changed, 64 insertions(+), 177 deletions(-)
 create mode 100644 tests/i915/gem_exec_predicate.c

-- 
2.26.0

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

* [igt-dev] [PATCH i-g-t 1/2] tests/gem_exec_predicate: Leave predicate set before bbe
  2021-12-09 10:00 [igt-dev] [PATCH i-g-t 0/2] Predicate for CI only Zbigniew Kempczyński
@ 2021-12-09 10:00 ` Zbigniew Kempczyński
  2021-12-09 10:00 ` [igt-dev] [PATCH i-g-t 2/2] HAX: don't do full run Zbigniew Kempczyński
  1 sibling, 0 replies; 6+ messages in thread
From: Zbigniew Kempczyński @ 2021-12-09 10:00 UTC (permalink / raw)
  To: igt-dev; +Cc: Kenneth Graunke

Unfortunately I'm not able to reproduce this within single igt yet
so reproduction path is:

1. start X
2. glxgears    or     while true; do glxgears; done
3. while true; do gem_exec_predicate; done

In my case I mostly get glxgears -EIO, but to exercise Xorg abort
glxgears must be called in a loop until X will crash.

Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Kenneth Graunke <kenneth@whitecape.org>
---
 tests/i915/gem_exec_predicate.c | 61 +++++++++++++++++++++++++++++++++
 tests/meson.build               |  1 +
 2 files changed, 62 insertions(+)
 create mode 100644 tests/i915/gem_exec_predicate.c

diff --git a/tests/i915/gem_exec_predicate.c b/tests/i915/gem_exec_predicate.c
new file mode 100644
index 000000000..53ed32138
--- /dev/null
+++ b/tests/i915/gem_exec_predicate.c
@@ -0,0 +1,61 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2021 Intel Corporation
+ */
+
+#include "igt.h"
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <fcntl.h>
+#include <inttypes.h>
+#include <errno.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+
+#include "drm.h"
+#include "i915/gem.h"
+#include "i915/gem_create.h"
+
+#define WIDTH 512
+#define HEIGHT 512
+
+static void predicate(int i915)
+{
+	struct drm_i915_gem_exec_object2 obj = {0};
+	struct drm_i915_gem_execbuffer2 execbuf = {0};
+	const uint32_t bbe[3] = {
+		1 << 23 | 0xf,
+		0,
+		MI_BATCH_BUFFER_END
+	};
+	uint32_t bb = gem_create(i915, 4096);
+	gem_write(i915, bb, 0, bbe, sizeof(bbe));
+	obj.handle = bb;
+	obj.offset = 0x100000;
+	obj.flags = EXEC_OBJECT_PINNED;
+	execbuf.buffers_ptr = to_user_pointer(&obj);
+	execbuf.buffer_count = 1;
+	execbuf.flags = I915_EXEC_RENDER;
+
+	__gem_execbuf(i915, &execbuf);
+	gem_close(i915, bb);
+}
+
+igt_main
+{
+	int i915;
+
+	igt_fixture {
+		i915 = drm_open_driver(DRIVER_INTEL);
+	}
+
+	igt_subtest("predicate")
+		predicate(i915);
+
+	igt_fixture {
+		close(i915);
+
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index c14acf993..de765a017 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -139,6 +139,7 @@ i915_progs = [
 	'gem_exec_nop',
 	'gem_exec_parallel',
 	'gem_exec_params',
+	'gem_exec_predicate',
 	'gen7_exec_parse',
 	'gen9_exec_parse',
 	'gem_exec_reloc',
-- 
2.26.0

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

* [igt-dev] [PATCH i-g-t 2/2] HAX: don't do full run
  2021-12-09 10:00 [igt-dev] [PATCH i-g-t 0/2] Predicate for CI only Zbigniew Kempczyński
  2021-12-09 10:00 ` [igt-dev] [PATCH i-g-t 1/2] tests/gem_exec_predicate: Leave predicate set before bbe Zbigniew Kempczyński
@ 2021-12-09 10:00 ` Zbigniew Kempczyński
  1 sibling, 0 replies; 6+ messages in thread
From: Zbigniew Kempczyński @ 2021-12-09 10:00 UTC (permalink / raw)
  To: igt-dev

Just for code publishing so no full run is necessary

Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
---
 tests/intel-ci/fast-feedback.testlist | 179 +-------------------------
 1 file changed, 2 insertions(+), 177 deletions(-)

diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index de1c6cb46..d48cc4366 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -1,179 +1,4 @@
 # Keep alphabetically sorted by default
 
-igt@core_auth@basic-auth
-igt@debugfs_test@read_all_entries
-igt@fbdev@eof
-igt@fbdev@info
-igt@fbdev@nullptr
-igt@fbdev@read
-igt@fbdev@write
-igt@gem_basic@bad-close
-igt@gem_basic@create-close
-igt@gem_basic@create-fd-close
-igt@gem_busy@busy@all
-igt@gem_close_race@basic-process
-igt@gem_close_race@basic-threads
-igt@gem_ctx_create@basic
-igt@gem_ctx_create@basic-files
-igt@gem_ctx_exec@basic
-igt@gem_exec_basic@basic
-igt@gem_exec_create@basic
-igt@gem_exec_fence@basic-busy
-igt@gem_exec_fence@basic-wait
-igt@gem_exec_fence@basic-await
-igt@gem_exec_fence@nb-await
-igt@gem_exec_gttfill@basic
-igt@gem_exec_parallel@engines
-igt@gem_exec_store@basic
-igt@gem_exec_suspend@basic-s0
-igt@gem_exec_suspend@basic-s3
-igt@gem_flink_basic@bad-flink
-igt@gem_flink_basic@bad-open
-igt@gem_flink_basic@basic
-igt@gem_flink_basic@double-flink
-igt@gem_flink_basic@flink-lifetime
-igt@gem_huc_copy@huc-copy
-igt@gem_linear_blits@basic
-igt@gem_lmem_swapping@basic
-igt@gem_lmem_swapping@parallel-random-engines
-igt@gem_lmem_swapping@random-engines
-igt@gem_lmem_swapping@verify-random
-igt@gem_mmap@basic
-igt@gem_mmap_gtt@basic
-igt@gem_render_linear_blits@basic
-igt@gem_render_tiled_blits@basic
-igt@gem_ringfill@basic-all
-igt@gem_softpin@allocator-basic
-igt@gem_softpin@allocator-basic-reserve
-igt@gem_sync@basic-all
-igt@gem_sync@basic-each
-igt@gem_tiled_blits@basic
-igt@gem_tiled_fence_blits@basic
-igt@gem_tiled_pread_basic
-igt@gem_wait@busy@all
-igt@gem_wait@wait@all
-igt@i915_getparams_basic@basic-eu-total
-igt@i915_getparams_basic@basic-subslice-total
-igt@i915_hangman@error-state-basic
-igt@kms_addfb_basic@addfb25-bad-modifier
-igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling
-igt@kms_addfb_basic@addfb25-modifier-no-flag
-igt@kms_addfb_basic@addfb25-x-tiled-legacy
-igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy
-igt@kms_addfb_basic@addfb25-yf-tiled-legacy
-igt@kms_addfb_basic@addfb25-y-tiled-legacy
-igt@kms_addfb_basic@addfb25-y-tiled-small-legacy
-igt@kms_addfb_basic@bad-pitch-0
-igt@kms_addfb_basic@bad-pitch-1024
-igt@kms_addfb_basic@bad-pitch-128
-igt@kms_addfb_basic@bad-pitch-256
-igt@kms_addfb_basic@bad-pitch-32
-igt@kms_addfb_basic@bad-pitch-63
-igt@kms_addfb_basic@bad-pitch-65536
-igt@kms_addfb_basic@bad-pitch-999
-igt@kms_addfb_basic@basic
-igt@kms_addfb_basic@basic-x-tiled-legacy
-igt@kms_addfb_basic@basic-y-tiled-legacy
-igt@kms_addfb_basic@bo-too-small
-igt@kms_addfb_basic@bo-too-small-due-to-tiling
-igt@kms_addfb_basic@clobberred-modifier
-igt@kms_addfb_basic@framebuffer-vs-set-tiling
-igt@kms_addfb_basic@invalid-get-prop
-igt@kms_addfb_basic@invalid-get-prop-any
-igt@kms_addfb_basic@invalid-set-prop
-igt@kms_addfb_basic@invalid-set-prop-any
-igt@kms_addfb_basic@no-handle
-igt@kms_addfb_basic@size-max
-igt@kms_addfb_basic@small-bo
-igt@kms_addfb_basic@tile-pitch-mismatch
-igt@kms_addfb_basic@too-high
-igt@kms_addfb_basic@too-wide
-igt@kms_addfb_basic@unused-handle
-igt@kms_addfb_basic@unused-modifier
-igt@kms_addfb_basic@unused-offsets
-igt@kms_addfb_basic@unused-pitches
-igt@kms_busy@basic
-igt@kms_chamelium@dp-hpd-fast
-igt@kms_chamelium@dp-edid-read
-igt@kms_chamelium@dp-crc-fast
-igt@kms_chamelium@hdmi-hpd-fast
-igt@kms_chamelium@hdmi-edid-read
-igt@kms_chamelium@hdmi-crc-fast
-igt@kms_chamelium@vga-hpd-fast
-igt@kms_chamelium@vga-edid-read
-igt@kms_chamelium@common-hpd-after-suspend
-igt@kms_prop_blob@basic
-igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic
-igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy
-igt@kms_cursor_legacy@basic-flip-after-cursor-atomic
-igt@kms_cursor_legacy@basic-flip-after-cursor-legacy
-igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size
-igt@kms_cursor_legacy@basic-flip-before-cursor-atomic
-igt@kms_cursor_legacy@basic-flip-before-cursor-legacy
-igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size
-igt@kms_flip@basic-flip-vs-dpms
-igt@kms_flip@basic-flip-vs-modeset
-igt@kms_flip@basic-flip-vs-wf_vblank
-igt@kms_flip@basic-plain-flip
-igt@kms_force_connector_basic@force-connector-state
-igt@kms_force_connector_basic@force-edid
-igt@kms_force_connector_basic@force-load-detect
-igt@kms_force_connector_basic@prune-stale-modes
-igt@kms_frontbuffer_tracking@basic
-igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-a
-igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b
-igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c
-igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d
-igt@kms_pipe_crc_basic@hang-read-crc-pipe-a
-igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a
-igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence
-igt@kms_pipe_crc_basic@read-crc-pipe-a
-igt@kms_pipe_crc_basic@read-crc-pipe-b
-igt@kms_pipe_crc_basic@read-crc-pipe-c
-igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence
-igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a
-igt@kms_psr@primary_page_flip
-igt@kms_psr@cursor_plane_move
-igt@kms_psr@sprite_plane_onoff
-igt@kms_psr@primary_mmap_gtt
-igt@kms_setmode@basic-clone-single-crtc
-igt@i915_pm_backlight@basic-brightness
-igt@i915_pm_rpm@basic-pci-d3-state
-igt@i915_pm_rpm@basic-rte
-igt@i915_pm_rps@basic-api
-igt@prime_self_import@basic-llseek-bad
-igt@prime_self_import@basic-llseek-size
-igt@prime_self_import@basic-with_fd_dup
-igt@prime_self_import@basic-with_one_bo
-igt@prime_self_import@basic-with_one_bo_two_files
-igt@prime_self_import@basic-with_two_bos
-igt@prime_vgem@basic-fence-flip
-igt@prime_vgem@basic-fence-mmap
-igt@prime_vgem@basic-fence-read
-igt@prime_vgem@basic-gtt
-igt@prime_vgem@basic-read
-igt@prime_vgem@basic-write
-igt@prime_vgem@basic-userptr
-igt@vgem_basic@setversion
-igt@vgem_basic@create
-igt@vgem_basic@debugfs
-igt@vgem_basic@dmabuf-export
-igt@vgem_basic@dmabuf-fence
-igt@vgem_basic@dmabuf-fence-before
-igt@vgem_basic@dmabuf-mmap
-igt@vgem_basic@mmap
-igt@vgem_basic@second-client
-igt@vgem_basic@sysfs
-
-# All tests that do module unloading and reloading are executed last.
-# They will sometimes reveal issues of earlier tests leaving the
-# driver in a broken state that is not otherwise noticed in that test.
-
-igt@core_hotunplug@unbind-rebind
-igt@vgem_basic@unload
-igt@i915_module_load@reload
-igt@i915_pm_rpm@module-reload
-
-# Kernel selftests
-igt@i915_selftest@live
-igt@dmabuf@all
+igt@gem_exec_predicate@predicate
+igt@meta_test@fail-result
-- 
2.26.0

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

* [igt-dev] [PATCH i-g-t 0/2] Predicate for CI only
@ 2021-12-09 10:22 Zbigniew Kempczyński
  0 siblings, 0 replies; 6+ messages in thread
From: Zbigniew Kempczyński @ 2021-12-09 10:22 UTC (permalink / raw)
  To: igt-dev

Just for test purposes

Zbigniew Kempczyński (2):
  tests/gem_exec_predicate: Leave predicate set before bbe
  HAX: don't do full run

 tests/i915/gem_exec_predicate.c       |  61 +++++++++
 tests/intel-ci/fast-feedback.testlist | 179 +-------------------------
 tests/meson.build                     |   1 +
 3 files changed, 64 insertions(+), 177 deletions(-)
 create mode 100644 tests/i915/gem_exec_predicate.c

-- 
2.26.0

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

* [igt-dev] [PATCH i-g-t 0/2] Predicate for CI only
@ 2021-12-09 10:19 Zbigniew Kempczyński
  0 siblings, 0 replies; 6+ messages in thread
From: Zbigniew Kempczyński @ 2021-12-09 10:19 UTC (permalink / raw)
  To: igt-dev

Just for test purposes

Zbigniew Kempczyński (2):
  tests/gem_exec_predicate: Leave predicate set before bbe
  HAX: don't do full run

 tests/i915/gem_exec_predicate.c       |  61 +++++++++
 tests/intel-ci/fast-feedback.testlist | 179 +-------------------------
 tests/meson.build                     |   1 +
 3 files changed, 64 insertions(+), 177 deletions(-)
 create mode 100644 tests/i915/gem_exec_predicate.c

-- 
2.26.0

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

* [igt-dev] [PATCH i-g-t 0/2] Predicate for CI only
@ 2021-12-09  8:34 Zbigniew Kempczyński
  0 siblings, 0 replies; 6+ messages in thread
From: Zbigniew Kempczyński @ 2021-12-09  8:34 UTC (permalink / raw)
  To: igt-dev

Just for test purposes

Zbigniew Kempczyński (2):
  tests/gem_exec_predicate: Leave predicate set before bbe
  HAX: don't do full run

 tests/i915/gem_exec_predicate.c       |  61 +++++++++
 tests/intel-ci/fast-feedback.testlist | 179 +-------------------------
 tests/meson.build                     |   1 +
 3 files changed, 64 insertions(+), 177 deletions(-)
 create mode 100644 tests/i915/gem_exec_predicate.c

-- 
2.26.0

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

end of thread, other threads:[~2021-12-09 10:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-09 10:00 [igt-dev] [PATCH i-g-t 0/2] Predicate for CI only Zbigniew Kempczyński
2021-12-09 10:00 ` [igt-dev] [PATCH i-g-t 1/2] tests/gem_exec_predicate: Leave predicate set before bbe Zbigniew Kempczyński
2021-12-09 10:00 ` [igt-dev] [PATCH i-g-t 2/2] HAX: don't do full run Zbigniew Kempczyński
  -- strict thread matches above, loose matches on Subject: below --
2021-12-09 10:22 [igt-dev] [PATCH i-g-t 0/2] Predicate for CI only Zbigniew Kempczyński
2021-12-09 10:19 Zbigniew Kempczyński
2021-12-09  8:34 Zbigniew Kempczyński

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.