0

Possible Duplicate:
Can I tell Linux not to swap out a particular processes' memory?

I want to allocate a chunk of memory in Linux and be sure that it will get no #GP or #PF faults. Regarding #GP, it's my responsibility as a programmer to ensure that I do not exceed any bounds. However, #PF are the the responsibility of the OS, since it can choose whether or not to evict a page.

I imagine that if I use the same page frequently, the OS will be smart enough not to evict it. However, if I want to allocate a large block of memory, then it'll take me a while to reach some of the pages, and I don't want the OS to evict it in the meanwhile.

Is there any way to tell Linux to keep a page present so that I never get a page fault?

Note: This is similar to to the question How can I tell Windows to keep a page and not evict it? except that this one is about Linux

Community
  • 1
  • 1
Nathan Fellman
  • 122,701
  • 101
  • 260
  • 319

1 Answers1

7

I think you are looking for mlock.

caf
  • 233,326
  • 40
  • 323
  • 462
Steve-o
  • 12,678
  • 2
  • 41
  • 60