Re: [RFCv3][PATCH 2/3] fix kvm's use of __pa() on percpu areas

Rik van Riel
2013-01-15T18:38:22Z

On 01/09/2013 01:59 PM, Dave Hansen wrote:
> In short, it is illegal to call __pa() on an address holding
> a percpu variable. The times when this actually matters are
> pretty obscure (certain 32-bit NUMA systems), but it _does_
> happen. It is important to keep KVM guests working on these
> systems because the real hardware is getting harder and
> harder to find.
>
> This bug manifested first by me seeing a plain hang at boot
> after this message:
>
> CPU 0 irqstacks, hard=f3018000 soft=f301a000
>
> or, sometimes, it would actually make it out to the console:
>
> [ 0.000000] BUG: unable to handle kernel paging request at ffffffff
>
> I eventually traced it down to the KVM async pagefault code.
> This can be worked around by disabling that code either at
> compile-time, or on the kernel command-line.

Acked-by: Rik van Riel <riel@redhat.com>

--
All rights reversed