Subject: Re: mmap'ing framebuffer memory in MI drivers...
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Eduardo E. Horvath <eeh@one-o.com>
List: tech-kern
Date: 03/04/1999 13:10:46
On Thu, 4 Mar 1999, Jason Thorpe wrote:
> On Thu, 4 Mar 1999 09:50:30 -0800 (PST)
> "Eduardo E. Horvath" <eeh@one-o.com> wrote:
>
> > Why doesn't the VM layer call the driver mmap() routine and let the driver
> > mmap() routine do the entire operation, possibly using some MD entry point
> > into the pmap layer where all this special information can be passed in as
> > separate parameters? O.K., so we need another driver vector for munmap(),
> > I consider this a good thing since it lets the driver keep track of a use
> > count on this resource which are necessary to know if the driver is
> > detachable (if we ever support detach) or allow optimizations in the area
> > of cache flushes, etc. For example, it lets a video card driver install a
> > locked large page mapping during the map operation and remove it when the
> > mapping goes away.
>
> Because d_mmap() is called many times:
>
> (1) At mmap time, once for each page to see if the request
> mmap operation is legal. No mappings are entered here.
>
> (2) At fault time, as page faults occur in the mmap'd object,
> on a per-page basis.
Now, since the memory should be wired why are we doing per-page mapin
during pagefaults? Is anyone planning on paging his framebuffer out to
disk?
=========================================================================
Eduardo Horvath eeh@one-o.com
"I need to find a pithy new quote." -- me