Re: vmalloc kernel parameter

From: Rodrigo Amestica
Date: Thu Jun 29 2006 - 09:07:15 EST


Hi Sergey,

the uppermem workaround for grub did not work well for me when I tried to add the mem+memmap parameters to the kernel. My machine has 2GB of ram and trying to set mem beyond the 1GB limit made the machine unable to boot. Setting mem to a value below 1GB allowed the machine to boot but VmallocTotal reported unexpected values.

I have switched now to lilo and things seems to work just fine. The following lilo config

image=/boot/vmlinuz
label=vmalloc
initrd=/boot/initrd.img
read-only
append="root=LABEL=/ vmalloc=256M mem=1899M memmap=128M#1899M"

let's the machine boot just fine reporting the following values in /proc/meminfo

MemTotal: 1925632 kB
VmallocTotal: 245752 kB

Rodrigo

Rodrigo Amestica wrote:
Hi Sergey, many thanks for the reply.

I saw those links before but I did not get their full meaning.

By setting uppermem to 512M it does actually work. However, now I'm trying to reserve RAM for DMA sake. For that I use mem=1899M; where 1899 comes from the total memory reported under normal booting less 128M, which are the Megs that I'm trying to reserve.

It seems that by adding mem to the boot line goes into conflicting with the uppermem+vmalloc arrangement.

Without providing more details on what's actually happening can you tell that there is something wrong on what I'm trying to do?

Would switching to lilo help any?

thanks,
Rodrigo

Sergey Vlasov wrote:

This is a known problem with GRUB: it tries to put initrd at the highest
possible address in memory, and assumes the standard vmalloc area size.
You need to trick GRUB into thinking that your machine has less memory
by using "uppermem 524288" (512M) or even lower - then the initrd data
will still be accessible for the kernel even with larger vmalloc area.

http://lkml.org/lkml/2005/4/4/283
http://lists.linbit.com/pipermail/drbd-user/2005-April/002890.html

ps: my kernel version is 2.6.15.2, and my machine is a dual opteron
with 2GB of ram

title with vmalloc
root (hd0,0)

Add "uppermem 524288" here.

kernel /boot/vmlinuz ro root=LABEL=/ vmalloc=256M
initrd /boot/initrd.img
-
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/