Subject: Re: [PATCH] powerpc/mm: Fix hang accessing top of vmalloc space

From: Sachin Sant <[email-masked]>
Date: Tue, 13 Oct 2009 13:53:06 +0530

Benjamin Herrenschmidt wrote:
> On pSeries, we always force the IO space to be mapped using 4K
> pages even with a 64K base page size to cope with some limitations
> in the HV interface to some devices.
>
> However, the SLB miss handler code to discriminate between vmalloc
> and ioremap space uses a CPU feature section such that the code
> is nop'ed out when the processor support large pages non-cachable
> mappings.
>
> Thus, we end up always using the ioremap page size for vmalloc
> segments on such processors, causing a discrepency between the
> segment and the hash table, and thus a hang continously hashing
> the page.
>
> It works for the first segment of the vmalloc space since that
> segment is "bolted" in by C code correctly, and thankfully we
> almost never use the vmalloc space beyond the first segment,
> but the new percpu code made the bug happen.
>
> This fixes it by removing the feature section from the assembly,
> we now always do the comparison between vmalloc and ioremap.
>
> Signed-off-by; Benjamin Herrenschmidt <[email-masked]>
> ---
>
> Sachin, can you verify that works for you ?
Works great. Thanks Ben.

Tested by: Sachin Sant <[email-masked]>

Regards
-Sachin

-- 

---------------------------------
Sachin Sant
IBM Linux Technology Center
India Systems and Technology Labs
Bangalore, India
---------------------------------