[PATCH i-g-t] HAX: tests/perf: Try to catch a small-buf failure with ftrace

Umesh Nerlige Ramappa umesh.nerlige.ramappa at intel.com
Wed Apr 29 00:03:17 UTC 2020


Enable ftrace for small-buf failure.

References: https://gitlab.freedesktop.org/drm/intel/issues/1722
Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>
---
 tests/intel-ci/fast-feedback.testlist | 287 +++++++++++---------------
 tests/perf.c                          |  20 ++
 2 files changed, 146 insertions(+), 161 deletions(-)

diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 2ccad438..47e349a7 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -1,164 +1,129 @@
-# Keep alphabetically sorted by default
-
-igt at core_auth@basic-auth
-igt at debugfs_test@read_all_entries
-igt at fbdev@mmap
-igt at gem_basic@bad-close
-igt at gem_basic@create-close
-igt at gem_basic@create-fd-close
-igt at gem_busy@busy at all
-igt at gem_close_race@basic-process
-igt at gem_close_race@basic-threads
-igt at gem_ctx_create@basic
-igt at gem_ctx_create@basic-files
-igt at gem_ctx_exec@basic
-igt at gem_ctx_param@basic
+igt at gem_userptr_blits@map-fixed-invalidate-overlap-gup at gtt
+igt at gem_userptr_blits@map-fixed-invalidate-overlap-gup at uc
+igt at gem_userptr_blits@map-fixed-invalidate-overlap-gup at wb
+igt at gem_userptr_blits@map-fixed-invalidate-overlap-gup at wc
+igt at gem_exec_reloc@basic-gtt-wc-active
+igt at kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-pwrite
+igt at kms_flip@2x-plain-flip
+igt at gem_mmap_gtt@medium-copy
+igt at gem_caching@read-writes
+igt at kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-cpu
+igt at gem_userptr_blits@map-fixed-invalidate-overlap-gup at gtt
+igt at gem_userptr_blits@map-fixed-invalidate-overlap-gup at uc
+igt at gem_userptr_blits@map-fixed-invalidate-overlap-gup at wb
+igt at gem_userptr_blits@map-fixed-invalidate-overlap-gup at wc
+igt at kms_color@pipe-invalid-gamma-lut-sizes
+igt at syncobj_wait@invalid-multi-wait-unsubmitted
+igt at i915_query@engine-info-invalid
+igt at gem_wait@invalid-buf
+igt at gem_ctx_ringsize@invalid
+igt at gem_ctx_param@invalid-size-get
+igt at gem_exec_flush@basic-uc-ro-default
+igt at kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-gtt
+igt at gem_exec_whisper@basic-queues-forked
+igt at kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-mmap-wc
+igt at gem_exec_balancer@bonded-semaphore
+igt at kms_frontbuffer_tracking@fbc-indfb-scaledprimary
+igt at kms_sequence@get-idle
+igt at kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-blt
+igt at gem_tiled_fence_blits@normal
 igt at gem_ctx_param@basic-default
