File bug-893478_warn-once.patch of Package irqbalance.2192

From: Takashi Iwai <tiwai@suse.com>
Only warn once for affinity hint subset empty irqs

bnc#893478

Signed-off-by: Thomas Renninger <trenn@suse.de>
---
 activate.c |   13 ++++++++-----
 types.h    |    1 +
 2 files changed, 9 insertions(+), 5 deletions(-)

--- a/activate.c
+++ b/activate.c
@@ -84,11 +84,14 @@ static void activate_mapping(struct irq_
 		if ((hint_policy == HINT_POLICY_SUBSET) &&
 		    (!cpus_empty(info->affinity_hint))) {
 			cpus_and(applied_mask, applied_mask, info->affinity_hint);
-			if (!cpus_intersects(applied_mask, unbanned_cpus))
-				log(TO_ALL, LOG_WARNING,
-				    "irq %d affinity_hint subset empty\n",
-				   info->irq);
-			else
+			if (!cpus_intersects(applied_mask, unbanned_cpus)) {
+				if (!info->warned) {
+					info->warned = 1;
+					log(TO_ALL, LOG_WARNING,
+					    "irq %d affinity_hint subset empty\n",
+					    info->irq);
+				}
+			} else
 				valid_mask = 1;
 		} else {
 			valid_mask = 1;
--- a/types.h
+++ b/types.h
@@ -69,6 +69,7 @@ struct irq_info {
 	uint64_t load;
 	int moved;
 struct topo_obj *assigned_obj;
+	unsigned int warned;
 };
 
 #endif