sched: Limit the number of task migrations per batch

Put an upper limit on the number of tasks which are migrated per batch
to avoid large latencies.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
(cherry picked from commit 6c6a9fafeb1ec04ee2a4d64f2a6bae3be3ad0151)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
(cherry picked from commit d8b520462cd355455350e551322769737be7d46c)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index da8ff1a..ec1758f 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -64,7 +64,11 @@
  * Number of tasks to iterate in a single balance run.
  * Limited because this is done with IRQs disabled.
  */
+#ifndef CONFIG_PREEMPT_RT_FULL
 const_debug unsigned int sysctl_sched_nr_migrate = 32;
+#else
+const_debug unsigned int sysctl_sched_nr_migrate = 8;
+#endif
 
 /*
  * period over which we average the RT time consumption, measured