Do you really need a "sync_icache_dcache()" in "do_wp_page()"? I guess it is only needed when the EXEC bit of the PTE gets turned on.
--- linux-2.6.23-rc1.test.orig/mm/migrate.c +++ linux-2.6.23-rc1.test/mm/migrate.c@@ -172,6 +172,7 @@ static void remove_migration_pte(struct pte = pte_mkold(mk_pte(new, vma->vm_page_prot));if (is_write_migration_entry(entry)) pte = pte_mkwrite(pte); + flush_icache_page(vma, new); set_pte_at(mm, addr, ptep, pte);if (PageAnon(new))
I think "flush_icache_page()", or rather "flush_cache_page()" is to be placed where migration tears down the old virtual --> physical address translation for good.
--- linux-2.6.23-rc1.test.orig/mm/migrate.c +++ linux-2.6.23-rc1.test/mm/migrate.c@@ -173,6 +173,7 @@ static void remove_migration_pte(struct if (is_write_migration_entry(entry))pte = pte_mkwrite(pte); flush_icache_page(vma, new); + sync_icache_dcache(pte); set_pte_at(mm, addr, ptep, pte);
Sure, I can agree to add "sync_icache_dcache()" here. Thanks, Zoltan - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |