| Date | Tue, 10 Dec 2013 13:57:49 -0800 | Subject | Re: process 'stuck' at exit. | From | Linus Torvalds <> |
| |
On Tue, Dec 10, 2013 at 1:41 PM, Dave Jones <davej@redhat.com> wrote: > > http://codemonkey.org.uk/junk/trace
Hmm. Ok, so something is calling [__]get_user_pages_fast() and put_page() in a loop, but the trace doesn't show what that "something" is, because it is itself not ever called.
However, that pattern does seem to imply that the loop is in get_futex_key(), because all the other loops I see seem to be calling other things as well.
And the __get_user_pages_fast() call implies that it's the THP case that triggers the "unlikely(PageTail(page))" case. And anyway, otherwise we'd see lock_page()/unlock_page() too.
So it looks like __get_user_pages_fast() fails, and keeps failing. Andrea, this is your code, any ideas? Commit a5b338f2b0b1f ("thp: update futex compound knowledge") to be exact.
Linus
|