Re: [PATCH 14/50] sched: Set the scan rate proportional to thememory usage of the task being scanned

From: Peter Zijlstra
Date: Mon Sep 16 2013 - 11:18:45 EST


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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/