Messages in this thread Patch in this message | | | From | Daniel Lezcano <> | Subject | [PATCH 4/5] cpuidle: governor: Export the needed symbols | Date | Thu, 15 Oct 2020 16:44:30 +0200 |
| |
In the next patch, the governors will be converted to modules. Export the symbols of the different functions used by the governors.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> --- drivers/cpuidle/governor.c | 3 +++ include/linux/tick.h | 2 ++ kernel/sched/core.c | 1 + kernel/time/tick-sched.c | 9 +++++++++ 4 files changed, 15 insertions(+)
diff --git a/drivers/cpuidle/governor.c b/drivers/cpuidle/governor.c index 6ec27ef096f5..2791fe352f51 100644 --- a/drivers/cpuidle/governor.c +++ b/drivers/cpuidle/governor.c @@ -120,6 +120,7 @@ void cpuidle_unregister_governor(struct cpuidle_governor *gov) mutex_unlock(&cpuidle_lock); } +EXPORT_SYMBOL(cpuidle_unregister_governor); /** * cpuidle_register_governor - registers a governor @@ -150,6 +151,7 @@ int cpuidle_register_governor(struct cpuidle_governor *gov) return ret; } +EXPORT_SYMBOL(cpuidle_register_governor); /** * cpuidle_governor_latency_req - Compute a latency constraint for CPU @@ -166,3 +168,4 @@ s64 cpuidle_governor_latency_req(unsigned int cpu) return (s64)device_req * NSEC_PER_USEC; } +EXPORT_SYMBOL(cpuidle_governor_latency_req); diff --git a/include/linux/tick.h b/include/linux/tick.h index 7340613c7eff..8349ba050b9c 100644 --- a/include/linux/tick.h +++ b/include/linux/tick.h @@ -124,6 +124,7 @@ enum tick_dep_bits { #ifdef CONFIG_NO_HZ_COMMON extern bool tick_nohz_enabled; +extern bool tick_nohz_is_enabled(void); extern bool tick_nohz_tick_stopped(void); extern bool tick_nohz_tick_stopped_cpu(int cpu); extern void tick_nohz_idle_stop_tick(void); @@ -149,6 +150,7 @@ static inline void tick_nohz_idle_stop_tick_protected(void) #else /* !CONFIG_NO_HZ_COMMON */ #define tick_nohz_enabled (0) +static inline int tick_nohz_is_enabled(void) { return 0 }; static inline int tick_nohz_tick_stopped(void) { return 0; } static inline int tick_nohz_tick_stopped_cpu(int cpu) { return 0; } static inline void tick_nohz_idle_stop_tick(void) { } diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 2d95dc3f4644..ceba61bb364d 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3838,6 +3838,7 @@ unsigned long nr_iowait_cpu(int cpu) { return atomic_read(&cpu_rq(cpu)->nr_iowait); } +EXPORT_SYMBOL_GPL(nr_iowait_cpu); /* * IO-wait accounting, and how its mostly bollocks (on SMP). diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index f0199a4ba1ad..537716124d46 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -500,12 +500,19 @@ static int __init setup_tick_nohz(char *str) __setup("nohz=", setup_tick_nohz); +bool tick_nohz_is_enabled(void) +{ + return tick_nohz_enabled; +} +EXPORT_SYMBOL_GPL(tick_nohz_is_enabled); + bool tick_nohz_tick_stopped(void) { struct tick_sched *ts = this_cpu_ptr(&tick_cpu_sched); return ts->tick_stopped; } +EXPORT_SYMBOL_GPL(tick_nohz_tick_stopped); bool tick_nohz_tick_stopped_cpu(int cpu) { @@ -1066,6 +1073,7 @@ bool tick_nohz_idle_got_tick(void) } return false; } +EXPORT_SYMBOL_GPL(tick_nohz_idle_got_tick); /** * tick_nohz_get_next_hrtimer - return the next expiration time for the hrtimer @@ -1117,6 +1125,7 @@ ktime_t tick_nohz_get_sleep_length(ktime_t *delta_next) return ktime_sub(next_event, now); } +EXPORT_SYMBOL_GPL(tick_nohz_get_sleep_length); /** * tick_nohz_get_idle_calls_cpu - return the current idle calls counter value -- 2.17.1
| |