Re: [PATCH v6 7/9] iommu/amd: Update domain into to dte entry during device driver init

From: Joerg Roedel
Date: Thu Nov 10 2016 - 06:48:25 EST


On Thu, Oct 20, 2016 at 07:37:18PM +0800, Baoquan He wrote:
> prot = dir2prot(direction);
> + if (translation_pre_enabled(iommu) && !dev_data->domain_updated) {
> + dev_data->domain_updated = true;
> + set_dte_entry(dev_data->devid, domain, dev_data->ats.enabled);
> + if (alias != dev_data->devid)
> + set_dte_entry(alias, domain, dev_data->ats.enabled);
> + device_flush_dte(dev_data);
> + }

Hmm, I really don't like to have these checks in the fast-path. But to
get rid of it I think we need to re-work the way domains are assigned to
devices.

One way to do this would be to add a 'defered-domain-attach' feature to
the iommu-core code. What do you think about this?


Joerg