Thread (24 messages) 24 messages, 8 authors, 2011-01-18

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?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help