Re: question on memory mapping one page at a time

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

 



thanks for the replies.

On Tue, Sep 20, 2011 at 11:42 PM, rohan puri <rohan.puri15@xxxxxxxxx> wrote:
>
>
> On Wed, Sep 21, 2011 at 2:24 AM, Jeff Haran <jharan@xxxxxxxxxxxxxx> wrote:
>>
>> > -----Original Message-----
>> > From: kernelnewbies-bounces@xxxxxxxxxxxxxxxxx [mailto:kernelnewbies-
>> > bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Sri Ram Vemulpali
>> > Sent: Tuesday, September 20, 2011 11:24 AM
>> > To: kernelnewbies
>> > Subject: question on memory mapping one page at a time
>> >
>> > Hi all,
>> >
>> > can anyone please explain the following code, what it is doing. I want
>> > the first few statements of the code,  as they are calculating page
>> > frame number. This is little confusing, thanks in advance.
>> >
>> > struct page *simple_vma_nopage(struct vm_area_struct *vma,
>> >                 unsigned long address, int *type)
>> > {
>> >     struct page *pageptr;
>> >     unsigned long offset = vma->vm_pgoff << PAGE_SHIFT;
>> >     unsigned long physaddr = address - vma->vm_start + offset;
>> >     unsigned long pageframe = physaddr >> PAGE_SHIFT;
>> >     if (!pfn_valid(pageframe))
>> >         return NOPAGE_SIGBUS;
>> >     pageptr = pfn_to_page(pageframe);
>> >     get_page(pageptr);
>> >     if (type)
>> >         *type = VM_FAULT_MINOR;
>> >     return pageptr;
>> > }
>> >
>> > --
>> > Regards,
>> > Sri.
>>
>> Do a search on "Understanding the Linux Virtual Memory Manager" by Mel
>> Gorman. The PDF is out there for free or you can buy the hardcopy.
>>
>> I think you will find the above code clearer after you've read the
>> above.
>>
>> Jeff Haran
>>
>>
>>
>>
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies@xxxxxxxxxxxxxxxxx
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
> Also you can go through the second chapter of understanding linux kernel.
>
> Regards,
> Rohan Puri
>



-- 
Regards,
Sri.

_______________________________________________
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