From: Steve Capper <redacted>
Date: Tue, 14 Oct 2014 13:38:34 +0100
On Mon, Oct 13, 2014 at 12:06:18PM -0400, David Miller wrote:
quoted
From: Steve Capper <redacted>
Date: Mon, 13 Oct 2014 12:44:28 +0100
quoted
Also, as a heads up for Sparc. I don't see any definition of
__get_user_pages_fast. Does this mean that a futex on THP tail page
can cause an infinite loop?
I have no idea, I didn't realize this was required to be implemented.
In get_futex_key, a call is made to __get_user_pages_fast to handle the
case where a THP tail page needs to be pinned for the futex. There is a
stock implementation of __get_user_pages_fast, but this is just an
empty function that returns 0. Unfortunately this will provoke a goto
to "again:" and end up in an infinite loop. The process will appear
to hang with a high system cpu usage.
I'd rather the build fail and force me to implement the interface for
my architecture than have a default implementation that causes issues
like that.