Hello, I went through the gem_* tests from intel-gpu-tools and categorized them into roughly categories "X | X robustness | X performance" ready to be added to the feat_profile.json. Lets open a discussion which ones should go where. I tried to place a single test to under only one category and I'm kind of hopeful that we'll have the ability to add "depends_on" to create super features in the future, instead of placing a single test under multiple categories. I didn't check all the subtests nor wildcard matching with other tests, this is just all the test names placed under some categories. Regards, Joonas PS. I'm still bit unsure where to place gem_spin_batch.c while tests gem_pipe_control_store_loop, gem_bad_address, gem_bad_batch, gem_bad_blit, gem_bad_length and gem_bad_reloc seem more like hardware sanity checks. --- "Driver API" : { "include_tests": "gem_basic", }, "Driver API robustness" : { "include_tests": "gem_close_race|gem_fd_exhaustion|gem_eio", }, "Basic IOCTLs": { "include_tests": "gem_create|gem_busy|gem_unref_active_buffers", }, "R/W contention" : { "include_tests": "gem_gtt_cpu_tlb|gem_pread_after_blit|gem_pwrite_snooped|gem_readwrite|gem_caching|gem_exec_flush|gem_stress", }, "R/W concurrency" : { "include_tests": "gem_concurrent_all|gem_concurrent_blit|gem_exec_parallel|gem_partial_pwrite_pread", }, "Relocations" : { "include_tests": "gem_exec_reloc|gem_cpu_reloc|gem_persistent_relocs", }, "Relocations robustness" : { "include_tests": "gem_exec_faulting_reloc|gem_exec_bad_domains|gem_reloc_overflow|gem_reloc_vs_gpu", }, "Command streamer robustness" : { "include_tests": "gem_cs_tlb|gem_cs_prefetch", }, "Contexts" : { "include_tests": "gem_ctx_basic|gem_ctx_exec|gem_ctx_param", }, "Context robustness" : { "include_tests": "gem_ctx_create|gem_ctx_bad_destroy|gem_ctx_bad_exec|gem_ctx_switch|gem_ctx_thrash", }, "Interrupts robustness" : { "include_tests": "gem_double_irq_loop|gem_ring_sync_loop|gem_sync", }, "Eviction" : { "include_tests": "gem_evict|gem_exec_gttfill|gem_shrink", }, "Execbuf IOCTL" : { "include_tests": "gem_exec_basic|gem_exec_alignment|gem_exec_lut_handle|gem_lut_handle", }, "Execbuf IOCTL performance" : { "include_tests": "gem_exec_blt|gem_exec_create|gem_exec_latency|gem_exec_nop|gem_exec_reuse", }, "Execbuf IOCTL robustness" : { "include_tests": "gem_exec_params|gem_fenced_exec_thrash|gem_exec_whisper", }, "Suspend and resume" : { "include_tests": "gem_exec_suspend", }, "Scheduler" : { "include_tests": "gem_exec_schedule", }, "Asynchronous execution" : { "include_tests": "gem_exec_async", }, "Command parser" : { "include_tests": "gem_exec_parse", }, "Fences, implicit" : { "include_tests": "gem_exec_await", }, "Fences, explicit" : { "include_tests": "gem_exec_fence", }, "Tiling" : { "include_tests": "gem_fence_upload|gem_set_tiling_vs_blt|gem_set_tiling_vs_gtt|gem_set_tiling_vs_pwrite|gem_tiled_pread_basic|gem_tiled_pread_pwrite|gem_tiled_wb|gem_tiled_wc|gem_tiling_max_stride", }, "Tiling robustness" : { "include_tests": "gem_fence_thrash|gem_gtt_hog|gem_render_tiled_blits|gem_threaded_access_tiled|gem_tiled_blits|gem_tiled_fence_blits|gem_tiled_swapping|gem_tiled_partial_pwrite_pread|gem_unfence_active_buffers", }, "GGTT contention" : { "include_tests": "gem_gtt_hog|gem_linear_blits", }, "Global objects" : { "include_tests": "gem_flink_basic", }, "Global objects robustness" : { "include_tests": "gem_flink_race", }, "Workloads" : { "include_tests": "gem_storedw_batches_loop|gem_storedw_loop", }, "Workloads, GPGPU" : { "include_tests": "gem_gpgpu_fill", }, "Workloads, media" : { "include_tests": "gem_media_fill", }, "Workloads, render" : { "include_tests": "gem_render_copy", }, "Workloads robustness, render" : { "include_tests": "gem_render_copy_redux|gem_render_linear_blits", }, "Workloads robustness" : { "include_tests": "gem_ringfill", }, "GGTT performance" : { "include_tests": "gem_gtt_speed", }, "Hang recovery" : { "include_tests": "gem_hang|gem_hangcheck_forcewake|gem_exec_capture", }, "Large object support" : { "include_tests": "gem_exec_big|gem_largeobject", }, "Purging objects" : { "include_tests": "gem_madvise", }, "mmap IOCTL" : { "include_tests": "gem_mmap|gem_mmap_gtt|gem_mmap_wc", }, "mmap IOCTL robustness" : { "include_tests": "gem_mmap_offset_exhaustion", }, "MOCS" : { "include_tests": "gem_mocs_settings", }, "Secure batches robustness" : { "include_tests": "gem_non_secure_batch", }, "Pinning" : { "include_tests": "gem_pin", }, "PPGTT" : { "include_tests": "gem_ppgtt", }, "R/W performance" : { "include_tests": "gem_pread|gem_pwrite|gem_pwrite_pread|gem_read_read_speed", }, "Register read IOCTL" : { "include_tests": "gem_reg_read|gem_workarounds", }, "Request retirement" : { "include_tests": "gem_request_retire", }, "Reset statistics IOCTL" : { "include_tests": "gem_reset_stats", }, "Sequence number wrapping" : { "include_tests": "gem_seqno_wrap", }, "Soft pinning API" : { "include_tests": "gem_softpin", }, "Stolen memory" : { "include_tests": "gem_stolen", }, "Streaming writes" : { "include_tests": "gem_streaming_writes", }, "User pointers API" : { "include_tests": "gem_userptr_blits", }, "Wait IOCTL" : { "include_tests": "gem_wait", }, "Wait IOCTL" : { "include_tests": "gem_wait", }, "Semaphores robustness" : { "include_tests": "gem_write_read_ring_switch", } -- Joonas Lahtinen Open Source Technology Center Intel Corporation _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx