On Thu, 8 Apr 2010, Andrea Arcangeli wrote: > Hopefully memory compaction or migration will be fixed soon enough. Here are my earlier comments on this issue: On Thu, 8 Apr 2010, Andrea Arcangeli wrote: > Since I merged memory compaction things become very unstable. > > This is one debug info I collected. It crashes in > migration_entry_to_page() here: > > BUG_ON(!PageLocked(p)); > > because p == ffffea06ac000000 and segfaults in reading p->flags inside > Pagelocked. This means that migration_entry_to_page was passed an invalid pointer. Note that remove_migration_ptes walks the page table. There is no current code that deals with 2M pages in the walker. > Please help to fix this, this is by far the highest priority at the > moment and it has nothing to do with transparent hugepages, it's > either a memory compaction or migration proper bug. If the page table contains proper values then this should not occur unless there is a now a 2M special case added. The entry that is passed to migration_entry_to_page() is obtained from the page table pte via pte_to_swp_entry(). > Apr 8 08:02:57 v2 kernel: [<ffffffff810dc5a0>] ? remove_migration_pte+0x0/0x240 > Apr 8 08:02:57 v2 kernel: [<ffffffff810ca155>] ? rmap_walk+0x135/0x180 > Apr 8 08:02:57 v2 kernel: [<ffffffff810dcbe9>] ? migrate_page_copy+0xe9/0x190 Stack dump messed up? migrate_page_copy should not call any pte functions. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>