On Mon, Jun 25, 2012 at 3:00 PM, Dave Hylands <dhylands@xxxxxxxxx> wrote:
Hi Subbu,
On Mon, Jun 25, 2012 at 11:18 AM, Subramaniam Appadodharana
<c.a.subramaniam@xxxxxxxxx> wrote:__pa only works on kernel direct addresses.
>
>
> 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 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)
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies