Re: 2.6.29.4: softlockup at find_get_page() et al

From: Nick Piggin
Date: Tue Jun 16 2009 - 10:22:24 EST


On Tue, Jun 16, 2009 at 05:14:54PM +0400, Alexey Dobriyan wrote:
> On Tue, Jun 16, 2009 at 03:08:33PM +0200, Nick Piggin wrote:
> > Thanks. Is it rebooted? It would be interesting to know what other
> > CPUs are doing (and even what other tasks are doing) if it is
> > still up.
>
> It was rebooted, sorry.

Thanks. It is hard to know where it is looping, but I see a put_page
in there which seems to suggest it reached at least the "Has the page
moved" test. But if the stack trace is 100% accurate, then it seems
like it has hit the "Has the page been truncated" part of find_lock_page.

And it is an ext2 dir page. And these pages should not get truncated
unless rmdir. But we can't be in rmdir I think because we are doing a
mkdir.

It would seem like the page is still in the pagecache, but ->mapping
is wrong. But actually that is strange because we should have a
new inode here, so find_get_page should not even find a page in
find_or_create_page. There should be no way for a racing thread to
add a page there either.

I would almost have to suspect hardware or software error causing
random memory scribble. I would definitely be very interested if
you can reproduce (I suspect it won't be reproducable though).

Thanks,
Nick

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/