-igt at gem_exec_basic@basic
-igt at gem_exec_create@basic
-igt at gem_exec_fence@basic-busy
-igt at gem_exec_fence@basic-wait
-igt at gem_exec_fence@basic-await
-igt at gem_exec_fence@nb-await
-igt at gem_exec_gttfill@basic
-igt at gem_exec_parallel@engines
-igt at gem_exec_store@basic
-igt at gem_exec_suspend@basic-s0
-igt at gem_exec_suspend@basic-s3
-igt at gem_flink_basic@bad-flink
-igt at gem_flink_basic@bad-open
-igt at gem_flink_basic@basic
-igt at gem_flink_basic@double-flink
-igt at gem_flink_basic@flink-lifetime
-igt at gem_linear_blits@basic
-igt at gem_mmap@basic
-igt at gem_mmap_gtt@basic
-igt at gem_render_linear_blits@basic
-igt at gem_render_tiled_blits@basic
-igt at gem_ringfill@basic-default-forked
-igt at gem_sync@basic-all
-igt at gem_sync@basic-each
-igt at gem_tiled_blits@basic
-igt at gem_tiled_fence_blits@basic
-igt at gem_tiled_pread_basic
-igt at gem_wait@busy at all
-igt at gem_wait@wait at all
-igt at i915_getparams_basic@basic-eu-total
-igt at i915_getparams_basic@basic-subslice-total
-igt at i915_hangman@error-state-basic
-igt at kms_addfb_basic@addfb25-bad-modifier
-igt at kms_addfb_basic@addfb25-framebuffer-vs-set-tiling
-igt at kms_addfb_basic@addfb25-modifier-no-flag
-igt at kms_addfb_basic@addfb25-x-tiled
-igt at kms_addfb_basic@addfb25-x-tiled-mismatch
-igt at kms_addfb_basic@addfb25-yf-tiled
-igt at kms_addfb_basic@addfb25-y-tiled
-igt at kms_addfb_basic@addfb25-y-tiled-small
-igt at kms_addfb_basic@bad-pitch-0
-igt at kms_addfb_basic@bad-pitch-1024
-igt at kms_addfb_basic@bad-pitch-128
-igt at kms_addfb_basic@bad-pitch-256
-igt at kms_addfb_basic@bad-pitch-32
-igt at kms_addfb_basic@bad-pitch-63
-igt at kms_addfb_basic@bad-pitch-65536
-igt at kms_addfb_basic@bad-pitch-999
-igt at kms_addfb_basic@basic
-igt at kms_addfb_basic@basic-x-tiled
-igt at kms_addfb_basic@basic-y-tiled
-igt at kms_addfb_basic@bo-too-small
-igt at kms_addfb_basic@bo-too-small-due-to-tiling
-igt at kms_addfb_basic@clobberred-modifier
-igt at kms_addfb_basic@framebuffer-vs-set-tiling
-igt at kms_addfb_basic@invalid-get-prop
-igt at kms_addfb_basic@invalid-get-prop-any
-igt at kms_addfb_basic@invalid-set-prop
-igt at kms_addfb_basic@invalid-set-prop-any
-igt at kms_addfb_basic@no-handle
-igt at kms_addfb_basic@size-max
-igt at kms_addfb_basic@small-bo
-igt at kms_addfb_basic@tile-pitch-mismatch
-igt at kms_addfb_basic@too-high
-igt at kms_addfb_basic@too-wide
-igt at kms_addfb_basic@unused-handle
-igt at kms_addfb_basic@unused-modifier
-igt at kms_addfb_basic@unused-offsets
-igt at kms_addfb_basic@unused-pitches
-igt at kms_busy@basic
-igt at kms_chamelium@dp-hpd-fast
-igt at kms_chamelium@dp-edid-read
-igt at kms_chamelium@dp-crc-fast
-igt at kms_chamelium@hdmi-hpd-fast
-igt at kms_chamelium@hdmi-edid-read
-igt at kms_chamelium@hdmi-crc-fast
-igt at kms_chamelium@vga-hpd-fast
-igt at kms_chamelium@vga-edid-read
-igt at kms_chamelium@common-hpd-after-suspend
-igt at kms_prop_blob@basic
-igt at kms_cursor_legacy@basic-busy-flip-before-cursor-atomic
-igt at kms_cursor_legacy@basic-busy-flip-before-cursor-legacy
-igt at kms_cursor_legacy@basic-flip-after-cursor-atomic
-igt at kms_cursor_legacy@basic-flip-after-cursor-legacy
-igt at kms_cursor_legacy@basic-flip-after-cursor-varying-size
-igt at kms_cursor_legacy@basic-flip-before-cursor-atomic
-igt at kms_cursor_legacy@basic-flip-before-cursor-legacy
-igt at kms_cursor_legacy@basic-flip-before-cursor-varying-size
-igt at kms_flip@basic-flip-vs-dpms
-igt at kms_flip@basic-flip-vs-modeset
-igt at kms_flip@basic-flip-vs-wf_vblank
-igt at kms_flip@basic-plain-flip
-igt at kms_force_connector_basic@force-connector-state
-igt at kms_force_connector_basic@force-edid
-igt at kms_force_connector_basic@force-load-detect
-igt at kms_force_connector_basic@prune-stale-modes
-igt at kms_frontbuffer_tracking@basic
-igt at kms_pipe_crc_basic@hang-read-crc-pipe-a
-igt at kms_pipe_crc_basic@nonblocking-crc-pipe-a
-igt at kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence
-igt at kms_pipe_crc_basic@read-crc-pipe-a
-igt at kms_pipe_crc_basic@read-crc-pipe-b
-igt at kms_pipe_crc_basic@read-crc-pipe-c
-igt at kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence
-igt at kms_pipe_crc_basic@suspend-read-crc-pipe-a
-igt at kms_psr@primary_page_flip
-igt at kms_psr@cursor_plane_move
-igt at kms_psr@sprite_plane_onoff
-igt at kms_psr@primary_mmap_gtt
-igt at kms_setmode@basic-clone-single-crtc
-igt at i915_pm_backlight@basic-brightness
-igt at i915_pm_rpm@basic-pci-d3-state
-igt at i915_pm_rpm@basic-rte
-igt at i915_pm_rps@basic-api
-igt at prime_self_import@basic-llseek-bad
-igt at prime_self_import@basic-llseek-size
-igt at prime_self_import@basic-with_fd_dup
-igt at prime_self_import@basic-with_one_bo
-igt at prime_self_import@basic-with_one_bo_two_files
-igt at prime_self_import@basic-with_two_bos
-igt at prime_vgem@basic-fence-flip
-igt at prime_vgem@basic-fence-mmap
-igt at prime_vgem@basic-fence-read
-igt at prime_vgem@basic-gtt
-igt at prime_vgem@basic-read
-igt at prime_vgem@basic-write
-igt at vgem_basic@setversion
+igt at kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc
+igt at gem_madvise@dontneed-before-mmap
+igt at kms_color@pipe-invalid-gamma-lut-sizes
+igt at syncobj_wait@single-wait-all-for-submit-signaled
+igt at kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-wc
+igt at gem_ctx_isolation@preservation-reset at vecs0
+igt at gem_ctx_isolation@preservation-reset at vcs1
+igt at gem_ctx_isolation@preservation-reset at vcs0
+igt at gem_ctx_isolation@preservation-reset at rcs0
+igt at gem_ctx_isolation@preservation-reset at bcs0
+igt at kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite
+igt at gem_pwrite@basic-random
 igt at vgem_basic@create
