| Date | Mon, 07 Oct 2013 13:44:26 -0400 | From | Rik van Riel <> | Subject | Re: [PATCH 17/63] sched: Set the scan rate proportional to the memory usage of the task being scanned |
| |
On 10/07/2013 06:28 AM, Mel Gorman wrote: > The NUMA PTE scan rate is controlled with a combination of the > numa_balancing_scan_period_min, numa_balancing_scan_period_max and > numa_balancing_scan_size. This scan rate is independent of the size > of the task and as an aside it is further complicated by the fact that > numa_balancing_scan_size controls how many pages are marked pte_numa and > not how much virtual memory is scanned. > > In combination, it is almost impossible to meaningfully tune the min and > max scan periods and reasoning about performance is complex when the time > to complete a full scan is is partially a function of the tasks memory > size. This patch alters the semantic of the min and max tunables to be > about tuning the length time it takes to complete a scan of a tasks occupied > virtual address space. Conceptually this is a lot easier to understand. There > is a "sanity" check to ensure the scan rate is never extremely fast based on > the amount of virtual memory that should be scanned in a second. The default > of 2.5G seems arbitrary but it is to have the maximum scan rate after the > patch roughly match the maximum scan rate before the patch was applied. > > On a similar note, numa_scan_period is in milliseconds and not > jiffies. Properly placed pages slow the scanning rate but adding 10 jiffies > to numa_scan_period means that the rate scanning slows depends on HZ which > is confusing. Get rid of the jiffies_to_msec conversion and treat it as ms. > > Signed-off-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Rik van Riel <riel@redhat.com>
-- All rights reversed
|