On Mon, Jun 25, 2012 at 3:00 PM, Dave Hylands <[email protected]> wrote:
> Hi Subbu, > > On Mon, Jun 25, 2012 at 11:18 AM, Subramaniam Appadodharana > <[email protected]> wrote: > > > > > > On Mon, Jun 25, 2012 at 1:00 PM, Mulyadi Santosa < > [email protected]> > > wrote: > >> > >> Hi.... :) > >> > >> On Sun, Jun 24, 2012 at 1:32 AM, Subramaniam Appadodharana > >> <[email protected]> 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. > > Okay, but my intention was to just print out the pa for the VMALLOC_START and END, just to know where they are. And I thought they will work. no? __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 [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