-igt at vgem_basic@debugfs
-igt at vgem_basic@dmabuf-export
-igt at vgem_basic@dmabuf-fence
-igt at vgem_basic@dmabuf-fence-before
-igt at vgem_basic@dmabuf-mmap
-igt at vgem_basic@mmap
-igt at vgem_basic@second-client
-igt at 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 at vgem_basic@unload
+igt at gem_eio@in-flight-1us
+igt at prime_mmap@test_forked
+igt at gem_exec_balancer@bonded-cork
+igt at kms_addfb_basic@bad-pitch-32
+igt at kms_rotation_crc@primary-yf-tiled-reflect-x-90
+igt at syncobj_wait@wait-all-for-submit-complex
+igt at kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt
+igt at drm_read@short-buffer-block
+igt at gem_mmap_gtt@medium-copy
+igt at kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-mmap-wc
+igt at kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-gtt
+igt at kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc
+igt at kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc
+igt at kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-cpu
+igt at gem_mmap_gtt@basic-small-bo-tiledx
+igt at kms_draw_crc@draw-method-xrgb2101010-mmap-wc-xtiled
+igt at kms_draw_crc@draw-method-xrgb2101010-mmap-gtt-untiled
+igt at prime_mmap@test_forked
+igt at fbdev@mmap
+igt at gem_madvise@dontneed-before-mmap
+igt at gem_mmap_offset@pf-nonblock
+igt at kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-wc
+igt at kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-wc
+igt at gem_mmap_offset@pf-nonblock
+igt at gem_wait@invalid-buf
+igt at kms_big_fb@y-tiled-64bpp-rotate-180
+igt at gem_softpin@evict-active
+igt at kms_flip@2x-wf_vblank-ts-check-interruptible
+igt at gem_softpin@reverse
+igt at kms_draw_crc@draw-method-xrgb2101010-mmap-gtt-untiled
+igt at kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-move
+igt at kms_big_fb@linear-8bpp-rotate-270
+igt at drm_read@empty-nonblock
+igt at kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt
+igt at kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-pwrite
 igt at i915_module_load@reload
