Re: allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jon Dufresne wrote:
I am writing a linux kernel driver for a custom pci device. I am
developing against the stock fedora 6 kernel on an x86. This device has
512 MB of IO memory reserved by BAR 3. Whenever I try to ioremap this
space I get the error:

allocation failed: out of vmalloc space - use vmalloc=<size> to increase
size.

I think I understand why this is happening. I obviously don't have
enough vmalloc space to map such a large chunk of memory. I have been
using Corbet's et el's "Linux Device Drivers", Love's "Linux Kernel
Development", and many websites as a guide in this development process
but have yet to come across information that will help me.

I'm curious if there is a way around this issue. Or a better way of
handling it so that I can properly map the entire io memory space.

On an i386 kernel you likely just don't have enough address space available to map something that big. Your kernel address space is only 1GB (with the standard 3G/1G user/kernel split) and it somehow has to fit in there along with all the other I/O regions, etc. that are mapped into kernel address space.

You may just have to remap smaller chunks of the BAR on demand and unmap them when you're finished with them.

An x86_64 kernel likely would not have this problem..

--
Robert Hancock      Saskatoon, SK, Canada
To email, remove "nospam" from [email protected]
Home Page: http://www.roberthancock.com/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux