diff options
Diffstat (limited to 'kernel/sched_fair.c')
-rw-r--r-- | kernel/sched_fair.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 455106d318a8..804a411838f1 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
@@ -399,11 +399,12 @@ static struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq) | |||
399 | */ | 399 | */ |
400 | 400 | ||
401 | #ifdef CONFIG_SCHED_DEBUG | 401 | #ifdef CONFIG_SCHED_DEBUG |
402 | int sched_nr_latency_handler(struct ctl_table *table, int write, | 402 | int sched_proc_update_handler(struct ctl_table *table, int write, |
403 | void __user *buffer, size_t *lenp, | 403 | void __user *buffer, size_t *lenp, |
404 | loff_t *ppos) | 404 | loff_t *ppos) |
405 | { | 405 | { |
406 | int ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos); | 406 | int ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos); |
407 | int factor = get_update_sysctl_factor(); | ||
407 | 408 | ||
408 | if (ret || !write) | 409 | if (ret || !write) |
409 | return ret; | 410 | return ret; |
@@ -411,6 +412,14 @@ int sched_nr_latency_handler(struct ctl_table *table, int write, | |||
411 | sched_nr_latency = DIV_ROUND_UP(sysctl_sched_latency, | 412 | sched_nr_latency = DIV_ROUND_UP(sysctl_sched_latency, |
412 | sysctl_sched_min_granularity); | 413 | sysctl_sched_min_granularity); |
413 | 414 | ||
415 | #define WRT_SYSCTL(name) \ | ||
416 | (normalized_sysctl_##name = sysctl_##name / (factor)) | ||
417 | WRT_SYSCTL(sched_min_granularity); | ||
418 | WRT_SYSCTL(sched_latency); | ||
419 | WRT_SYSCTL(sched_wakeup_granularity); | ||
420 | WRT_SYSCTL(sched_shares_ratelimit); | ||
421 | #undef WRT_SYSCTL | ||
422 | |||
414 | return 0; | 423 | return 0; |
415 | } | 424 | } |
416 | #endif | 425 | #endif |