Hi Subbu, On Mon, Jun 25, 2012 at 11:18 AM, Subramaniam Appadodharana <c.a.subramaniam@xxxxxxxxx> wrote: > > > On Mon, Jun 25, 2012 at 1:00 PM, Mulyadi Santosa <mulyadi.santosa@xxxxxxxxx> > wrote: >> >> Hi.... :) >> >> On Sun, Jun 24, 2012 at 1:32 AM, Subramaniam Appadodharana >> <c.a.subramaniam@xxxxxxxxx> wrote: >> > Hi All, >> > I am trying to understand how vmalloc memory is reserved in kernel. In >> > 3.4+ >> > latest kernel, the default vmalloc size is 240MB. >> >> vmalloc reserved address range, you meant? >> >> >Is this a carveout from >> > the 1GiB memory that kernel has? >> >> Yup.... >> >> > In other words can I do a __pa(VMALLOC_START) or __pa(VMALLOC_END) >> > or __pa(highmemory) irrespective of the vmalloc size that I request, say >> > doing vmalloc=1G? >> >> uhm....not sure....vmalloc-ed is not physically contigous. Also, it is >> set up far after identity mapping setup. So, the value you get from >> __pa() IMHO would be likely invalid or has no meaning. >> > I thought that, as log as we know that the address is within the 1GiB, we > could get the > pa of the virtual address using __pa(). Is this not the case? __pa only works on kernel direct addresses. __pa doesn't work on the addresses from vmalloc Using __pa on VMALLOC_START or VMALLOC_END doesn't really make sense. If there were any physical memory there, it would be highmem. __pa should only be used on memory from PAGE_OFFSET through to (high_memory - 1) -- Dave Hylands Shuswap, BC, Canada http://www.davehylands.com _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies