summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorPavankumar Kondeti <pkondeti@codeaurora.org>2016-03-04 13:36:43 +0530
committerJoonwoo Park <joonwoop@codeaurora.org>2016-06-23 14:03:24 -0700
commita68e39b7fd87886ebbf65cc0da4f5fb010a65f58 (patch)
treed547ad9d8c8793fa658cd3d55d95f34be4ab2ff3 /include/linux
parent7d1fabcef82e138c38c84144457a5e962381b0b1 (diff)
sched: break the forever prev_cpu selection preference
The select_best_cpu() algorithm selects the previous CPU as the target CPU if the task did not sleep for more than 2 msec (controlled by /proc/sys/kernel/sched_select_prev_cpu_us). The complete CPU search is not done for a long time for tasks which sleeps for a short duration in between the long execution slices. Enforce a 100 msec threshold since the last selection time to run the complete algorithm. CRs-Fixed: 984463 Change-Id: I329eecc6bae8f130cd5598f6cee8ca5a01391cca [joonwoop@codeaurora.org: fixed conflict in bias_to_prev_cpu() and sched.h where CONFIG_SCHED_QHMP used to be.] Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/sched.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 61a5c00e66cd..06dd540192c7 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1482,6 +1482,7 @@ struct task_struct {
u32 init_load_pct;
u64 last_wake_ts;
u64 last_switch_out_ts;
+ u64 last_cpu_selected_ts;
struct related_thread_group *grp;
struct list_head grp_list;
u64 cpu_cycles;