Re: question on NUMA page migration

From: Rik van Riel
Date: Fri Oct 19 2012 - 13:13:41 EST


On 10/19/2012 12:39 PM, Peter Zijlstra wrote:
On Fri, 2012-10-19 at 11:53 -0400, Rik van Riel wrote:

If we do need the extra refcount, why is normal
page migration safe? :)

Its mostly a matter of how convoluted you make the code, regular page
migration is about as bad as you can get

Normal does:

follow_page(FOLL_GET) +1

isolate_lru_page() +1

put_page() -1

ending up with a page with a single reference (for anon, or one extra
each for the mapping and buffer).

Would it make sense to have the normal page migration code always
work with the extra refcount, so we do not have to introduce a new
MIGRATE_FAULT migration mode?

On the other hand, compaction does not take the extra reference...

Another alternative might be to do the put_page inside
do_prot_none_numa(). That would be analogous to do_wp_page
disposing of the old page for the caller.

I am not real happy about NUMA migration introducing its own
migration mode...

--
All rights reversed
--
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/