-igt at i915_pm_rpm@module-reload
-
-# Kernel selftests
-igt at i915_selftest@live
-igt at dmabuf@all
+igt at syncobj_wait@invalid-multi-wait-unsubmitted
+igt at kms_frontbuffer_tracking@fbc-modesetfrombusy
+igt at gem_eio@in-flight-10ms
+igt at gem_caching@read-writes
+igt at gem_caching@writes
+igt at sw_sync@sync_busy_fork
+igt at gem_wait@write-wait at vecs0
+igt at gem_wait@write-wait at all
+igt at gem_wait@write-wait at vcs0
+igt at gem_wait@write-wait at rcs0
+igt at gem_wait@write-wait at vcs1
+igt at gem_wait@write-wait at bcs0
+igt at kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-wc
+igt at kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc
+igt at kms_big_fb@x-tiled-8bpp-rotate-180
+igt at syncobj_basic@bad-pad-handle-to-fd
+igt at perf_pmu@busy-idle at vcs1
+igt at perf_pmu@busy-idle at vecs0
+igt at perf_pmu@busy-idle at vcs0
+igt at perf_pmu@busy-idle at rcs0
+igt at perf_pmu@busy-idle at bcs0
+igt at kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-move
+igt at perf@blocking
+igt at kms_flip@2x-flip-vs-blocking-wf-vblank
+igt at i915_pm_rpm@gem-pread
+igt at i915_query@engine-info-invalid
+igt at kms_lease@lease_unleased_connector
+igt at kms_draw_crc@draw-method-xrgb2101010-mmap-wc-xtiled
+igt at kms_atomic_transition@2x-modeset-transitions
+igt at kms_atomic_transition@plane-all-modeset-transition-internal-panels at pipe-a
+igt at kms_atomic_transition@plane-all-modeset-transition-internal-panels at pipe-c
+igt at kms_atomic_transition@plane-all-modeset-transition-internal-panels at pipe-d
+igt at kms_atomic_transition@plane-all-modeset-transition-internal-panels at pipe-b
+igt at gem_exec_schedule@implicit-boths at vcs0
+igt at gem_exec_schedule@implicit-boths at rcs0
+igt at gem_exec_schedule@implicit-boths at bcs0
+igt at gem_exec_schedule@implicit-boths at vecs0
+igt at gem_exec_schedule@implicit-boths at vcs1
+igt at core_auth@many-magics
+igt at gem_ctx_param@invalid-size-get
+igt at gem_exec_schedule@preempt-queue at rcs0
+igt at gem_exec_schedule@preempt-queue at bcs0
+igt at gem_exec_schedule@preempt-queue at vcs1
+igt at gem_exec_schedule@preempt-queue at vecs0
+igt at gem_exec_schedule@preempt-queue at vcs0
+igt at perf@polling-small-buf
+igt at gem_exec_flush@basic-wb-ro-default
+igt at gem_pread@stolen-snoop
+igt at kms_flip@2x-flip-vs-blocking-wf-vblank
+igt at kms_properties@crtc-properties-atomic
diff --git a/tests/perf.c b/tests/perf.c
index 74fc8fd8..014aa051 100644
--- a/tests/perf.c
+++ b/tests/perf.c
@@ -2290,6 +2290,24 @@ test_polling(uint64_t requested_oa_period, bool set_kernel_hrtimer, uint64_t ker
 	__perf_close(stream_fd);
 }
 
+/* from other patches on ml */
+static void enable_trace_log(void)
+{
+	system("echo 0xff > /sys/module/drm/parameters/debug");
+	system("echo 0 > /sys/kernel/debug/tracing/tracing_on");
+	system("echo > /sys/kernel/debug/tracing/trace");
+	system("echo '*:mod:i915' > /sys/kernel/debug/tracing/set_ftrace_filter");
+	system("echo function_graph > /sys/kernel/debug/tracing/current_tracer");
+	system("echo 1 > /sys/kernel/debug/tracing/events/i915/enable");
+	system("echo 1 > /sys/kernel/debug/tracing/tracing_on");
+}
+
+static void disable_trace_log(void)
+{
+	system("echo 0 > /sys/kernel/debug/tracing/tracing_on");
+	system("cat /sys/kernel/debug/tracing/trace");
+}
+
 static void test_polling_small_buf(void)
 {
 	int oa_exponent = max_oa_exponent_for_period_lte(40 * 1000); /* 40us */
@@ -2318,6 +2336,7 @@ static void test_polling_small_buf(void)
 	int n_bytes_read = 0;
 	uint32_t n_polls = 0;
 
+	enable_trace_log();
 	stream_fd = __perf_open(drm_fd, &param, true /* prevent_pm */);
 	do_ioctl(stream_fd, I915_PERF_IOCTL_ENABLE, 0);
 
@@ -2343,6 +2362,7 @@ static void test_polling_small_buf(void)
 		 n_polls);
 
 	__perf_close(stream_fd);
+	disable_trace_log();
 
 	igt_assert(abs(n_expect_read_bytes - n_bytes_read) <
 		   0.20 * n_expect_read_bytes);
-- 
2.20.1



More information about the Intel-gfx-trybot mailing list