Re: [PATCH 1/2] Isolation groups
From: David Gibson
Date: Fri Mar 30 2012 - 00:19:52 EST
On Tue, Mar 27, 2012 at 01:34:43PM -0600, Alex Williamson wrote:
> > > > this case, it gets a bit complex. When the FooBus isolation provider
> > > > is active, the FooBus devices would be in their own groups, not the
> > > > group of the FooBridge and its sibling. When the FooBus isolation
> > > > provider is removed, it would have to configure the FooBus IOMMU to a
> > > > passthrough mode, and revert the FooBus devices to the parent's
> > > > group. Hm. Complicated.
> > >
> > > Yep. I think we're arriving at the same point. Groups are
> > > hierarchical, but ownership via a manager cannot be nested. So to
> > > manage a group, we need to walk the entire tree of devices below each
> > > device checking that none of the groups are managed and all the devices
> > > are using the right driver, then walk up from the group to verify no
> > > group of a parent device is managed. Thanks,
> > Blargh. I really, really hope we can come up with a simpler model
> > than that.
> Yep, I'm pretty well at the end of this experiment. Honestly, I think
> isolation groups are the wrong approach. We're trying to wrap too many
> concepts together and it's completely unmanageable. I cannot see adding
> the complexity we're talking about here to the core device model for
> such a niche usage. I think we're better off going back to the
> iommu_device_group() and building that out into something more complete,
> starting with group based iommu ops and a dma quirk infrastructure.
> >From there we can add some basic facilities to toggle driver autoprobe,
> maybe setup notifications for the group, and hopefully include a way to
> share iommu mappings between groups. Anything much beyond that we
> should probably leave for something like the vfio driver. Thanks,
Yes, well, I was hoping for a simpler model that didn't involve simply
sweeping all the issues under a rug.
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/