On Wed, Nov 27, 2024 at 10:21:24AM +0000, Shameerali Kolothum Thodi wrote:
> > For SMMUv3, NVIDIA-specific vCMDQ, it needs a parameter to state that
> > specifically,
> > since I'm concluding from reading the SMMUv3 version G.a spec, that
> > ECMDQ was added
> > to be able to assign an ECMDQ to a VM,
> 
> Not sure the intention of ECMDQ as per that specification is to assign
> it to a VM. I think the main idea behind it is to have one Command Queue 
> per host CPU to eliminate lock contention while submitting commands
> to SMMU.

Right

> AFAIK it is not safe to assign one of the ECMDQ to guest yet. I think there 
> is no
> way you can associate a VMID with ECMDQ. So there is no plan to
> support ARM ECMDQ now.

Yep

> NVIDIA VCMDQ is a completely vendor specific one. Perhaps ARM may come
> up with an assignable CMDQ in future though.

Yes, it is easy to imagine an ECMDQ extension that provides the same HW
features that VCMDQ has in future. I hope ARM will develop one.

> > ... and all needs to be per-instance ....
> > ... libvirt  (or any other VMM orchestrator) will need to determine
> > compatibility for
> >      live migration. e.g., can one live migrate an accel=nv-vcmdq-based VM 
> > to
> > a host with
> >      accel=ecmdq support?  only nv-vcmdq?  what if there are version diffs 
> > of
> > nv-vcmdq over time?
> >      -- apologies, but I don't know the minute details of nv-vcmdq to
> > determine if that's unlikely or not.
> 
> Yes. This require more thought. But our first aim is get the basic 
> smmuv3-accel
> support.

Yeah, there is no live migration support yet in the SMMU qmeu driver,
AFAIK?

When it gets done the supported options will have to be considered

Jason

Reply via email to