On Thu, May 19, 2011 at 11:12 PM, KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> wrote: >> Right after that happened, I hit ctrl-c to kill test_mempressure.sh. >> The system was OK until I typed sync, and then everything hung. >> >> I'm really confused. shrink_inactive_list in >> RECLAIM_MODE_LUMPYRECLAIM will call one of the isolate_pages functions >> with ISOLATE_BOTH. The resulting list goes into shrink_page_list, >> which does VM_BUG_ON(PageActive(page)). >> >> How is that supposed to work? > > Usually clear_active_flags() clear PG_active before calling > shrink_page_list(). > > shrink_inactive_list() > isolate_pages_global() > update_isolated_counts() > clear_active_flags() > shrink_page_list() > > That makes sense. And I have CONFIG_COMPACTION=y, so the lumpy mode doesn't get set anyway. But the pages I'm seeing have flags=100000000008005D. If I'm reading it right, that means locked,referenced,uptodate,dirty,active. How does a page like that end up in shrink_page_list? I don't see how a page that's !PageLRU can get marked Active. Nonetheless, I'm hitting that VM_BUG_ON. Is there a race somewhere? --Andy -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href