page locking in PowerPC cores

Parav Pandit paravpandit at
Wed Jul 19 14:45:10 EST 2006

--- Eugene Surovegin <ebs at> wrote:
> >   We allocate memory for DMA operation on PCI
> device using pci_alloc_constistent().
> >    
> >   I want to know how this function is boil down to
> the actual instruction which locks the page in the
> RAM so that it cannot be paged out and dma can do
> its work.
> This is trivial - you can start with looking at the
> implementation.

I did it, but after reaching __alloc_pages() its
getting difficult to understand.
Here is the sequence:
-> __get_free_pages()
   ->alloc_pages(gfp_mask, order)
         -> __alloc_pages()

It does something with zones. Looks like zone memory
pages are locked in the beginning.
Still could not figure out the instuctions for page

> >    
> >   Can anybody tell me which instructions do we use
> to set this page entry in TLB and page table?
> >   What bit gets set in the PTE for this?
> Why do you need this page in TLB?

[Parav] No, I don't want. I just wanted to see the
code for locking inside TLB or in page table.

> In general you don't have to worry about _any_
> memory you allocated in 
> the kernel to be paged out.

[Parav] As driver writer, I agree I don't need to, but
to better understand the system I am eager to do that.


Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the Linuxppc-embedded mailing list