page locking in PowerPC cores

4 messages, 3 authors, 2006-07-20 · open the first message on its own page

page locking in PowerPC cores

From: Parav Pandit <hidden>
Date: 2006-07-18 11:10:30

Hi,
   
  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.
   
  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?
   
  Regards,
  Parav Pandit
   

 		
---------------------------------
Do you Yahoo!?
 Next-gen email? Have it all with the  all-new Yahoo! Mail Beta.

Re: page locking in PowerPC cores

From: Eugene Surovegin <hidden>
Date: 2006-07-18 23:35:57

On Tue, Jul 18, 2006 at 04:03:50AM -0700, Parav Pandit wrote:
Hi,
   
  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.
   
  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?

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

-- 
Eugene

Re: page locking in PowerPC cores

From: Parav Pandit <hidden>
Date: 2006-07-19 04:45:12

--- Eugene Surovegin <ebs@ebshome.net> wrote:
quoted
  We allocate memory for DMA operation on PCI
device using pci_alloc_constistent().
quoted
   
  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.
[Parav]
I did it, but after reaching __alloc_pages() its
getting difficult to understand.
Here is the sequence:
pci_alloc_consistent()
-> __get_free_pages()
   ->alloc_pages(gfp_mask, order)
      ->alloc_pages_current()
         -> __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
locking.

quoted
   
  Can anybody tell me which instructions do we use
to set this page entry in TLB and page table?
quoted
  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.

Regards,
Parav


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Re: page locking in PowerPC cores

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2006-07-20 18:50:35

Only memory mapped into userland contexts can be paged out in the first
place.

Ben.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help