Re: [PATCH] recognize MAP_LOCKED in mmap() call
From: Hubertus Franke <hidden>
Date: 2002-09-25 15:34:32
Also in:
lkml
On Wednesday 18 September 2002 03:18 pm, Mark_H_Johnson@raytheon.com wrote:
Andrew Morton wrote:quoted
(SuS really only anticipates that mmap needs to look at prior mlocks in force against the address range. It also says Process memory locking does apply to shared memory regions, and we don't do that either. I think we should; can't see why SuS requires this.)Let me make sure I read what you said correctly. Does this mean that Linux 2.4 (or 2.5) kernels do not lock shared memory regions if a process uses mlockall? If not, that is *really bad* for our real time applications. We don't want to take a page fault while running some 80hz task, just because some non-real time application tried to use what little physical memory we allow for the kernel and all other applications. I asked a related question about a week ago on linux-mm and didn't get a response. Basically, I was concerned that top did not show RSS == Size when mlockall(MCL_CURRENT|MCL_FUTURE) was called. Could this explain the difference or is there something else that I'm missing here? Thanks. --Mark H Johnson <mailto:Mark_H_Johnson@raytheon.com>
Sorry for the lengthy delay. mlock() and mlockall() do the right thing.. however, mmap(MAP_LOCKED) should behave like a mmap | mlock operation according to the manpages. This however was not implemented as the transformation from the mmap_flags to vm_flags never checked for MAP_LOCKED but only for mm->def_flags which only covers a previous mlockall() call. Hope this clarifies it . -- -- Hubertus Franke (frankeh@watson.ibm.com) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/