Messages in this thread |  | | | Date | Mon, 16 Apr 2007 23:08:53 -0600 | | From | Robert Hancock <> | | Subject | Re: Memory Allocation |
Brian D. McGrew wrote: > Good evening gents! > > I need some help in allocating memory and understanding how the system > allocates memory with physical versus virtual page tables. Please > consider the following snippet of code. Please, no wisecracks about bad > code; it was written in 30 seconds in haste :-)
(snip)
> My test machine is a Dell Precision 490 with dual 5140 processors and > 3GB of RAM. If I reduced kMaxSize to (2048 * 2048 * 236) is works. > However, I need to allocate an array of char that is (2048 * 2048 * 256) > and maybe even as large at (2048 * 2048 * 512). > > Obviously I have enough physical memory in the box to do this. However, > I suspect that I'm running out of page table entries. Please, correct > me if I'm wrong; but if I allocate (2048 * 2048 * 236) it work. When I
Pretty sure you're wrong.
> increment to 256 or 512 it fails and it is my suspicion that I just > don't have enough more in kernel memory to allocate this much memory in > user space.
Are you using a 32-bit kernel? If so, most likely you're hitting a limit of the address space layout - there's just not enough room in the address space for an allocation of this size.
> > Because of a piece of 3rd party hardware, I'm forced to run the kernel > in the 4GB memory model. What I need to be able to do is allocate an > array of char (2048 * 2048 * (up to 512)) in user space *** AND *** I > need the addresses that I get back to be contiguous, that's just the way > my 3rd party hardware works. > > I'm inclined to believe that this in not specifically a Linux problem > but maybe an architecture problem??? But maybe there is some kind of > work around in the kernel for it??? I'd find it hard to believe that > I'm the first one that ever needed to use this much memory. > > I ran this same code on two difference Macs. One of them a Powerbook G4 > with 4GB of RAM and it was successful. The other was a Macbook Pro with > 4GB of RAM and it failed. Both running OS 10.4.9. And of course it > runs just lovely on my Sun workstation with Solaris. Thus, I'm thinking > it's an Intel/X86 issue! > > How the heck to I get past this problem in Linux on the X86 plateform???
-- Robert Hancock Saskatoon, SK, Canada To email, remove "nospam" from hancockr@nospamshaw.ca Home Page: http://www.roberthancock.com/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |