sched: EAS: introduce irqload awareness

Avoid task placement on CPUs which are highly loaded with lots
of IRQ handling.

Change-Id: I55908f211aeb5338d10fb81db1ef33116b8fe98b
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h
index 2956f92..ba2b0ba 100644
--- a/include/trace/events/sched.h
+++ b/include/trace/events/sched.h
@@ -715,6 +715,8 @@ TRACE_EVENT(sched_cpu_util,
 		__field(unsigned long, curr_util		)
 		__field(int, sync				)
 		__field(int, idle_state				)
+		__field(unsigned int, irqload		)
+		__field(int, high_irqload		)
 	),
 
 	TP_fast_assign(
@@ -729,10 +731,12 @@ TRACE_EVENT(sched_cpu_util,
 		__entry->curr_util		= curr_util;
 		__entry->sync			= sync;
 		__entry->idle_state		= idle_get_state_idx(cpu_rq(cpu));
+		__entry->irqload		= sched_irqload(cpu);
+		__entry->high_irqload		= sched_cpu_high_irqload(cpu);
 	),
 
-	TP_printk("comm=%s pid=%d cpu=%d task_util=%d nr_running=%d cpu_util=%ld capacity_curr=%u capacity=%u curr_util=%ld sync=%d idle_state=%d",
-		__entry->comm, __entry->pid, __entry->cpu, __entry->task_util, __entry->nr_running, __entry->cpu_util, __entry->capacity_curr, __entry->capacity, __entry->curr_util, __entry->sync, __entry->idle_state)
+	TP_printk("comm=%s pid=%d cpu=%d task_util=%d nr_running=%d cpu_util=%ld capacity_curr=%u capacity=%u curr_util=%ld sync=%d idle_state=%d irqload=%u high_irqload=%u",
+		__entry->comm, __entry->pid, __entry->cpu, __entry->task_util, __entry->nr_running, __entry->cpu_util, __entry->capacity_curr, __entry->capacity, __entry->curr_util, __entry->sync, __entry->idle_state, __entry->irqload, __entry->high_irqload)
 );
 
 DECLARE_EVENT_CLASS(sched_task_util,