Messages in this thread | | | Date | Tue, 16 Jun 2009 16:22:14 +0200 | From | Nick Piggin <> | Subject | Re: 2.6.29.4: softlockup at find_get_page() et al |
| |
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
| |