[Lguest] lguest: mapping switcher would thwack fixmap

Paul Bolle pebolle at tiscali.nl
Fri Apr 12 02:59:11 EST 2013


On Thu, 2013-04-11 at 09:29 +0200, Paul Bolle wrote:
> On Thu, 2013-04-11 at 13:14 +0930, Rusty Russell wrote:
> > Looks like NR_CPUS is huge, leading to a massive fixmap.
> 
> I'm using the default configuration used by Fedora 17. It uses
>     CONFIG_X86_BIGSMP=y
> 
> in its configuration for 32 bit X86. That gives NR_CPUS=32:
>     config NR_CPUS
>             int "Maximum number of CPUs" if SMP && !MAXSMP
>             range 2 8 if SMP && X86_32 && !X86_BIGSMP
>             range 2 512 if SMP && !MAXSMP
>             [...]
>             default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000)
>             [...]
> 
> (Fedora 18 and later should be the same.) I haven't yet done the math
> (and the code grep) to see if 32 could explain the fixmap.

0) Well, disabling DEBUG_HIGHMEM did the trick. That moved the fixmap up
(from 0xffa95000) to 0xffd35000. (The math here is: 32 cpus * (41 - 20)
map whatevers * 4096 byte per page = 2752512 bytes.)

So it seems that, currently, lguest and DEBUG_HIGHMEM don't get along.

1) And now running the lguest tools doesn't triple fault anymore. It
just panics the kernel. Progress!

To be continued...


Paul Bolle



More information about the Lguest mailing list