The common case is all IOMMUs having the same features. Log them only for the first IOMMU, or for any that have a differing feature set.
Requested-by: Andrew Cooper <andrew.coop...@citrix.com> Signed-off-by: Jan Beulich <jbeul...@suse.com> --- v2: New. --- a/xen/drivers/passthrough/amd/iommu_detect.c +++ b/xen/drivers/passthrough/amd/iommu_detect.c @@ -62,6 +62,7 @@ void __init get_iommu_features(struct am { u32 low, high; int i = 0 ; + const struct amd_iommu *first; static const char *__initdata feature_str[] = { "- Prefetch Pages Command", "- Peripheral Page Service Request", @@ -89,6 +90,11 @@ void __init get_iommu_features(struct am iommu->features = ((u64)high << 32) | low; + /* Don't log the same set of features over and over. */ + first = list_first_entry(&amd_iommu_head, struct amd_iommu, list); + if ( iommu != first && iommu->features == first->features ) + return; + printk("AMD-Vi: IOMMU Extended Features:\n"); while ( feature_str[i] ) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel