On Tue, 10 Feb 2015 23:06:09 -0800 (PST) Hugh Dickins <hughd@xxxxxxxxxx> wrote: > The vmstat interfaces are good at hiding negative counts (at least > when CONFIG_SMP); but if you peer behind the curtain, you find that > nr_isolated_anon and nr_isolated_file soon go negative, and grow ever > more negative: so they can absorb larger and larger numbers of isolated > pages, yet still appear to be zero. > > I'm happy to avoid a congestion_wait() when too_many_isolated() myself; > but I guess it's there for a good reason, in which case we ought to get > too_many_isolated() working again. > > The imbalance comes from isolate_migratepages()'s ISOLATE_ABORT case: > putback_movable_pages() decrements the NR_ISOLATED counts, but we forgot > to call acct_isolated() to increment them. So if I'm understanding this correctly, shrink_inactive_list()'s call to congestion_wait() basically never happens? If so I'm pretty reluctant to merge this up until it has had plenty of careful testing - there's a decent chance that it will make the kernel behave worse. > Fixes: edc2ca612496 ("mm, compaction: move pageblock checks up from isolate_migratepages_range()") > Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx # v3.18+ And why -stable? What user-visible problem is the bug causing? -- 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>