diff options
| author | Srinivas Girigowda <sgirigow@codeaurora.org> | 2018-01-03 22:58:15 -0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-03-23 02:12:58 -0700 |
| commit | 88f4823be31a48d8cb1ce5c26e6ccb506f95ed0b (patch) | |
| tree | f85cb867dcba520daf1053b9b2bbcc70b3f51d99 | |
| parent | 63d54f82b9779d0ddc8c80743dd32990ecfb4543 (diff) | |
sched: Export wake_to_idle API
Export wake_to_idle APIs so that external modules can access these
functions to improve performance.
CRs-Fixed: 2166787
Change-Id: I0863a2e80a303c7584ca52ef81c19d369e840662
Signed-off-by: Srinivas Girigowda <sgirigow@codeaurora.org>
| -rw-r--r-- | include/linux/sched.h | 19 | ||||
| -rw-r--r-- | kernel/sched/fair.c | 2 |
2 files changed, 18 insertions, 3 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index fcfed59cedc4..000b0f02ce37 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -184,6 +184,22 @@ extern void sched_get_nr_running_avg(int *avg, int *iowait_avg, int *big_avg, unsigned int *big_max_nr); extern u64 sched_get_cpu_last_busy_time(int cpu); +#ifdef CONFIG_SMP +extern u32 sched_get_wake_up_idle(struct task_struct *p); +extern int sched_set_wake_up_idle(struct task_struct *p, int wake_up_idle); +#else +static inline u32 sched_get_wake_up_idle(struct task_struct *p) +{ + return 0; +} + +static inline int sched_set_wake_up_idle(struct task_struct *p, + int wake_up_idle) +{ + return 0; +} +#endif /* CONFIG_SMP */ + extern void calc_global_load(unsigned long ticks); #if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON) @@ -2547,9 +2563,6 @@ struct sched_load { unsigned long predicted_load; }; -extern int sched_set_wake_up_idle(struct task_struct *p, int wake_up_idle); -extern u32 sched_get_wake_up_idle(struct task_struct *p); - struct cpu_cycle_counter_cb { u64 (*get_cpu_cycle_counter)(int cpu); }; diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index ce683b0021fd..23e37b0674df 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -2641,6 +2641,7 @@ u32 sched_get_wake_up_idle(struct task_struct *p) return !!enabled; } +EXPORT_SYMBOL(sched_get_wake_up_idle); int sched_set_wake_up_idle(struct task_struct *p, int wake_up_idle) { @@ -2653,6 +2654,7 @@ int sched_set_wake_up_idle(struct task_struct *p, int wake_up_idle) return 0; } +EXPORT_SYMBOL(sched_set_wake_up_idle); static const u32 runnable_avg_yN_inv[] = { 0xffffffff, 0xfa83b2da, 0xf5257d14, 0xefe4b99a, 0xeac0c6e6, 0xe5b906e6, |
