From mboxrd@z Thu Jan 1 00:00:00 1970 From: mulyadi.santosa@gmail.com (Mulyadi Santosa) Date: Tue, 31 May 2011 14:02:49 +0700 Subject: Can i allocate 4GB virtual addresses (more than a certain limit) using vmalloc? In-Reply-To: References: Message-ID: To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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 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