Am 2020-04-20 um 1:44 p.m. schrieb Jacob Pan:
The bottom line is, when you allocate a PASID for a context, you want
to know how small it needs to be for all the devices that want to use
it. If you make it too big, some device will not be able to use it.
If you make it too small, you waste precious PASIDs that could be
used for other contexts that need them.

So for AMD, system-wide PASID allocation works with the
restriction/optimization above?

Yes for KFD. On multi-GPU systems we allocate one PASID for the whole process and use it on all GPUs.

For AMDGPU graphics contexts, we allocate one PASID for each per-GPU context. But they're allocated from a single global PASID namespace managed by the AMDGPU driver and shared with KFD. So we're wasting PASIDs here, but we are compatible with a single system-wide PASID namespace.

Regards,
  Felix