summaryrefslogtreecommitdiff
path: root/kernel/sched
diff options
context:
space:
mode:
authorSyed Rameez Mustafa <rameezmustafa@codeaurora.org>2016-12-13 16:50:58 -0800
committerSyed Rameez Mustafa <rameezmustafa@codeaurora.org>2016-12-14 14:56:27 -0800
commit3366a508ffb6b0698dd309d1ca19a66522b886b1 (patch)
tree328b6ec2af333d45c0681febcdde33f774816999 /kernel/sched
parenta80e267a8c0d61790c3d1d5f7181ebd1be39c438 (diff)
Revert "sched/cputime: Fix steal time accounting vs. CPU hotplug"
This reverts commit 2a8225ef46968444fb1c4c632ec28e4cc2be633f ("sched/cputime: Fix steal time accounting vs. CPU hotplug"). The commit introduces a bug in scheduler book-keeping whereby if a CPU is hotplugged out for a small duration of time, subsequent time spent executing tasks gets mis-attributed to interrupts. This in turn results in unfair scheduling whereby a task can keep executing for a very long time without any update to it's vruntime. This revert has no side effects for msm based systems. Change-Id: Ibb506824c4223551bceb449594ac99f9dfd8064b Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Diffstat (limited to 'kernel/sched')
-rw-r--r--kernel/sched/core.c1
-rw-r--r--kernel/sched/sched.h13
2 files changed, 0 insertions, 14 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index ee708909dc17..307f430e5bd5 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -6066,7 +6066,6 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu)
set_window_start(rq);
raw_spin_unlock_irqrestore(&rq->lock, flags);
rq->calc_load_update = calc_load_update;
- account_reset_rq(rq);
break;
case CPU_ONLINE:
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index f569c6fe3cbb..6f8123ca878b 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -2534,16 +2534,3 @@ static inline u64 irq_time_read(int cpu)
}
#endif /* CONFIG_64BIT */
#endif /* CONFIG_IRQ_TIME_ACCOUNTING */
-
-static inline void account_reset_rq(struct rq *rq)
-{
-#ifdef CONFIG_IRQ_TIME_ACCOUNTING
- rq->prev_irq_time = 0;
-#endif
-#ifdef CONFIG_PARAVIRT
- rq->prev_steal_time = 0;
-#endif
-#ifdef CONFIG_PARAVIRT_TIME_ACCOUNTING
- rq->prev_steal_time_rq = 0;
-#endif
-}