On Tue, 2011-05-10 at 12:06 -0600, Alex Williamson wrote: > We're currently very strict in requiring that DMA unmaps are done > using the exact same regions as used for the original mapping. > In a VM environment, we may want to change sub-areas of a previous > mapping without tearing down the entire region. This might also > also us to support ballooning or memory hotplug in a guest making > use of a vfio device. > > Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> > --- > > Tom, > > I'm a little confused why we have the list of mapped areas attached > to the listener. If we want to support multiple devices sharing the same > uiommu, don't we instead need to create a separate object hosting this > list with reference counting so multiple vdevs can point to it? I would > expect that's where the locked_page accounting would be moved to as well. > There also seems to be support that each vdev could have multiple > listeners, each with their own list of dma mapped areas, but we can > only have one udomain per vdev, which just further confuses me. Can you > hlp me out? Thanks, > > Alex > > Note the change of npage to unsigned long below is just to avoid needing > to cast it every time we do a << PAGE_SHIFT to avoid overflow. Self NAK on this last change, it breaks locked page accounting since we rely on a sign bit there. I'll try just using a macro instead to avoid excessive casting. The follow-up uiommu sharing patch is dependent on this, so I'll respin both. Thanks, Alex -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html