gem_ctx_create
Test the context create ioctls
basic
Test random context creation
ext-param
Verify valid and invalid context extensions
iris-pipeline
Set, validate and execute particular context params
maximum-mem
Create contexts upto available RAM size, calculate the average performance of their execution on multiple parallel processes
maximum-swap
Create contexts upto available RAM+SWAP size, calculate the average performance of their execution on multiple parallel processes
basic-files
Exercise implicit per-fd context creation
files
Exercise implicit per-fd context creation on 1 CPU for long duration
forked-files
Exercise implicit per-fd context creation on all CPUs for long duration
active-all
Calculate the average performance of context creation and it's execution using all engines
forked-active-all
Calculate the average performance of context creation and it's execution using all engines on multiple parallel processes
active
For each engine calculate the average performance of context creation execution and exercise context reclaim
forked-active
For each engine calculate the average performance of context creation and execution on multiple parallel processes
hog
For each engine calculate the average performance of context creation and execution while all other engines are hogging the resources
gem_ctx_param
Basic test for context set/get param input validation.
basic
Basic test for context get/set param ioctls using valid context
basic-default
Basic test for context get/set param ioctls using default context
invalid-ctx-get
Verify that context get param ioctl using invalid context returns relevant error
invalid-ctx-set
Verify that context set param ioctl using invalid context returns relevant error
invalid-size-get
Verify that context get param ioctl returns valid size for valid context
invalid-size-set
Verify that context set param ioctl using invalid size returns relevant error
non-root-set
Verify that context set param ioctl returns relevant error in non root mode
root-set
Verify that context set param ioctl works fine in root mode
vm
Tests that multiple contexts can share the same VMA
set-priority-not-supported
Verify that context set param ioctl returns relevant error if driver doesn't supports assigning custom priorities from userspace
get-priority-new-ctx
Test performed with context param set to priority Verify that priority is default for newly created context
set-priority-invalid-size
Test performed with context param set to priority Verify that relevant error is returned on setting invalid ctx size with default priority
set-priority-range
Test performed with context param set to priority Change priority range to test value overflow
invalid-param-get
Checks that fetching context parameters using an unused param value is erroneous
invalid-param-set
Checks that setting context parameters using an unused param value is erroneous
invalid-set-ringsize
NO DOCUMENTATION!
invalid-get-ringsize
NO DOCUMENTATION!
invalid-set-no-zeromap
NO DOCUMENTATION!
invalid-get-no-zeromap
NO DOCUMENTATION!
invalid-get-engines
NO DOCUMENTATION!
gem_exec_suspend
Exercise simple execbufs runs across various suspend/resume cycles.
basic
Check basic functionality without any suspend/resume cycle.
basic-S0
Check with suspend-to-idle target state.
basic-S3-devices
Check with suspend-to-mem with devices only.
basic-S3
Check full cycle of suspend-to-mem.
basic-S4-devices
Check with suspend-to-disk with devices only.
basic-S4
Check full cycle of suspend-to-disk.
fixed
Check without suspend/resume cycle state with fixed object.
uncached
Check without suspend/resume cycle state with uncached object.
cached
Check without suspend/resume cycle state with cached object.
fixed-S3
Check suspend-to-mem state with fixed object.
uncached-S3
Check suspend-to-mem state with uncached object.
cached-S3
Check suspend-to-mem state with cached object.
fixed-S4
Check suspend-to-disk state with fixed object.
uncached-S4
Check suspend-to-disk state with uncached object.
cached-S4
Check suspend-to-disk state with cached object.
hang-S3
Check full cycle of suspend-to-mem with a pending GPU hang.
hang-S4
Check full cycle of suspend-to-disk with a pending GPU hang.
power-S0
Check power consumption during idle state.
power-S3
Check power consumption during suspend-to-mem state.
gem_lmem_swapping
Exercise local memory swapping.
basic
Exercise local memory swapping to system memory
random
Exercise local memory swapping to system memory
random-engines
Exercise local memory swapping to system memory
heavy-random
Exercise local memory swapping to system memory
heavy-multi
Exercise local memory swapping to system memory
verify
Exercise local memory swapping to system memory
verify-random
Exercise local memory swapping to system memory
heavy-verify-random
Exercise local memory swapping to system memory
heavy-verify-multi
Exercise local memory swapping to system memory
parallel-random
Exercise local memory swapping to system memory
parallel-random-engines
Exercise local memory swapping to system memory
parallel-random-verify
Exercise local memory swapping to system memory
parallel-multi
Exercise local memory swapping to system memory
verify-ccs
Exercise local memory swapping to system memory
verify-random-ccs
Exercise local memory swapping to system memory
heavy-verify-random-ccs
Exercise local memory swapping to system memory
heavy-verify-multi-ccs
Exercise local memory swapping to system memory
parallel-random-verify-ccs
Exercise local memory swapping to system memory
smem-oom
Exercise local memory swapping during exhausting system memory
gem_mmap_gtt
Ensure that all operations around MMAP_GTT ioctl works.
bad-object
Verify mapping to invalid gem objects fails.
basic
Basic checks of GEM_MMAP_GTT ioctl.
basic-short
Test mmaping less than the full object.
basic-copy
Test copy between two GTT mmappings.
basic-read
Test to read content from GTT mmapped object.
basic-write
Test to write content to GTT mmapped object.
basic-write-gtt
Test creates a prefault object into GTT and writes into it from another GTT mmapped.
ptrace
Inspect a GTT mmap using ptrace().
coherency
Check whether a write through the GTT is immediately visible to the CPU.
clflush
Check the userspace clflushing of the GTT mmap.
hang
Check read/writes across a GPU reset.
hang-busy
Exercise the GTT mmap revocation for a reset on a busy object.
hang-user
Mix a busy hang with GTT and userptr.
basic-read-write
Check basic read->write order of a GTT mmapped bo.
basic-write-read
Check basic write->read order of a GTT mmapped bo.
basic-read-write-distinct
Check distinct read->write order of a GTT mmapped bo.
basic-write-read-distinct
Check distinct write->read order of a GTT mmapped bo.
fault-concurrent
Excercise concurrent pagefaulting of a GTT mmaped bo.
fault-concurrent-X
Excercise concurrent pagefaulting of a X-tiled GTT mmaped bo.
fault-concurrent-Y
Excercise concurrent pagefaulting of a Y-tiled GTT mmaped bo.
basic-write-cpu-read-gtt
Check coherency between GTT and CPU mmappings with LLC.
basic-wc
Check the performance of WC writes with WC reads of GTT and WC writes of GTT with WB writes of CPU.
isolation
Test mmap_offset lifetime, closing the object on another file should not affect the local mmap_offset.
zero-extend
Test MMAP_GTT extension validity.
close-race
Test to check that a few threads opening and closing handles cause explosion in other threads in the process of mmaping that handle.
flink-race
Test to check that a few threads opening and closing flink handles cause explosion in other threads in the process of mmaping that handle.
pf-nonblock
Check that the initial pagefault is non-blocking.
basic-small-bo
Check mmap access to a small buffer object by CPU directly and through GTT in sequence.
basic-small-bo-tiledX
Check mmap access to a small X-tiled buffer object by CPU directly and through GTT in sequence.
basic-small-bo-tiledY
Check mmap access to a small Y-tiled buffer object by CPU directly and through GTT in sequence.
big-bo
Check mmap access to a big buffer object by CPU directly and through GTT in sequence.
big-bo-tiledX
Check mmap access to a big X-tiled buffer object by CPU directly and through GTT in sequence.
big-bo-tiledY
Check mmap access to a big Y-tiled buffer object by CPU directly and through GTT in sequence.
huge-bo
Check mmap access to a huge buffer object by CPU directly and through GTT in sequence.
huge-bo-tiledX
Check mmap access to a huge X-tiled buffer object by CPU directly and through GTT in sequence.
huge-bo-tiledY
Check mmap access to a huge Y-tiled buffer object by CPU directly and through GTT in sequence.
basic-small-copy
Check page by page copying between two GTT mmapped normal-small bo's.
cpuset-basic-small-copy
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped normal-small bo's.
forked-basic-small-copy
Add forked contention and check page by page copying between two GTT mmapped normal-small bo's.
basic-small-copy-XY
Check page by page copying between two GTT mmapped tiled-small bo's.
cpuset-basic-small-copy-XY
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped tiled-small bo's.
forked-basic-small-copy-XY
Add forked contention and check page by page copying between two GTT mmapped tiled-small bo's.
basic-small-copy-odd
Check page by page copying between two GTT mmapped odd tiled-small bo's.
cpuset-basic-small-copy-odd
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped odd tiled-small bo's.
forked-basic-small-copy-odd
Add forked contention and check page by page copying between two GTT mmapped odd tiled-small bo's.
medium-copy
Check page by page copying between two GTT mmapped normal-medium bo's.
cpuset-medium-copy
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped normal-medium bo's.
forked-medium-copy
Add forked contention and check page by page copying between two GTT mmapped normal-medium bo's.
medium-copy-XY
Check page by page copying between two GTT mmapped tiled-medium bo's.
cpuset-medium-copy-XY
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped tiled-medium bo's.
forked-medium-copy-XY
Add forked contention and check page by page copying between two GTT mmapped tiled-medium bo's.
medium-copy-odd
Check page by page copying between two GTT mmapped odd tiled-medium bo's.
cpuset-medium-copy-odd
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped odd tiled-medium bo's.
forked-medium-copy-odd
Add forked contention and check page by page copying between two GTT mmapped odd tiled-medium bo's.
big-copy
Check page by page copying between two GTT mmapped normal-big bo's.
cpuset-big-copy
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped normal-big bo's.
forked-big-copy
Add forked contention and check page by page copying between two GTT mmapped normal-big bo's.
big-copy-XY
Check page by page copying between two GTT mmapped tiled-big bo's.
cpuset-big-copy-XY
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped tiled-big bo's.
forked-big-copy-XY
Add forked contention and check page by page copying between two GTT mmapped tiled-big bo's.
big-copy-odd
Check page by page copying between two GTT mmapped odd tiled-big bo's.
cpuset-big-copy-odd
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped odd tiled-big bo's.
forked-big-copy-odd
Add forked contention and check page by page copying between two GTT mmapped odd tiled-big bo's.
huge-copy
Check page by page copying between two GTT mmapped normal-huge bo's.
cpuset-huge-copy
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped normal-huge bo's.
forked-huge-copy
Add forked contention and check page by page copying between two GTT mmapped normal-huge bo's.
huge-copy-XY
Check page by page copying between two GTT mmapped tiled-huge bo's.
cpuset-huge-copy-XY
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped tiled-huge bo's.
forked-huge-copy-XY
Add forked contention and check page by page copying between two GTT mmapped tiled-huge bo's.
huge-copy-odd
Check page by page copying between two GTT mmapped odd tiled-huge bo's.
cpuset-huge-copy-odd
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped odd tiled-huge bo's.
forked-huge-copy-odd
Add forked contention and check page by page copying between two GTT mmapped odd tiled-huge bo's.
swap-copy
Check page by page copying between two GTT mmapped normal-huge bo's larger than physical memory and resulting in thrashing of swap space.
cpuset-swap-copy
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped normal-huge bo's larger than physical memory and resulting in thrashing of swap space.
forked-swap-copy
Add forked contention and check page by page copying between two GTT mmapped normal-huge bo's larger than physical memory and resulting in thrashing of swap space.
swap-copy-XY
Check page by page copying between two GTT mmapped tiled-huge bo's larger than physical memory and resulting in thrashing of swap space.
cpuset-swap-copy-XY
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped tiled-huge bo's larger than physical memory and resulting in thrashing of swap space.
forked-swap-copy-XY
Add forked contention and check page by page copying between two GTT mmapped tiled-huge bo's larger than physical memory and resulting in thrashing of swap space.
swap-copy-odd
Check page by page copying between two GTT mmapped odd tiled-huge bo's larger than physical memory and resulting in thrashing of swap space.
cpuset-swap-copy-odd
Add forked contention with lighter variant (single cpu) and check page by page copying between two GTT mmapped odd tiled-huge bo's larger than physical memory and resulting in thrashing of swap space.
forked-swap-copy-odd
Add forked contention and check page by page copying between two GTT mmapped odd tiled-huge bo's larger than physical memory and resulting in thrashing of swap space.
gem_partial_pwrite_pread
Test pwrite/pread consistency when touching partial cachelines.
reads
Verify if pread is consistent while accessing partial cachelines with default caching level
write
Verify if pwrite is consistent while accessing partial cachelines with default caching level
writes-after-reads
Verify if both pread, pwrite are consistent while accessing partial cachelines with default caching level
reads-uncached
Verify if pread is consistent while accessing partial cachelines with uncached caching level
write-uncached
Verify if pwrite is consistent while accessing partial cachelines with uncached caching level
writes-after-reads-uncached
Verify if both pread, pwrite are consistent while accessing partial cachelines with uncached caching level
reads-snoop
Verify if pread is consistent while accessing partial cachelines with snoop caching level
write-snoop
Verify if pwrite is consistent while accessing partial cachelines with snoop caching level
writes-after-reads-snoop
Verify if both pread, pwrite are consistent while accessing partial cachelines with snoop caching level
reads-display
Verify if pread is consistent while accessing partial cachelines with display caching level
write-display
Verify if pwrite is consistent while accessing partial cachelines with display caching level
writes-after-reads-display
Verify if both pread, pwrite are consistent while accessing partial cachelines with display caching level
gem_render_copy
Basic test for the render_copy() function.
linear
Test render_copy() from a mixed-tiled to a linear buffer.
x-tiled
Test render_copy() from a mixed-tiled to a x-tiled buffer.
y-tiled
Test render_copy() from a mixed-tiled to a y-tiled buffer.
yf-tiled
Test render_copy() from a mixed-tiled to a yf-tiled buffer.
mixed-tiled-to-y-tiled-ccs
Test render_copy() from a mixed-tiled to a y-tiled-ccs buffer.
mixed-tiled-to-yf-tiled-ccs
Test render_copy() from a mixed-tiled to a yf-tiled-ccs buffer.
y-tiled-ccs-to-linear
Test render_copy() from a y-tiled-ccs to a linear buffer.
y-tiled-ccs-to-x-tiled
Test render_copy() from a y-tiled-ccs to a x-tiled buffer.
y-tiled-ccs-to-y-tiled
Test render_copy() from a y-tiled-ccs to a y-tiled buffer.
y-tiled-ccs-to-yf-tiled
Test render_copy() from a y-tiled-ccs to a yf-tiled buffer.
yf-tiled-ccs-to-linear
Test render_copy() from a yf-tiled-ccs to a linear buffer.
yf-tiled-ccs-to-x-tiled
Test render_copy() from a yf-tiled-ccs to a x-tiled buffer.
yf-tiled-ccs-to-y-tiled
Test render_copy() from a yf-tiled-ccs to a y-tiled buffer.
yf-tiled-ccs-to-yf-tiled
Test render_copy() from a yf-tiled-ccs to a yf-tiled buffer.
y-tiled-ccs-to-y-tiled-ccs
Test render_copy() from a y-tiled-ccs to a y-tiled-ccs buffer.
yf-tiled-ccs-to-yf-tiled-ccs
Test render_copy() from a yf-tiled-ccs to a yf-tiled-ccs buffer.
y-tiled-ccs-to-yf-tiled-ccs
Test render_copy() from a y-tiled-ccs to a yf-tiled-ccs buffer.
yf-tiled-ccs-to-y-tiled-ccs
Test render_copy() from a yf-tiled-ccs to a y-tiled-ccs buffer.
linear-to-vebox-yf-tiled
Test vebox_copy() from a linear to a yf-tiled buffer.
linear-to-vebox-y-tiled
Test vebox_copy() from a linear to a y-tiled buffer.
x-tiled-to-vebox-yf-tiled
Test vebox_copy() from a x-tiled to a yf-tiled buffer.
x-tiled-to-vebox-y-tiled
Test vebox_copy() from a x-tiled to a y-tiled buffer.
y-tiled-to-vebox-linear
Test vebox_copy() from a y-tiled to a linear buffer.
y-tiled-to-vebox-x-tiled
Test vebox_copy() from a y-tiled to a x-tiled buffer.
y-tiled-to-vebox-y-tiled
Test vebox_copy() from a y-tiled to a y-tiled buffer.
y-tiled-to-vebox-yf-tiled
Test vebox_copy() from a y-tiled to a yf-tiled buffer.
yf-tiled-to-vebox-linear
Test vebox_copy() from a yf-tiled to a linear buffer.
yf-tiled-to-vebox-x-tiled
Test vebox_copy() from a yf-tiled to a x-tiled buffer.
yf-tiled-to-vebox-yf-tiled
Test vebox_copy() from a yf-tiled to a yf-tiled buffer.
yf-tiled-to-vebox-y-tiled
Test vebox_copy() from a yf-tiled to a y-tiled buffer.
y-tiled-mc-ccs-to-vebox-y-tiled
Test vebox_copy() from a y-tiled-mc-ccs to a y-tiled buffer.
yf-tiled-mc-ccs-to-vebox-yf-tiled
Test vebox_copy() from a yf-tiled-mc-ccs to a yf-tiled buffer.
y-tiled-mc-ccs-to-vebox-yf-tiled
Test vebox_copy() from a y-tiled-mc-ccs to a yf-tiled buffer.
yf-tiled-mc-ccs-to-vebox-y-tiled
Test vebox_copy() from a yf-tiled-mc-ccs to a y-tiled buffer.
y-tiled-mc-ccs-to-y-tiled-ccs
Test render_copy() and vebox_copy() from a y-tiled-mc-ccs to a y-tiled-ccs buffer.
y-tiled-mc-ccs-to-yf-tiled-ccs
Test render_copy() and vebox_copy() from a y-tiled-mc-ccs to a yf-tiled-ccs buffer.
y-tiled-ccs-to-y-tiled-mc-ccs
Test render_copy() and vebox_copy() from a y-tiled-ccs to a y-tiled-mc-ccs buffer.
y-tiled-ccs-to-yf-tiled-mc-ccs
Test render_copy() and vebox_copy() from a y-tiled-ccs to a yf-tiled-mc-ccs buffer.
gem_ringfill
Exercise many tiny batchbuffer operations, in the hope of catching failure to manage the ringproperly near full.
legacy-basic
Basic check how the driver handles a full ring - on legacy ring.
legacy-interruptible
Exercise all potential injection sites by using igt_sigiter interface to repeat the ringfill testing - on legacy ring.
legacy-hang
Exercise many batchbuffer operations along with a hang batch until ring is full - on legacy ring.
legacy-child
Check to fill the ring parallely using fork - on legacy ring.
legacy-forked
Check to fill the ring parallely using fork - on legacy ring.
legacy-fd
Fills the ring upto maximim parallely using fork with different fd's - on legacy ring.
legacy-bomb
Fills the ring upto maximim parallely using fork with different fd's along with interruptions - on legacy ring.
legacy-S3
Handle a full ring across suspend cycle - on legacy ring.
legacy-S4
Handle a full ring across hibernate cycle - on legacy ring.
engines-basic
Basic check how the driver handles a full ring.
engines-interruptible
Exercise all potential injection sites by using igt_sigiter interface to repeat the ringfill testing.
engines-hang
Exercise many batchbuffer operations along with a hang batch until ring is full.
engines-child
Check to fill the ring parallely using fork.
engines-forked
Check to fill the ring parallely using fork.
engines-fd
Fills the ring upto maximim parallely using fork with different fd's.
engines-bomb
Fills the ring upto maximim parallely using fork with different fd's along with interruptions.
engines-S3
Handle a full ring across suspend cycle.
engines-S4
Handle a full ring across hibernate cycle.
basic-all
Basic check to fill the ring upto maximum on all engines simultaneously.
gem_sync
Basic check of ring<->ring write synchronisation.
legacy-default
Check synchronisation of rings for each legacy engine.
legacy-idle
Exercise and measure idle requests for each legacy engine.
legacy-active
Exercise waiting while keeping the GPU busy for each legacy engine.
legacy-wakeup
Stress for nop + sync for each legacy engine.
legacy-active-wakeup
Measure wakeup latency while also scheduling the next batch for each legacy engine.
legacy-double-wakeup
Double stress test for nop + sync for each legacy engine.
legacy-store
Check that store synchronisation works for each legacy engine.
legacy-switch
Check sync after context switch for each legacy engine.
legacy-forked-switch
Check sync after context switch parallelly for each legacy engine.
legacy-many
Create race condition and see if we can catch interrupts for each legacy engine.
legacy-forked
Check synchronisation of ring with parallel executions for each legacy engine.
legacy-forked-store
Check store synchronisation works with parallel multiple executions for each legacy engine.
basic-all
Basic test to wait upon a batch on all rings.
basic-store-all
Basic version of store synchronisation test.
all
Extended version of existing basic-all test.
store-all
Extended version of existing basic-store-all test.
forked-all
Parallel execution of batch on all rings and then wait.
forked-store-all
Parallel execution of store synchronisation.
basic-each
Check synchronisation of ring.
basic-store-each
Check that store synchronisation works.
basic-many-each
Create race condition and see if we can catch interrupts.
switch-each
Check sync after context switch.
forked-switch-each
Check sync after context switch parallelly.
forked-each
Forked variant of sync_ring, which checks synchronisation of ring with parallel executions.
forked-store-each
Forked variant of store_ring, check if parallel store synchronisation works.
active-each
Exercise waiting while keeping the GPU busy.
wakeup-each
Stress test for nop + sync.
active-wakeup-each
Measure wakeup latency while also scheduling the next batch.
double-wakeup-each
Double stress test for nop + sync.
default
Check synchronisation of rings on each engine.
idle
Exercise and measure idle requests on each engine.
active
Exercise waiting while keeping the GPU busy on each engine.
wakeup
Stress for nop + sync on each engine.
active-wakeup
Measure wakeup latency while also scheduling the next batch on each engine.
double-wakeup
Double stress test for nop + sync on each engine.
store
Check that store synchronisation works on each engine.
switch
Check sync after context switch on each engine.
forked-switch
Check sync after context switch parallelly on each engine.
many
Create race condition and see if we can catch interrupts on each engine.
forked
Check synchronisation of ring with parallel executions on each engine.
forked-store
Check store synchronisation works with parallel multiple executions on each engine.
preempt-all
Check and measure how well we can submit a second high priority task when the engine is already busy with a low priority task on all engines.
preempt
For each context engine check how priority of task are submitted when engine is already busy.