On Tue, Sep 10, 2013 at 10:31:54AM +0100, Mel Gorman wrote: > @@ -860,9 +908,14 @@ void task_numa_fault(int node, int pages, bool migrated) > * If pages are properly placed (did not migrate) then scan slower. > * This is reset periodically in case of phase changes > */ > - if (!migrated) > - p->numa_scan_period = min(sysctl_numa_balancing_scan_period_max, > + if (!migrated) { > + /* Initialise if necessary */ > + if (!p->numa_scan_period_max) > + p->numa_scan_period_max = task_scan_max(p); > + > + p->numa_scan_period = min(p->numa_scan_period_max, > p->numa_scan_period + jiffies_to_msecs(10)); So the next patch changes the jiffies_to_msec() thing.. is that really worth a whole separate patch? Also, I really don't believe any of that is 'right', increasing the scan period by a fixed amount for every !migrated page is just wrong. Firstly; there's the migration throttle which basically guarantees that most pages aren't migrated -- even when they ought to be, thus inflating the period. Secondly; assume a _huge_ process, so large that even a small fraction of non-migrated pages will completely clip the scan period. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>