Skip to content

Commit 8a04414

Browse files
nizhenthmcgrof
authored andcommitted
sched: Move energy_aware sysctls to topology.c
move energy_aware sysctls to topology.c and use the new register_sysctl_init() to register the sysctl interface. Signed-off-by: Zhen Ni <[email protected]> Signed-off-by: Luis Chamberlain <[email protected]>
1 parent d4ae80f commit 8a04414

File tree

3 files changed

+23
-19
lines changed

3 files changed

+23
-19
lines changed

include/linux/sched/sysctl.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,4 @@ extern int sysctl_numa_balancing_mode;
3434
int sysctl_numa_balancing(struct ctl_table *table, int write, void *buffer,
3535
size_t *lenp, loff_t *ppos);
3636

37-
#if defined(CONFIG_ENERGY_MODEL) && defined(CONFIG_CPU_FREQ_GOV_SCHEDUTIL)
38-
extern unsigned int sysctl_sched_energy_aware;
39-
int sched_energy_aware_handler(struct ctl_table *table, int write,
40-
void *buffer, size_t *lenp, loff_t *ppos);
41-
#endif
42-
4337
#endif /* _LINUX_SCHED_SYSCTL_H */

kernel/sched/topology.c

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ sd_parent_degenerate(struct sched_domain *sd, struct sched_domain *parent)
206206

207207
#if defined(CONFIG_ENERGY_MODEL) && defined(CONFIG_CPU_FREQ_GOV_SCHEDUTIL)
208208
DEFINE_STATIC_KEY_FALSE(sched_energy_present);
209-
unsigned int sysctl_sched_energy_aware = 1;
209+
static unsigned int sysctl_sched_energy_aware = 1;
210210
DEFINE_MUTEX(sched_energy_mutex);
211211
bool sched_energy_update;
212212

@@ -220,7 +220,7 @@ void rebuild_sched_domains_energy(void)
220220
}
221221

222222
#ifdef CONFIG_PROC_SYSCTL
223-
int sched_energy_aware_handler(struct ctl_table *table, int write,
223+
static int sched_energy_aware_handler(struct ctl_table *table, int write,
224224
void *buffer, size_t *lenp, loff_t *ppos)
225225
{
226226
int ret, state;
@@ -237,6 +237,27 @@ int sched_energy_aware_handler(struct ctl_table *table, int write,
237237

238238
return ret;
239239
}
240+
241+
static struct ctl_table sched_energy_aware_sysctls[] = {
242+
{
243+
.procname = "sched_energy_aware",
244+
.data = &sysctl_sched_energy_aware,
245+
.maxlen = sizeof(unsigned int),
246+
.mode = 0644,
247+
.proc_handler = sched_energy_aware_handler,
248+
.extra1 = SYSCTL_ZERO,
249+
.extra2 = SYSCTL_ONE,
250+
},
251+
{}
252+
};
253+
254+
static int __init sched_energy_aware_sysctl_init(void)
255+
{
256+
register_sysctl_init("kernel", sched_energy_aware_sysctls);
257+
return 0;
258+
}
259+
260+
late_initcall(sched_energy_aware_sysctl_init);
240261
#endif
241262

242263
static void free_pd(struct perf_domain *pd)

kernel/sysctl.c

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1681,17 +1681,6 @@ static struct ctl_table kern_table[] = {
16811681
.extra2 = SYSCTL_FOUR,
16821682
},
16831683
#endif /* CONFIG_NUMA_BALANCING */
1684-
#if defined(CONFIG_ENERGY_MODEL) && defined(CONFIG_CPU_FREQ_GOV_SCHEDUTIL)
1685-
{
1686-
.procname = "sched_energy_aware",
1687-
.data = &sysctl_sched_energy_aware,
1688-
.maxlen = sizeof(unsigned int),
1689-
.mode = 0644,
1690-
.proc_handler = sched_energy_aware_handler,
1691-
.extra1 = SYSCTL_ZERO,
1692-
.extra2 = SYSCTL_ONE,
1693-
},
1694-
#endif
16951684
#ifdef CONFIG_PROVE_LOCKING
16961685
{
16971686
.procname = "prove_locking",

0 commit comments

Comments
 (0)