Thread (44 messages) 44 messages, 7 authors, 2012-06-04

Re: WARNING: at mm/page-writeback.c:1990 __set_page_dirty_nobuffers+0x13a/0x170()

From: Hugh Dickins <hughd@google.com>
Date: 2012-06-03 22:18:07
Also in: lkml

On Sun, 3 Jun 2012, Dave Jones wrote:
On Sun, Jun 03, 2012 at 02:31:39PM -0400, Dave Jones wrote:
 > On Sun, Jun 03, 2012 at 11:23:29AM -0700, Linus Torvalds wrote:
 >  > On Sun, Jun 3, 2012 at 11:15 AM, Dave Jones [off-list ref] wrote:
 >  > >
 >  > > Things aren't happy with that patch at all.
 >  > 
 >  > Yeah, at this point I think we need to just revert the compaction changes.
 >  > 
 >  > Guys, what's the minimal set of commits to revert? That clearly buggy
 >  > "rescue_unmovable_pageblock()" function was introduced by commit
 >  > 5ceb9ce6fe94, but is that actually involved with the particular bug?
 >  > That commit seems to revert cleanly still, but is that sufficient or
 >  > does it even matter?
 > 
 > I'l rerun the test with that (and Hugh's last patch) backed out, and see
 > if that makes any difference.

running just over two hours with that commit reverted with no obvious ill effects so far.
Yes, and I ran happily with precisely that commit reverted on Friday -
though I've never got the list corruption that you saw with it in.  

The locking bug certainly comes in with that commit, it's an isolated
commit that reverts cleanly, and I think you got the list corruption
rather sooner than two hours before (9min, 30min, 41min from the traces
you sent).

Maybe we should let you run a little longer, or wait for others to comment.

But another strike against that commit: I tried fixing it up to use
start_page instead of page at the end, with the worrying but safer
locking I suggested at first, with a count of how many times it went
there, and how many times it succeeded.

While I ran my usual swapping test (perhaps that's a very unfair test
to run on this, I've no idea) for seven hours, it went there 25406
times (once per second, it appears) and it succeeded... 0 times.

Let's hope it failed quickly each time, I wasn't capturing that.

Hugh

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  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=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help