Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f307cd1a authored by Mel Gorman's avatar Mel Gorman Committed by Ingo Molnar
Browse files

sched/numa: Slow scan rate if no NUMA hinting faults are being recorded



NUMA PTE scanning slows if a NUMA hinting fault was trapped and no page
was migrated. For long-lived but idle processes there may be no faults
but the scan rate will be high and just waste CPU. This patch will slow
the scan rate for processes that are not trapping faults.

Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
Reviewed-by: default avatarRik van Riel <riel@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1381141781-10992-19-git-send-email-mgorman@suse.de


Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 598f0ec0
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -1038,6 +1038,18 @@ void task_numa_work(struct callback_head *work)
	}

out:
	/*
	 * If the whole process was scanned without updates then no NUMA
	 * hinting faults are being recorded and scan rate should be lower.
	 */
	if (mm->numa_scan_offset == 0 && !nr_pte_updates) {
		p->numa_scan_period = min(p->numa_scan_period_max,
			p->numa_scan_period << 1);

		next_scan = now + msecs_to_jiffies(p->numa_scan_period);
		mm->numa_next_scan = next_scan;
	}

	/*
	 * It is possible to reach the end of the VMA list but the last few
	 * VMAs are not guaranteed to the vma_migratable. If they are not, we