[PATCH 2/4] drm/amdkfd: Adding new IOCTL for scratch memory

Christian König deathsimple at vodafone.de
Tue Aug 15 08:24:22 UTC 2017


Am 14.08.2017 um 17:31 schrieb Felix Kuehling:
> [SNIP]
> Repeating the same argument I made on another email:

Commented on that in the other mail, let's keep the discussion on this 
topic there.

>> BTW: What exactly this this good for?
> Scratch memory is private memory per work-item. It's used when a shader
> program has too few registers available. With HSA we use flat scratch
> addressing, where shaders can access private memory in a special scratch
> aperture using normal memory instructions. Using the same virtual
> address, each work item gets its own private piece of memory. The
> hardware does the address translation from the VA in the private
> aperture to a scratch-backing VA. The application is responsible for
> allocating the memory to back that scratch area, and to map it somewhere
> in its virtual address space.
>
> This ioctl tells the hardware (or HWS firmware) the VA of the scratch
> backing memory.

Ok, you've got me lost here. Not that I'm deeply into that stuff, but my 
last status is that those apertures are global and not per/process or VMID.

That would mean that when two processes try to set two different 
addresses we are completely lost here.

Christian.


More information about the amd-gfx mailing list