Skip to content
  • Chris Wilson's avatar
    tests: Add gem_cpu_reloc · 3b9a76d2
    Chris Wilson authored
    
    
    Attempt to stress test performing relocations whilst the batch is in the
    CPU domain.
    
    A freshly allocated buffer starts in the CPU domain, and the pwrite
    should also be performed whilst in the CPU domain and so we should
    execute the relocations within the CPU domain. If for any reason one of
    those steps should land it in the GTT domain, we take the secondary
    precaution of filling the mappable portion of the GATT.
    
    In order to detect whether a relocation fails, we first fill a target
    buffer with a sequence of invalid commands that would cause the GPU to
    immediate hang, and then attempt to overwrite them with a legal, if
    short, batchbuffer using a BLT. Then we come to execute the bo, if the
    relocation fail and we either copy across all zeros or garbage, then the
    GPU will hang.
    
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    3b9a76d2