On 06/28/2012 08:56 AM, Andrea Arcangeli wrote:
Debug tweak.
+static inline void autonuma_check_new_page(struct page *page) +{ + struct page_autonuma *page_autonuma; + if (!autonuma_impossible()) { + page_autonuma = lookup_page_autonuma(page); + BUG_ON(page_autonuma->autonuma_migrate_nid != -1); + BUG_ON(page_autonuma->autonuma_last_nid != -1);
At this point, BUG_ON is not likely to give us a useful backtrace at all.
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 2d53a1f..5943ed2 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -833,6 +833,7 @@ static inline int check_new_page(struct page *page) bad_page(page); return 1; } + autonuma_check_new_page(page); return 0; }
Why don't you hook into the return codes that check_new_page uses? They appear to be there for a reason. -- All rights reversed -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>