Re: [PATCH] Make CONFIG_MIGRATION available for s390
From: Christoph Lameter <hidden>
Date: 2008-07-07 17:45:28
Also in:
lkml
Gerald Schaefer wrote:
On Mon, 2008-07-07 at 10:09 -0500, Christoph Lameter wrote:quoted
This will extend the number of pages that are migratable and lead to strange semantics in the NUMA case. There suddenly vma_is migratable will forbid hotplug to migrate certain pages. I think we need two functions: vma_migratable() General migratability vma_policy_migratable() Migratable under NUMA policies.Nothing will change here for the NUMA case, this is all about making it compile w/o NUMA and with MIGRATION. What new strange semantics do you mean? BTW, the latest patch in this thread will not touch vma_migratable() anymore, I haven't read your mail before, sorry.
Ahh. Okay. However, we may still want a function that tells us if the pages in a vma are migratable in general (independent of policies). The current vma_migratable function tell you if the pages in a vma were placed according to a NUMA memory policy and should be migrated for NUMA locality optimizations.
quoted
That wont work since the migrate function takes a nodemask! The point of the function is to move memory from node to node which is something that you *cannot* do in a non NUMA configuration. So leave this chunk out.Right, but I noticed that this function definition was needed to make it compile with MIGRATION and w/o NUMA, although it would never be called in non-NUMA config.
How does the compile break? It may be better to fix this where the function is used.
A better solution would probably be to put migrate_vmas(), the only caller of vm_ops->migrate(), inside '#ifdef CONFIG_NUMA', because it will only be called from NUMA-only mm/mempolicy.c. Does that sound reasonable?
That sounds right.
quoted
Hmmm... Okay. I tried to make MIGRATION as independent of CONFIG_NUMA as possible so hopefully this will work.Umm, it doesn't compile with MIGRATION and w/o NUMA, which was the reason for this patch, because of the policy_zone reference in vma_migratable() and the missing vm_ops->migrate() function.
Right. I did not have a use case for !NUMA when I wrote the code. So you now need to fix the minor bits that break. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>