Re: [PATCH 18/52] mm/numa: Migrate on reference policy

From: Mel Gorman
Date: Mon Dec 03 2012 - 10:44:55 EST


On Sun, Dec 02, 2012 at 07:43:10PM +0100, Ingo Molnar wrote:
> From: Mel Gorman <mgorman@xxxxxxx>
>
> This is the simplest possible policy that still does something
> of note. When a pte_numa is faulted, it is moved immediately.
> Any replacement policy must at least do better than this and in
> all likelihood this policy regresses normal workloads.
>
> Signed-off-by: Mel Gorman <mgorman@xxxxxxx>
> Acked-by: Rik van Riel <riel@xxxxxxxxxx>
> Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
> Cc: Hugh Dickins <hughd@xxxxxxxxxx>
> Cc: Paul Turner <pjt@xxxxxxxxxx>
> Cc: Lee Schermerhorn <Lee.Schermerhorn@xxxxxx>
> Cc: Alex Shi <lkml.alex@xxxxxxxxx>
> Cc: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx>
> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>

It is worth noting that at this point in your combined tree that this
policy and patch does not and cannot do anything. It has none of the
faulting machinery, pte scanning, two-stage filter etc that are necessary
for it to work. So for example, you can not take this point of your tree,
compare it with balancenuma and get a meaningful comparison.

So while superfically this patch looks like a useful bisection point, it
isn't. A plain rebase on top of balancenuma would have given us a comparison
between "do nothing", "do the bare minimum to be useful (balancenuma)" and
"do something complex (numacore)" even *if* you decided to revert parts
of balancenuma during your rebase. For example, you might have decided
to force the removal of migrate rate-limiting even though I stand by it
being a valid decision to mitigate worst-case behaviour. The key is that
it would have been possible to bisect parts of numacore to help identify
the source of any regressions.

This restructure is an all or nothing approach. It does not look like it's
possible to do a comparison between "do nothing", "do the bare minimum
(balancenuma)" and "do something complex (numacore)". It would also be
impossible to do any sort of rebase of autonuma policies on top as was
the case with balancenuma.

FWIW, I pulled tip again this morning and rebased tip/numa/base to
3.7-rc7 and queued the result. I had pulled tip/master but it didn't
boot.

--
Mel Gorman
SUSE Labs
--
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/