On Thu, Dec 1, 2022 at 12:20 PM Luben Tuikov wrote:
> On 2022-12-01 11:23, Alex Deucher wrote:
> > Add definitions to clarify GPU virtual memory.
> > Suggested-by: Peter Maucher
> > Signed-off-by: Alex Deucher
> > ---
> > Documentation/gpu/amdgpu/amdgpu-glossary.rst | 21
> > 1 file changed, 21 insertions(+)
> > diff --git a/Documentation/gpu/amdgpu/amdgpu-glossary.rst
> > b/Documentation/gpu/amdgpu/amdgpu-glossary.rst
> > index 326896e9800d..944ebcef1d28 100644
> > --- a/Documentation/gpu/amdgpu/amdgpu-glossary.rst
> > +++ b/Documentation/gpu/amdgpu/amdgpu-glossary.rst
> > @@ -30,12 +30,33 @@ we have a dedicated glossary for Display Core at
> > EOP
> >End Of Pipe/Pipeline
> > +GART
> > + Graphics Address Remapping Table. This is a GPUVM page table that
> > maps
> > + system resources (memory or MMIO space) into the GPU's address space
> > so
> > + the GPU can access them. In the GPU kernel driver's virtual address
> > + space is referred to as the GART for legacy reasons going back to AGP
> > + and the early GPU remapping hardware.
> > +
> I'd probably mention that this is an actual IOMMU IP.
> > GC
> >Graphics and Compute
> > GMC
> >Graphic Memory Controller
> > +GPUVM
> > + GPU Virtual Memory. The GPU supports multiple virtual address spaces
> > + that can be in flight at any given time. These allow the GPU to
> > remap
> > + VRAM and system resources into GPU virtual address spaces for use by
> > + the GPU kernel driver and applications using the GPU. These provide
> > + memory protection for different applications using the GPU.
> > +
> I'd probably add something like:
> "... These allow the GPU to remap VRAM, using GMC, and system resources,
> using AGP or GART, into GPU virtual address spaces ..."
Well, that's not entirely true. The GPUVM address space is unified so
you can map a vram page next to a system ram page. The only
difference is how you set up the PTEs. We just happen to set up VMID
0 (the kernel driver's GPUVM) slightly differently due to some
extended capabilities in that context. But you could map vram via the
GART (vmid 0) page table if you wanted to. AGP isn't really a thing
anymore, but we still have the aperture on the GPU, but we use it for
other things now.
> > +GTT
> > + Graphics Translation Tables. This is a memory pool managed through
> > TTM
> > + which provides access to system resources (memory or MMIO space) for
> > + use by the GPU. These addresses can be mapped into the GART GPUVM
> > page
> > + table for use by the kernel driver or into per process GPUVM page
> > tables
> > + for application usage.
> > +
> I'd probably clarify this simply by adding something like:
> "This is system memory, mapped by GART or AGP, into the GPUVM, for access by
> the GPU."
> I'm ambivalent if you want to add these, but it might make things clearer, as
> struggled with what something is, as opposed to what it does.
I'll see if I can clarify things a bit more.
> Having said this, this patch is generally,
> Reviewed-by: Luben Tuikov
> Thanks for doing this.
> > IH
> >Interrupt Handler