GEM TestsGEM Tests — Tests for core drm ioctls and behaviour. |
Simulates SNA behaviour using negative self-relocations for STATE_BASE_ADDRESS command packets.
This is a test for the extended & old gem_create ioctl, that includes allocation of object from stolen memory and shmem.
Run a couple of big batches to force the eviction code.
| forked-normal |
| forked-interruptible |
| forked-swapping-normal |
| forked-swapping-interruptible |
| forked-multifd-normal |
| forked-multifd-interruptible |
| forked-swapping-multifd-normal |
| forked-swapping-multifd-interruptible |
| forked-mempressure-normal |
| forked-mempressure-interruptible |
| forked-swapping-mempressure-normal |
| forked-swapping-mempressure-interruptible |
| forked-multifd-mempressure-normal |
| forked-multifd-mempressure-interruptible |
| forked-swapping-multifd-mempressure-normal |
| forked-swapping-multifd-mempressure-interruptible |
| mlocked-normal |
| swapping-normal |
| minor-normal |
| major-normal |
| mlocked-interruptible |
| swapping-interruptible |
| minor-interruptible |
| major-interruptible |
| mlocked-hang |
| swapping-hang |
| minor-hang |
| major-hang |
| control |
| no-bsd |
| no-blt |
| no-vebox |
| invalid-ring |
| invalid-ring2 |
| invalid-bsd-ring |
| invalid-bsd1-flag-on-render |
| invalid-bsd2-flag-on-render |
| invalid-bsd1-flag-on-blt |
| invalid-bsd2-flag-on-blt |
| invalid-bsd1-flag-on-vebox |
| invalid-bsd2-flag-on-vebox |
| rel-constants-invalid-ring |
| rel-constants-invalid-rel-gen5 |
| rel-constants-invalid |
| sol-reset-invalid |
| sol-reset-not-gen7 |
| secure-non-root |
| secure-non-master |
| invalid-flag |
| cliprects-invalid |
| rs-invalid-on-bsd-ring |
| rs-invalid-on-blt-ring |
| rs-invalid-on-vebox-ring |
| rs-invalid-gen |
| rsvd2-dirt |
| cliprects_ptr-dirt |
| DR1-dirt |
| DR4-dirt |
Basic sanity check of execbuf-ioctl relocations.
| mmap-12 |
| cpu-12 |
| wc-12 |
| gtt-12 |
| mmap-13 |
| cpu-13 |
| wc-13 |
| gtt-13 |
| mmap-14 |
| cpu-14 |
| wc-14 |
| gtt-14 |
| mmap-15 |
| cpu-15 |
| wc-15 |
| gtt-15 |
| mmap-16 |
| cpu-16 |
| wc-16 |
| gtt-16 |
| mmap-17 |
| cpu-17 |
| wc-17 |
| gtt-17 |
| mmap-18 |
| cpu-18 |
| wc-18 |
| gtt-18 |
| mmap-19 |
| cpu-19 |
| wc-19 |
| gtt-19 |
| mmap-20 |
| cpu-20 |
| wc-20 |
| gtt-20 |
| mmap-21 |
| cpu-21 |
| wc-21 |
| gtt-21 |
| mmap-22 |
| cpu-22 |
| wc-22 |
| gtt-22 |
| mmap-23 |
| cpu-23 |
| wc-23 |
| gtt-23 |
| mmap-24 |
| cpu-24 |
| wc-24 |
| gtt-24 |
| mmap-25 |
| cpu-25 |
| wc-25 |
| gtt-25 |
| mmap-26 |
| cpu-26 |
| wc-26 |
| gtt-26 |
| mmap-27 |
| cpu-27 |
| wc-27 |
| gtt-27 |
| mmap-28 |
| cpu-28 |
| wc-28 |
| gtt-28 |
| mmap-29 |
| cpu-29 |
| wc-29 |
| gtt-29 |
| mmap-30 |
| cpu-30 |
| wc-30 |
| gtt-30 |
| mmap-31 |
| cpu-31 |
| wc-31 |
| gtt-31 |
| mmap-32 |
| cpu-32 |
| wc-32 |
| gtt-32 |
| gpu |
Basic test for the media_fill() function, a very simple workload for the Media pipeline.
| basic |
| basic-short |
| basic-copy |
| basic-read |
| basic-write |
| basic-write-gtt |
| coherency |
| basic-read-write |
| basic-write-read |
| basic-read-write-distinct |
| basic-write-read-distinct |
| fault-concurrent |
| basic-read-no-prefault |
| basic-write-no-prefault |
| basic-write-gtt-no-prefault |
| basic-write-cpu-read-gtt |
| basic-small-bo |
| basic-small-bo-tiledX |
| basic-small-bo-tiledY |
| big-bo |
| big-bo-tiledX |
| big-bo-tiledY |
| huge-bo |
| huge-bo-tiledX |
| huge-bo-tiledY |
| basic-small-copy |
| basic-small-copy-XY |
| medium-copy |
| medium-copy-XY |
| big-copy |
| big-copy-XY |
| huge-copy |
| huge-copy-XY |
Test persistent relocations as used by uxa/libva.
| normal |
| interruptible |
| forked |
| forked-interruptible |
| forked-faulting-reloc |
| forked-interruptible-faulting-reloc |
| forked-thrashing |
| forked-interruptible-thrashing |
| forked-faulting-reloc-thrashing |
| forked-interruptible-faulting-reloc-thrashing |
| forked-thrash-inactive |
| forked-interruptible-thrash-inactive |
| forked-faulting-reloc-thrash-inactive |
| forked-interruptible-faulting-reloc-thrash-inactive |
| uncached-copy-correctness |
| uncached-copy-performance |
| uncached-pwrite-blt-gtt_mmap-correctness |
| uncached-pwrite-blt-gtt_mmap-performance |
| snooped-copy-correctness |
| snooped-copy-performance |
| snooped-pwrite-blt-cpu_mmap-correctness |
| snooped-pwrite-blt-cpu_mmap-performance |
| display-copy-correctness |
| display-copy-performance |
| display-pwrite-blt-gtt_mmap-correctness |
| display-pwrite-blt-gtt_mmap-performance |
pwrite to a snooped bo then make it uncached and check that the GPU sees the data.
Test speed of concurrent reads between engines.
| read-read-1x1 |
| read-write-1x1 |
| write-read-1x1 |
| write-write-1x1 |
| read-read-128x128 |
| read-write-128x128 |
| write-read-128x128 |
| write-write-128x128 |
| read-read-256x256 |
| read-write-256x256 |
| write-read-256x256 |
| write-write-256x256 |
| read-read-512x512 |
| read-write-512x512 |
| write-read-512x512 |
| write-write-512x512 |
| read-read-1024x1024 |
| read-write-1024x1024 |
| write-read-1024x1024 |
| write-write-1024x1024 |
| read-read-2048x2048 |
| read-write-2048x2048 |
| write-read-2048x2048 |
| write-write-2048x2048 |
| read-read-4096x4096 |
| read-write-4096x4096 |
| write-read-4096x4096 |
| write-write-4096x4096 |
| read-read-8192x8192 |
| read-write-8192x8192 |
| write-read-8192x8192 |
| write-write-8192x8192 |
Check that kernel relocation overflows are caught.
| invalid-address |
| single-overflow |
| batch-start-unaligned |
| batch-end-unaligned |
| wrapped-overflow |
| source-offset-page-stradle-gen8-reloc-cpu |
| source-offset-end-gen8-reloc-cpu |
| source-offset-overflow-gen8-reloc-cpu |
| source-offset-end-reloc-cpu |
| source-offset-big-reloc-cpu |
| source-offset-negative-reloc-cpu |
| source-offset-unaligned-reloc-cpu |
| source-offset-page-stradle-gen8-reloc-gtt |
| source-offset-end-gen8-reloc-gtt |
| source-offset-overflow-gen8-reloc-gtt |
| source-offset-end-reloc-gtt |
| source-offset-big-reloc-gtt |
| source-offset-negative-reloc-gtt |
| source-offset-unaligned-reloc-gtt |
| buffercount-overflow |
Test kernel relocations vs. gpu races.
| normal |
| faulting-reloc |
| interruptible |
| interruptible-hang |
| faulting-reloc-interruptible |
| faulting-reloc-interruptible-hang |
| forked |
| forked-interruptible |
| forked-faulting-reloc |
| forked-interruptible-faulting-reloc |
| forked-thrashing |
| forked-interruptible-thrashing |
| forked-faulting-reloc-thrashing |
| forked-interruptible-faulting-reloc-thrashing |
| forked-thrash-inactive |
| forked-interruptible-thrash-inactive |
| forked-faulting-reloc-thrash-inactive |
| forked-interruptible-faulting-reloc-thrash-inactive |
| forked-hang |
| forked-interruptible-hang |
| forked-faulting-reloc-hang |
| forked-interruptible-faulting-reloc-hang |
| forked-thrashing-hang |
| forked-interruptible-thrashing-hang |
| forked-faulting-reloc-thrashing-hang |
| forked-interruptible-faulting-reloc-thrashing-hang |
| forked-thrash-inactive-hang |
| forked-interruptible-thrash-inactive-hang |
| forked-faulting-reloc-thrash-inactive-hang |
| forked-interruptible-faulting-reloc-thrash-inactive-hang |
| params |
| params-ctx |
| reset-stats-default |
| reset-stats-ctx-default |
| ban-default |
| ban-ctx-default |
| reset-count-default |
| reset-count-ctx-default |
| unrelated-ctx-default |
| close-pending-default |
| close-pending-ctx-default |
| close-pending-fork-default |
| close-pending-fork-reverse-default |
| defer-hangcheck-default |
| reset-stats-render |
| reset-stats-ctx-render |
| ban-render |
| ban-ctx-render |
| reset-count-render |
| reset-count-ctx-render |
| unrelated-ctx-render |
| close-pending-render |
| close-pending-ctx-render |
| close-pending-fork-render |
| close-pending-fork-reverse-render |
| defer-hangcheck-render |
| reset-stats-bsd |
| reset-stats-ctx-bsd |
| ban-bsd |
| ban-ctx-bsd |
| reset-count-bsd |
| reset-count-ctx-bsd |
| unrelated-ctx-bsd |
| close-pending-bsd |
| close-pending-ctx-bsd |
| close-pending-fork-bsd |
| close-pending-fork-reverse-bsd |
| defer-hangcheck-bsd |
| reset-stats-bsd1 |
| reset-stats-ctx-bsd1 |
| ban-bsd1 |
| ban-ctx-bsd1 |
| reset-count-bsd1 |
| reset-count-ctx-bsd1 |
| unrelated-ctx-bsd1 |
| close-pending-bsd1 |
| close-pending-ctx-bsd1 |
| close-pending-fork-bsd1 |
| close-pending-fork-reverse-bsd1 |
| defer-hangcheck-bsd1 |
| reset-stats-bsd2 |
| reset-stats-ctx-bsd2 |
| ban-bsd2 |
| ban-ctx-bsd2 |
| reset-count-bsd2 |
| reset-count-ctx-bsd2 |
| unrelated-ctx-bsd2 |
| close-pending-bsd2 |
| close-pending-ctx-bsd2 |
| close-pending-fork-bsd2 |
| close-pending-fork-reverse-bsd2 |
| defer-hangcheck-bsd2 |
| reset-stats-blt |
| reset-stats-ctx-blt |
| ban-blt |
| ban-ctx-blt |
| reset-count-blt |
| reset-count-ctx-blt |
| unrelated-ctx-blt |
| close-pending-blt |
| close-pending-ctx-blt |
| close-pending-fork-blt |
| close-pending-fork-reverse-blt |
| defer-hangcheck-blt |
| reset-stats-vebox |
| reset-stats-ctx-vebox |
| ban-vebox |
| ban-ctx-vebox |
| reset-count-vebox |
| reset-count-ctx-vebox |
| unrelated-ctx-vebox |
| close-pending-vebox |
| close-pending-ctx-vebox |
| close-pending-fork-vebox |
| close-pending-fork-reverse-vebox |
| defer-hangcheck-vebox |
| basic-default |
| render |
| bsd |
| bsd1 |
| bsd2 |
| blt |
| vebox |
| basic-default-interruptible |
| render-interruptible |
| bsd-interruptible |
| bsd1-interruptible |
| bsd2-interruptible |
| blt-interruptible |
| vebox-interruptible |
| basic-default-hang |
| render-hang |
| bsd-hang |
| bsd1-hang |
| bsd2-hang |
| blt-hang |
| vebox-hang |
| basic-default-child |
| render-child |
| bsd-child |
| bsd1-child |
| bsd2-child |
| blt-child |
| vebox-child |
| basic-default-forked |
| render-forked |
| bsd-forked |
| bsd1-forked |
| bsd2-forked |
| blt-forked |
| vebox-forked |
| basic-default-bomb |
| render-bomb |
| bsd-bomb |
| bsd1-bomb |
| bsd2-bomb |
| blt-bomb |
| vebox-bomb |
This test verifies the exetended gem_create ioctl, that includes allocation of obj from stolen region
Test pread behavior on tiled objects with respect to the reported swizzling value.
This is a test of write-combining mmap's behavior on tiled objects with respect to the reported swizzling value.
| input-checking |
| usage-restrictions |
| invalid-null-pointer |
| invalid-gtt-mapping |
| forked-access |
| forbidden-operations |
| relocations |
| create-destroy-unsync |
| unsync-overlap |
| unsync-unmap |
| unsync-unmap-cycles |
| unsync-unmap-after-close |
| coherency-unsync |
| dmabuf-unsync |
| forked-unsync-normal |
| forked-unsync-interruptible |
| forked-unsync-swapping-normal |
| forked-unsync-swapping-interruptible |
| forked-unsync-multifd-normal |
| forked-unsync-multifd-interruptible |
| forked-unsync-swapping-multifd-normal |
| forked-unsync-swapping-multifd-interruptible |
| forked-unsync-mempressure-normal |
| forked-unsync-mempressure-interruptible |
| forked-unsync-swapping-mempressure-normal |
| forked-unsync-swapping-mempressure-interruptible |
| forked-unsync-multifd-mempressure-normal |
| forked-unsync-multifd-mempressure-interruptible |
| forked-unsync-swapping-multifd-mempressure-normal |
| forked-unsync-swapping-multifd-mempressure-interruptible |
| mlocked-unsync-normal |
| swapping-unsync-normal |
| minor-unsync-normal |
| major-unsync-normal |
| mlocked-unsync-interruptible |
| swapping-unsync-interruptible |
| minor-unsync-interruptible |
| major-unsync-interruptible |
| process-exit |
| process-exit-gtt |
| process-exit-busy |
| process-exit-gtt-busy |
| create-destroy-sync |
| sync-overlap |
| sync-unmap |
| sync-unmap-cycles |
| sync-unmap-after-close |
| stress-mm |
| stress-mm-invalidate-close |
| stress-mm-invalidate-close-overlap |
| coherency-sync |
| dmabuf-sync |
| forked-sync-normal |
| forked-sync-interruptible |
| forked-sync-swapping-normal |
| forked-sync-swapping-interruptible |
| forked-sync-multifd-normal |
| forked-sync-multifd-interruptible |
| forked-sync-swapping-multifd-normal |
| forked-sync-swapping-multifd-interruptible |
| forked-sync-mempressure-normal |
| forked-sync-mempressure-interruptible |
| forked-sync-swapping-mempressure-normal |
| forked-sync-swapping-mempressure-interruptible |
| forked-sync-multifd-mempressure-normal |
| forked-sync-multifd-mempressure-interruptible |
| forked-sync-swapping-multifd-mempressure-normal |
| forked-sync-swapping-multifd-mempressure-interruptible |
| mlocked-normal-sync |
| swapping-normal-sync |
| minor-normal-sync |
| major-normal-sync |
| mlocked-sync-interruptible |
| swapping-sync-interruptible |
| minor-sync-interruptible |
| major-sync-interruptible |
| access-control |