Parhelia OS:Fail to map memory region + out of vmalloc space

Frequently asked questions - Please read before posting!

Parhelia OS:Fail to map memory region + out of vmalloc space

Postby tuxx-home.at » Tue Jan 09, 2007 12:16 pm

Applies To:

All P-series cards (Millenium P650, P750, Parhelia, APVe, QID, ...) using the
mtx driver set.

Description:

If you see the following error in your kernel logfiles, in dmesg or on your
terminal console, this FAQ entry applies to you:

Code: Select all
kernel: allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.
kernel: [mtx] *ERROR* Parhelia OS: Fail to map memory region (0xf0cc0000, size:12582912
kernel: allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.
kernel: [mtx] *ERROR* Parhelia OS: Fail to map memory region (0xf1900000, size:12582912
kernel: [mtx] *ERROR* Parhelia OS: Unmapping an invalid memory region (0x00000000, size:12582912)
kernel: [mtx] *ERROR* Parhelia OS: Unmapping an invalid memory region (0x00000000, size:12582912)


Symptoms:

The X server may lock up your machine when running 3D applications
because it utilizes 100% of CPU time, it may completely hang your
system or simply 3D acceleration doesn't work as expected.

Solution:

There are several things to be done to get rid of these messages.
First, the "out of vmalloc" space message can be worked around by adding
an additional parameter to your kernel command line.

To do this, find out what bootloader you are using (LILO, grub, ...) and
find out, what its configuration file is (default values are /etc/lilo.conf resp.
/boot/grub/menu.lst).

In this file, search for your kernel command line options. To find out what
kernel command line options get used to boot your system, issue the
following command:

Code: Select all
$ cat /proc/cmdline
root=/dev/sda1 ro vga=0x31B


Now the only thing you need to do is to add the option "vmalloc=256m" at
the end of your kernel command line.

If you're using LILO as bootloader, don't forget to rerun `lilo` for the
changes to take effect.

After you reboot your system, check if setting this option worked by
issuing the following command:

Code: Select all
$ dmesg | grep vmalloc
Kernel command line: root=/dev/sda1 ro vga=0x31B vmalloc=256m
    vmalloc : 0xf0800000 - 0xff7fe000   ( 239 MB)


In the above example you can see your kernel command line and
afterwards the kernels interpretation of it as far as vmalloc is concerned.

One user reported (thanks, singular!) that adding this option might
cause troubles with big initrds and therefore it is sometimes necessary
to specify the uppermem boundary in grub's configuration file (I don't
know if this only applies to the grub bootloader) like in this example:

Code: Select all
title Fedora Core (2.6.20-1.2307.fc5smp vmalloc=256MB)
uppermem 524288
root (hd1,0)
kernel /vmlinuz-2.6.20-1.2307.fc5smp ro root=LABEL=/ rhgb quiet vmalloc=256MB
initrd /initrd-2.6.20-1.2307.fc5smp.img



In certain cases (e.g. Triplehead configurations) it might be necessary
to do some further tuning by adding the parameter regSysMmFlags=0 to the mtx kernel
module.

For testing purposes, you may manually load the mtx module with the
following command:

Code: Select all
modprobe mtx regSysMmFlags=0


On debian systems (and maybe some others too) you can edit the file
/etc/modules and add/replace the following line:

Code: Select all
mtx regSysMmFlags=0


On SuSE/RedHat systems one should edit the files "/etc/modules.conf"
resp. "/etc/modules.conf.local" with the following syntax:

Code: Select all
options mtx regSysMmFlags=0
User avatar
tuxx-home.at
Supreme Commander
Supreme Commander
 
Posts: 2199
Joined: Mon Jan 01, 2007 12:51 pm
Location: Vassach - Austria - Europe

Return to FAQ

Who is online

Users browsing this forum: No registered users and 1 guest