Re: changing the page properties to cached/uncached

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

 



> On Iau, 2006-02-09 at 17:32 +0100, Niels Sterrenburg wrote:
>> - Do not use swapping in the system
>> - Limit Linux memory usage via the mem= option in the kernel command
>> line.
>> - From MIPS user space: do a mmap for the shared memory area.
>> - From MIPS user space: call (our selfwritten) shmemipc driver with the
>> request to set the mapped pages to cached (by passing virtual address
>> and
>> length).
>> - From kernel space: find the vma for the supplied virtual address range
>> and change cache properties of all pages in that virtual range.
>
> You don't need to worry about swapping. You can simply mark the pages in
> question reserved just as i386 does with the 640K-1Mb hole or since when
> a page has a use count it won't swap out, mark it as having a user. In
> your case the "user" is the DSP so you just need to account fine

Ok, swapping is not (yet) relevant for us, but I'll keep it in mind.

> You can provide your own "nopage" method. Good example is
> sound/oss/via82cxxx_audio.c
>
So if I understand correctly I can implement my own nopage routine
as part of my driver mmap functionanlity (via initializing vm_ops in mmap).

When an mmap on my driver is done to a virtual area for which nopage's
exist then my nopage routine is called, right ?

Then I can handle tha cache properties while creating the page(s), right ?

In the case of the via82cxxx_aucio.c it grabs a dma page, claims it
and returns it, right ?

If all my above interpretations are correct, how can I then toggle the
page caching properties:
- on which level should I do that: pte/page level or vma level ?

regards,

Niels





[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux