On Tue, Sep 25, 2018 at 11:15:40AM +0800, Lu Baolu wrote: > This might be problematic for vt-d (and other possible arch's which use > PASID other than SVA). When vt-d iommu works in scalable mode, a PASID > might be allocated for: > > (1) SVA > (2) Device Assignable Interface (might be a mdev or directly managed > within a device driver). > (3) SVA in VM guest > (4) Device Assignable Interface in VM guest > > So we can't expect that an io_mm pointer was associated with each PASID. > And this code might run into problem if the pasid is allocated for > usages other than SVA. So all of these use-cases above should work in parallel on the same device, just with different PASIDs? Or is a device always using only one of the above modes at the same time? Regards, Joerg