diff options
Diffstat (limited to 'kernel/sysctl.c')
| -rw-r--r-- | kernel/sysctl.c | 50 |
1 files changed, 36 insertions, 14 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 9327a26765c5..8a68b2448468 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c | |||
| @@ -244,6 +244,10 @@ static int min_sched_granularity_ns = 100000; /* 100 usecs */ | |||
| 244 | static int max_sched_granularity_ns = NSEC_PER_SEC; /* 1 second */ | 244 | static int max_sched_granularity_ns = NSEC_PER_SEC; /* 1 second */ |
| 245 | static int min_wakeup_granularity_ns; /* 0 usecs */ | 245 | static int min_wakeup_granularity_ns; /* 0 usecs */ |
| 246 | static int max_wakeup_granularity_ns = NSEC_PER_SEC; /* 1 second */ | 246 | static int max_wakeup_granularity_ns = NSEC_PER_SEC; /* 1 second */ |
| 247 | static int min_sched_tunable_scaling = SCHED_TUNABLESCALING_NONE; | ||
| 248 | static int max_sched_tunable_scaling = SCHED_TUNABLESCALING_END-1; | ||
| 249 | static int min_sched_shares_ratelimit = 100000; /* 100 usec */ | ||
| 250 | static int max_sched_shares_ratelimit = NSEC_PER_SEC; /* 1 second */ | ||
| 247 | #endif | 251 | #endif |
| 248 | 252 | ||
| 249 | static struct ctl_table kern_table[] = { | 253 | static struct ctl_table kern_table[] = { |
| @@ -260,7 +264,7 @@ static struct ctl_table kern_table[] = { | |||
| 260 | .data = &sysctl_sched_min_granularity, | 264 | .data = &sysctl_sched_min_granularity, |
| 261 | .maxlen = sizeof(unsigned int), | 265 | .maxlen = sizeof(unsigned int), |
| 262 | .mode = 0644, | 266 | .mode = 0644, |
| 263 | .proc_handler = sched_nr_latency_handler, | 267 | .proc_handler = sched_proc_update_handler, |
| 264 | .extra1 = &min_sched_granularity_ns, | 268 | .extra1 = &min_sched_granularity_ns, |
| 265 | .extra2 = &max_sched_granularity_ns, | 269 | .extra2 = &max_sched_granularity_ns, |
| 266 | }, | 270 | }, |
| @@ -269,7 +273,7 @@ static struct ctl_table kern_table[] = { | |||
| 269 | .data = &sysctl_sched_latency, | 273 | .data = &sysctl_sched_latency, |
| 270 | .maxlen = sizeof(unsigned int), | 274 | .maxlen = sizeof(unsigned int), |
| 271 | .mode = 0644, | 275 | .mode = 0644, |
| 272 | .proc_handler = sched_nr_latency_handler, | 276 | .proc_handler = sched_proc_update_handler, |
| 273 | .extra1 = &min_sched_granularity_ns, | 277 | .extra1 = &min_sched_granularity_ns, |
| 274 | .extra2 = &max_sched_granularity_ns, | 278 | .extra2 = &max_sched_granularity_ns, |
| 275 | }, | 279 | }, |
| @@ -278,7 +282,7 @@ static struct ctl_table kern_table[] = { | |||
| 278 | .data = &sysctl_sched_wakeup_granularity, | 282 | .data = &sysctl_sched_wakeup_granularity, |
| 279 | .maxlen = sizeof(unsigned int), | 283 | .maxlen = sizeof(unsigned int), |
| 280 | .mode = 0644, | 284 | .mode = 0644, |
| 281 | .proc_handler = proc_dointvec_minmax, | 285 | .proc_handler = sched_proc_update_handler, |
| 282 | .extra1 = &min_wakeup_granularity_ns, | 286 | .extra1 = &min_wakeup_granularity_ns, |
| 283 | .extra2 = &max_wakeup_granularity_ns, | 287 | .extra2 = &max_wakeup_granularity_ns, |
| 284 | }, | 288 | }, |
| @@ -287,7 +291,18 @@ static struct ctl_table kern_table[] = { | |||
| 287 | .data = &sysctl_sched_shares_ratelimit, | 291 | .data = &sysctl_sched_shares_ratelimit, |
| 288 | .maxlen = sizeof(unsigned int), | 292 | .maxlen = sizeof(unsigned int), |
| 289 | .mode = 0644, | 293 | .mode = 0644, |
| 290 | .proc_handler = proc_dointvec, | 294 | .proc_handler = sched_proc_update_handler, |
| 295 | .extra1 = &min_sched_shares_ratelimit, | ||
| 296 | .extra2 = &max_sched_shares_ratelimit, | ||
| 297 | }, | ||
| 298 | { | ||
| 299 | .procname = "sched_tunable_scaling", | ||
| 300 | .data = &sysctl_sched_tunable_scaling, | ||
| 301 | .maxlen = sizeof(enum sched_tunable_scaling), | ||
| 302 | .mode = 0644, | ||
| 303 | .proc_handler = sched_proc_update_handler, | ||
| 304 | .extra1 = &min_sched_tunable_scaling, | ||
| 305 | .extra2 = &max_sched_tunable_scaling, | ||
| 291 | }, | 306 | }, |
| 292 | { | 307 | { |
| 293 | .procname = "sched_shares_thresh", | 308 | .procname = "sched_shares_thresh", |
| @@ -298,13 +313,6 @@ static struct ctl_table kern_table[] = { | |||
| 298 | .extra1 = &zero, | 313 | .extra1 = &zero, |
| 299 | }, | 314 | }, |
| 300 | { | 315 | { |
| 301 | .procname = "sched_features", | ||
| 302 | .data = &sysctl_sched_features, | ||
| 303 | .maxlen = sizeof(unsigned int), | ||
| 304 | .mode = 0644, | ||
| 305 | .proc_handler = proc_dointvec, | ||
| 306 | }, | ||
| 307 | { | ||
| 308 | .procname = "sched_migration_cost", | 316 | .procname = "sched_migration_cost", |
| 309 | .data = &sysctl_sched_migration_cost, | 317 | .data = &sysctl_sched_migration_cost, |
| 310 | .maxlen = sizeof(unsigned int), | 318 | .maxlen = sizeof(unsigned int), |
| @@ -1043,7 +1051,7 @@ static struct ctl_table vm_table[] = { | |||
| 1043 | .extra2 = &one_hundred, | 1051 | .extra2 = &one_hundred, |
| 1044 | }, | 1052 | }, |
| 1045 | #ifdef CONFIG_HUGETLB_PAGE | 1053 | #ifdef CONFIG_HUGETLB_PAGE |
| 1046 | { | 1054 | { |
| 1047 | .procname = "nr_hugepages", | 1055 | .procname = "nr_hugepages", |
| 1048 | .data = NULL, | 1056 | .data = NULL, |
| 1049 | .maxlen = sizeof(unsigned long), | 1057 | .maxlen = sizeof(unsigned long), |
| @@ -1051,7 +1059,18 @@ static struct ctl_table vm_table[] = { | |||
| 1051 | .proc_handler = hugetlb_sysctl_handler, | 1059 | .proc_handler = hugetlb_sysctl_handler, |
| 1052 | .extra1 = (void *)&hugetlb_zero, | 1060 | .extra1 = (void *)&hugetlb_zero, |
| 1053 | .extra2 = (void *)&hugetlb_infinity, | 1061 | .extra2 = (void *)&hugetlb_infinity, |
| 1054 | }, | 1062 | }, |
| 1063 | #ifdef CONFIG_NUMA | ||
| 1064 | { | ||
| 1065 | .procname = "nr_hugepages_mempolicy", | ||
| 1066 | .data = NULL, | ||
| 1067 | .maxlen = sizeof(unsigned long), | ||
| 1068 | .mode = 0644, | ||
| 1069 | .proc_handler = &hugetlb_mempolicy_sysctl_handler, | ||
| 1070 | .extra1 = (void *)&hugetlb_zero, | ||
| 1071 | .extra2 = (void *)&hugetlb_infinity, | ||
| 1072 | }, | ||
| 1073 | #endif | ||
| 1055 | { | 1074 | { |
| 1056 | .procname = "hugetlb_shm_group", | 1075 | .procname = "hugetlb_shm_group", |
| 1057 | .data = &sysctl_hugetlb_shm_group, | 1076 | .data = &sysctl_hugetlb_shm_group, |
| @@ -1112,7 +1131,8 @@ static struct ctl_table vm_table[] = { | |||
| 1112 | .data = &sysctl_max_map_count, | 1131 | .data = &sysctl_max_map_count, |
| 1113 | .maxlen = sizeof(sysctl_max_map_count), | 1132 | .maxlen = sizeof(sysctl_max_map_count), |
| 1114 | .mode = 0644, | 1133 | .mode = 0644, |
| 1115 | .proc_handler = proc_dointvec | 1134 | .proc_handler = proc_dointvec_minmax, |
| 1135 | .extra1 = &zero, | ||
| 1116 | }, | 1136 | }, |
| 1117 | #else | 1137 | #else |
| 1118 | { | 1138 | { |
| @@ -1194,6 +1214,7 @@ static struct ctl_table vm_table[] = { | |||
| 1194 | .proc_handler = proc_dointvec_jiffies, | 1214 | .proc_handler = proc_dointvec_jiffies, |
| 1195 | }, | 1215 | }, |
| 1196 | #endif | 1216 | #endif |
| 1217 | #ifdef CONFIG_MMU | ||
| 1197 | { | 1218 | { |
| 1198 | .procname = "mmap_min_addr", | 1219 | .procname = "mmap_min_addr", |
| 1199 | .data = &dac_mmap_min_addr, | 1220 | .data = &dac_mmap_min_addr, |
| @@ -1201,6 +1222,7 @@ static struct ctl_table vm_table[] = { | |||
| 1201 | .mode = 0644, | 1222 | .mode = 0644, |
| 1202 | .proc_handler = mmap_min_addr_handler, | 1223 | .proc_handler = mmap_min_addr_handler, |
| 1203 | }, | 1224 | }, |
| 1225 | #endif | ||
| 1204 | #ifdef CONFIG_NUMA | 1226 | #ifdef CONFIG_NUMA |
| 1205 | { | 1227 | { |
| 1206 | .procname = "numa_zonelist_order", | 1228 | .procname = "numa_zonelist_order", |
