[Intel-gfx] Small bar recovery vs compressed content on DG2

Matthew Auld matthew.auld at intel.com
Thu Mar 17 09:29:30 UTC 2022


On 17/03/2022 08:43, Joonas Lahtinen wrote:
> Quoting Thomas Hellström (2022-03-16 09:25:16)
>> Hi!
>>
>> Do we somehow need to clarify in the headers the semantics for this?
>>
>>   From my understanding when discussing the CCS migration series with
>> Ram, the kernel will never do any resolving (compressing /
>> decompressing) migrations or evictions which basically implies the
>> following:
>>
>> *) Compressed data must have LMEM only placement, otherwise the GPU
>> would read garbage if accessing from SMEM.
> 
> This has always been the case, so it should be documented in the uAPI
> headers and kerneldocs.
> 
>> *) Compressed data can't be assumed to be mappable by the CPU, because
>> in order to ensure that on small BAR, the placement needs to be LMEM+SMEM.
> 
> Not strictly true, as we could always migrate to the mappable region in
> the CPU fault handler. Will need the same set of tricks as with limited
> mappable GGTT in past.

With the proposed I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS hint[1], it 
looks like by design we always require lmem + smem, with the idea that 
we can always spill to system memory if needed. So I guess explicit 
NEEDS_CPU_ACCESS + compression is not supported, is this the expected 
behaviour?

[1] https://patchwork.freedesktop.org/patch/475061/

> 
>> *) Neither can compressed data be part of a CAPTURE buffer, because that
>> requires the data to be CPU-mappable.
> 
> Especially this will be too big of a limitation which we can't really afford
> when it comes to debugging.
> 
> Regards, Joonas
> 
>> Are we (and user-mode drivers) OK with these restrictions, or do we need
>> to rethink?
>>
>> Thanks,
>>
>> Thomas
>>
>>


More information about the Intel-gfx mailing list