Re: [PATCH 1/2] [PATCH] Fix a hugepage reservation check forMAP_SHARED

From: Adam Litke
Date: Thu Jul 10 2008 - 15:02:16 EST


On Thu, 2008-07-10 at 18:30 +0100, Mel Gorman wrote:
> When removing a huge page from the hugepage pool for a fault the system
> checks to see if the mapping requires additional pages to be reserved, and
> if it does whether there are any unreserved pages remaining. If not, the
> allocation fails without even attempting to get a page. In order to determine
> whether to apply this check we call vma_has_private_reserves() which tells us
> if this vma is MAP_PRIVATE and is the owner. This incorrectly triggers the
> remaining reservation test for MAP_SHARED mappings which prevents allocation
> of the final page in the pool even though it is reserved for this mapping.
>
> In reality we only want to check this for MAP_PRIVATE mappings where the
> process is not the original mapper. Replace vma_has_private_reserves() with
> vma_has_reserves() which indicates whether further reserves are required,
> and update the caller.
>
> Signed-off-by: Mel Gorman <mel@xxxxxxxxx>

Acked-by: Adam Litke <agl@xxxxxxxxxx>

Tested and confirmed.

--
Adam Litke - (agl at us.ibm.com)
IBM Linux Technology Center

--
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/