Re: [patch] x86, pat: fix warn_on_once() while mapping 0-1MB range with /dev/mem

From: Frans Pop
Date: Fri Feb 13 2009 - 20:52:14 EST


Suresh Siddha wrote:
> From: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
> Subject: x86, pat: fix warn_on_once() while mapping 0-1MB range
> with /dev/mem
>
> Jeff Mahoney reported:
>> With Suse's hwinfo tool, on -tip:
>> WARNING: at arch/x86/mm/pat.c:637 reserve_pfn_range+0x5b/0x26d()
>
> reserve_pfn_range() is not tracking the memory range below 1MB
> as non-RAM and as such is inconsistent with similar checks in
> reserve_memtype() and free_memtype()
>
> Rename the pagerange_is_ram() to pat_pagerange_is_ram() and add the
> "track legacy 1MB region as non RAM" condition.
>
> And also, fix reserve_pfn_range() to return -EINVAL, when the pfn
> range is RAM. This is to be consistent with this API design.
>
> Reported-and-tested-by: Jeff Mahoney <jeffm@xxxxxxxx>
> Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>

I've given this patch a try because I've been getting the same warning
when starting VirtualBox guest machines (VM) and it looked as if this
might fix that.

With this patch on top of 2.6.29-rc5 the VirtualBox kernel modules build
and load without errors, but when I try to start a VM I get an error that
a symbol cannot be found. The VM does start correctly if I boot the
kernel on the host with "nopat".

I suspect the problem is with VirtualBox, but thought I'd mention it here
just in case it's an indication of a regression.

Details on the issue can be found here:
http://www.virtualbox.org/ticket/3090

The suddenly missing symbol gets defined here for VBox (lines 217-237):
http://www.virtualbox.org/browser/trunk/include/VBox/sup.h

Host system is debian/lenny/amd64 running x86_64.

Cheers,
FJP
--
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/