diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/sched/core.c | 1 | ||||
| -rw-r--r-- | kernel/sched/fair.c | 18 | ||||
| -rw-r--r-- | kernel/sysctl.c | 7 |
3 files changed, 1 insertions, 25 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 8cfd51f62241..89c5ae836f66 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c | |||
| @@ -1721,7 +1721,6 @@ static void __sched_fork(unsigned long clone_flags, struct task_struct *p) | |||
| 1721 | #ifdef CONFIG_NUMA_BALANCING | 1721 | #ifdef CONFIG_NUMA_BALANCING |
| 1722 | if (p->mm && atomic_read(&p->mm->mm_users) == 1) { | 1722 | if (p->mm && atomic_read(&p->mm->mm_users) == 1) { |
| 1723 | p->mm->numa_next_scan = jiffies + msecs_to_jiffies(sysctl_numa_balancing_scan_delay); | 1723 | p->mm->numa_next_scan = jiffies + msecs_to_jiffies(sysctl_numa_balancing_scan_delay); |
| 1724 | p->mm->numa_next_reset = jiffies + msecs_to_jiffies(sysctl_numa_balancing_scan_period_reset); | ||
| 1725 | p->mm->numa_scan_seq = 0; | 1724 | p->mm->numa_scan_seq = 0; |
| 1726 | } | 1725 | } |
| 1727 | 1726 | ||
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 66237ff8b01e..da6fa22be000 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c | |||
| @@ -826,7 +826,6 @@ update_stats_curr_start(struct cfs_rq *cfs_rq, struct sched_entity *se) | |||
| 826 | */ | 826 | */ |
| 827 | unsigned int sysctl_numa_balancing_scan_period_min = 1000; | 827 | unsigned int sysctl_numa_balancing_scan_period_min = 1000; |
| 828 | unsigned int sysctl_numa_balancing_scan_period_max = 60000; | 828 | unsigned int sysctl_numa_balancing_scan_period_max = 60000; |
| 829 | unsigned int sysctl_numa_balancing_scan_period_reset = 60000; | ||
| 830 | 829 | ||
| 831 | /* Portion of address space to scan in MB */ | 830 | /* Portion of address space to scan in MB */ |
| 832 | unsigned int sysctl_numa_balancing_scan_size = 256; | 831 | unsigned int sysctl_numa_balancing_scan_size = 256; |
| @@ -1685,24 +1684,9 @@ void task_numa_work(struct callback_head *work) | |||
| 1685 | if (p->flags & PF_EXITING) | 1684 | if (p->flags & PF_EXITING) |
| 1686 | return; | 1685 | return; |
| 1687 | 1686 | ||
| 1688 | if (!mm->numa_next_reset || !mm->numa_next_scan) { | 1687 | if (!mm->numa_next_scan) { |
| 1689 | mm->numa_next_scan = now + | 1688 | mm->numa_next_scan = now + |
| 1690 | msecs_to_jiffies(sysctl_numa_balancing_scan_delay); | 1689 | msecs_to_jiffies(sysctl_numa_balancing_scan_delay); |
| 1691 | mm->numa_next_reset = now + | ||
| 1692 | msecs_to_jiffies(sysctl_numa_balancing_scan_period_reset); | ||
| 1693 | } | ||
| 1694 | |||
| 1695 | /* | ||
| 1696 | * Reset the scan period if enough time has gone by. Objective is that | ||
| 1697 | * scanning will be reduced if pages are properly placed. As tasks | ||
| 1698 | * can enter different phases this needs to be re-examined. Lacking | ||
| 1699 | * proper tracking of reference behaviour, this blunt hammer is used. | ||
| 1700 | */ | ||
| 1701 | migrate = mm->numa_next_reset; | ||
| 1702 | if (time_after(now, migrate)) { | ||
| 1703 | p->numa_scan_period = task_scan_min(p); | ||
| 1704 | next_scan = now + msecs_to_jiffies(sysctl_numa_balancing_scan_period_reset); | ||
| 1705 | xchg(&mm->numa_next_reset, next_scan); | ||
| 1706 | } | 1690 | } |
| 1707 | 1691 | ||
| 1708 | /* | 1692 | /* |
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 42f616a74f40..e509b90a8002 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c | |||
| @@ -371,13 +371,6 @@ static struct ctl_table kern_table[] = { | |||
| 371 | .proc_handler = proc_dointvec, | 371 | .proc_handler = proc_dointvec, |
| 372 | }, | 372 | }, |
| 373 | { | 373 | { |
| 374 | .procname = "numa_balancing_scan_period_reset", | ||
| 375 | .data = &sysctl_numa_balancing_scan_period_reset, | ||
| 376 | .maxlen = sizeof(unsigned int), | ||
| 377 | .mode = 0644, | ||
| 378 | .proc_handler = proc_dointvec, | ||
| 379 | }, | ||
| 380 | { | ||
| 381 | .procname = "numa_balancing_scan_period_max_ms", | 374 | .procname = "numa_balancing_scan_period_max_ms", |
| 382 | .data = &sysctl_numa_balancing_scan_period_max, | 375 | .data = &sysctl_numa_balancing_scan_period_max, |
| 383 | .maxlen = sizeof(unsigned int), | 376 | .maxlen = sizeof(unsigned int), |
