File 5d1b3fab-AMD-IOMMU-restrict-feature-logging.patch of Package xen.31431
References: bsc#1135799
# Commit 93ef224d63f9f04a0897d64981c619eb4816c0d3
# Date 2019-07-02 13:27:39 +0200
# Author Jan Beulich <jbeulich@suse.com>
# Committer Jan Beulich <jbeulich@suse.com>
AMD/IOMMU: restrict feature logging
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.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Brian Woods <brian.woods@amd.com>
--- 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] )