Re: Can i allocate 4GB virtual addresses (more than a certain limit) using vmalloc?

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

 



>> Hi all,
>> The following link gives the memory map for the arm architecture.
>> http://www.arm.linux.org.uk/developer/memory.txt
>>
>>I have the following doubts..
>>1) Any chipset(based on arm) manufacturer(qualcom,samsung..) should follow
>>the same memory map.
>>Is it hardly constrained or can be changed?
>>Where are this constraints are implemented in the kernel source tree?


>you mean, device memory map? well AFAIK that is dictated by
>BIOS....kernel simply just follow along...
 
Not the device memory map..others also like vmalloc()/ioremap region, dma_alloc() (refer that link)
these regions. 
 
i refered to qualcomm chipset memory map(based on ARM9). They just mentioned only where different devices were mapped.
They doesnt have this specifc adress space constraints for vmalloc, ioremap,dma_alloc etc.,
So i thought it is taken care by kernel.
 
Please tell me where these constraints will be implemented?
 
Another clarification, while assigning memory through vmalloc(), dma_alloc() kernel first
should check the available address space 'taking the constraints into consideration' before returning the addresses, right?
 


 
On Tue, May 31, 2011 at 12:32 PM, Mulyadi Santosa <mulyadi.santosa@xxxxxxxxx> wrote:
Hi...

I am not ARM guy, but I'll see what I can share here..... hold your breath :)

On Tue, May 31, 2011 at 12:54, sandeep kumar <coolsandyforyou@xxxxxxxxx> wrote:
> Hi all,
> The following link gives the memory map for the arm architecture.
> http://www.arm.linux.org.uk/developer/memory.txt
>
> I have the following doubts..
> 1) Any chipset(based on arm) manufacturer(qualcom,samsung..) should follow
> the same memory map.
> Is it hardly constrained or can be changed?
> Where are this constraints are implemented in the kernel source tree?

you mean, device memory map? well AFAIK that is dictated by
BIOS....kernel simply just follow along...

>
> 2) while i was student, i read in OS concepts that, "Virtual memory gives an
> illusion to a process,
> that it has always a larger continuous address space (even more than RAM)
> available to it."

that's true... but you need to count another limitation: addressable
or not by the MMU or at least processor itself?

let's say you have 16 GiB of virtual memory, composed of 4 GiB of RAM
+ 12 GiB swap. Theoritically, a single process should be able to use
them all, but assuming we have no PAE enabled, an 32 bit system could
only address up to 4 GiB

> So i thought i could allocate howmuch ever memory i want.

Also think about fragmentation...

> But seeing the above link,i observed there is some limitation in the address
> space created by the vmalloc().
> So i m now thinking that vmalloc has some limit.

Yup.....

maybe my old article could shed a light further for you:
http://linuxdevcenter.com/pub/a/linux/2006/11/30/linux-out-of-memory.html

--
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com



--
With regards,
Sandeep Kumar Anantapalli,
Senior Software Engineer,
Samsung India Software Operations,
Bangalore.

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux