Re: hunting an IO hang
From: Minchan Kim <hidden>
Date: 2011-01-17 15:10:09
On Mon, Jan 17, 2011 at 11:47:46PM +0900, Minchan Kim wrote:
On Mon, Jan 17, 2011 at 03:26:15PM +0100, Andrea Arcangeli wrote:quoted
On Mon, Jan 17, 2011 at 09:10:15AM -0500, Chris Mason wrote:quoted
Excerpts from Andrea Arcangeli's message of 2011-01-17 00:11:35 -0500: [ crashes under load ]quoted
NOTE: with the last changes compaction is used for all order > 0 and even from kswapd, so you will now be able to trigger bugs in compaction or migration even with THP off. However I'm surprised that you have issues with compaction...I know I mentioned this in another email, but it is kind of buried in other context. I reproduced my crash with CONFIG_COMPACTION and CONFIG_MIGRATION off.Ok, then it was an accident the page->lru got corrupted during migration and it has nothing to do with migration/compaction/thp. This makes sense because we should have noticed long ago if something wasn't stable there. I reworked the fix for the two memleaks I found while reviewing migration code for this bug (unrelated) introduced by the commit cf608ac19c95804dc2df43b1f4f9e068aa9034ab. It was enough to move the goto to fix this without having to add a new function (it's functionally identical to the one I sent before). It also wouldn't leak memory if it was compaction invoking migrate_pages (only other callers checking the retval of migrate_pages instead of list_empty, could leak memory). As said before, this couldn't explain your problem, and this is only a code review fix, I never triggered this. This is still only for review for Minchan, not meant for inclusion yet. === Subject: when migrate_pages returns 0, all pages must have been released From: Andrea Arcangeli <redacted> In some cases migrate_pages could return zero while still leaving a few pages in the pagelist (and some caller wouldn't notice it has to call putback_lru_pages after commit cf608ac19c95804dc2df43b1f4f9e068aa9034ab). Add one missing putback_lru_pages not added by commit cf608ac19c95804dc2df43b1f4f9e068aa9034ab.It would be better to have another patch.quoted
Signed-off-by: Andrea Arcangeli <redacted>Reviewed-by: Minchan Kim <redacted>
And don't we need this patch, either?