question on memory mapping one page at a time

Ezequiel García elezegarcia at yahoo.com.ar
Thu Sep 22 12:42:59 EDT 2011


--- El mié 21-sep-11, Sri Ram Vemulpali <sri.ram.gmu06 at gmail.com> escribió:

> De: Sri Ram Vemulpali <sri.ram.gmu06 at gmail.com>
> Asunto: Re: question on memory mapping one page at a time
> Para: "rohan puri" <rohan.puri15 at gmail.com>
> Cc: "Jeff Haran" <jharan at bytemobile.com>, "kernelnewbies" <kernelnewbies at kernelnewbies.org>
> Fecha: miércoles, 21 de septiembre de 2011, 15:06
> thanks for the replies.
> 
> On Tue, Sep 20, 2011 at 11:42 PM, rohan puri <rohan.puri15 at gmail.com>
> wrote:
> >
> >
> > On Wed, Sep 21, 2011 at 2:24 AM, Jeff Haran <jharan at bytemobile.com>
> wrote:
> >>
> >> > -----Original Message-----
> >> > From: kernelnewbies-bounces at kernelnewbies.org
> [mailto:kernelnewbies-
> >> > bounces at kernelnewbies.org]
> 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.

Does this means that Gorman's book is still useful? I thought it was too outdated.



More information about the Kernelnewbies mailing list