[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [XenSummit 2017] Shared coprocessor framework followup
On Wed, Aug 02, 2017 at 02:07:17PM +0300, Andrii Anisov wrote: > Hello Edgar, Hi Andrii, > > > On 01.08.17 20:13, Edgar E. Iglesias wrote: > >>Are master ports behind IOMMU? > >Yes, they are. > What IOMMU IP is used? Today it's an SMMUv2. > > >>>It's possible to reprogram the configuration of the PL and swap > >>>accelerators in > >>>and out on the fly. It's probably going to be too slow for trying to > >>>context switch between guests > >>So let us assume it is a FW-less resource we need to share between domains. > >>Context switch will be stripped to mapping its mmio (or passing mmio > >>accesses) next domain to serve and IOMMU configuration switching. > >>Yep, IOMMU matters. > >OK. I think the PL is more like a firmware enabled resource. > >The PL configuration needs to be loaded much like firmware > >otherwise the accelerators can't change shape and all guests > >must use the same kind. > I understand this. > But I got your words like you are going to give a try to the same kind for > all domains first. Because you assumed that reconfiguring would be too slow, > what is actually discussable. Aha, OK. What I meant was that it may be to slow for context-switching at a micro-level. But with an allocate/release interface for batch processing, I don't think it's to slow to reprogram the PL between guests. I agree that we need hard numbers on the PL programming before we rule things out. I'll try to dig internally for some. > >>> so I think primarily we would be looking at > >>>a way to lets say, "allocate" and "release" the resources for batch use. > >>Kind of voluntary preemption? > >Right. That could be a start. > >In the future perhaps it makes sense to context-switch. > We still need the context switch to be done. The difference is that now it > could be done only when the accelerator is not busy. I don't necessarily think so. The context-switch would involve saving and restoring accelerator state aswell as re-programming the PL. With allocate/release, we only need to re-program the PL. Saving the state of the PL might be tricky since we don't know how to (we don't know the details of the acceelerator ahead of time). I guess we could somehow let the guest that owns the accellerator save/restore the state somehow but perhaps that brings us back in the direction of allocate/release semantics... > >>>If a guest cannot allocate an accelerator, it could fall back to emulation > >>>or just to using SW libraries until an accelerator slot is available. > >>What about the thing I called "an access emulation" [1]? From the domain's > >>point of view it would be reflected in a delayed response (via IRQ or > >>register polling) from an accelerator. > >> > >>I guess the concept described above is feasible even with current SCF code > >>and will not take too much efforts. > >I'll have a look, thanks! > Do not hesitate to contact us in case you need any help or clarification. Thanks! Edgar > > > -- > > *Andrii Anisov* > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |