Thread (74 messages) 74 messages, 12 authors, 2003-07-04

Re: What to expect with the 2.6 VM

From: William Lee Irwin III <hidden>
Date: 2003-07-02 23:41:46
Also in: lkml

On Thu, Jul 03, 2003 at 01:30:14AM +0200, Andrea Arcangeli wrote:
yes, as said above it's linear with the number of virtual pages mapped
unless you use the objrmap to rebuild rmap.
is this munmap right?
I was describing munlock(); munmap() would do the same except not even
bother trying to allocate the pte_chains and always unmap it from the
processes whose mappings are being fiddled with.


On Wed, Jul 02, 2003 at 04:11:22PM -0700, William Lee Irwin III wrote:
quoted
for each page this mlock()'er (not _all_ mlock()'ers) maps of this thing
	grab some pagewise lock
	if pte_chain allocation succeeded
		add pte_chain
On Thu, Jul 03, 2003 at 01:30:14AM +0200, Andrea Arcangeli wrote:
allocated sure, but it has no information yet, you dropped the info in
mlock
We have the information because I'm describing this as part of doing a
pagetable walk over the mlock()'d area we're munlock()'ing.


On Wed, Jul 02, 2003 at 04:11:22PM -0700, William Lee Irwin III wrote:
quoted
	else
		/* you'll need to put anon pages in swapcache in mlock() */
		unmap the page
On Thu, Jul 03, 2003 at 01:30:14AM +0200, Andrea Arcangeli wrote:
how to unmap? there's no rmap. also there may not be swap at all to
allocate swapcache from
That doesn't matter; it only has to have an entry in swapper_space's
radix tree. But this actually could mean trouble since things currently
assume swap is preallocated for each entry in swapper_space's page_tree.

Which is fine; just revert to the old chaining semantics for mlock()'d
pages with PG_anon high.


On Wed, Jul 02, 2003 at 04:11:22PM -0700, William Lee Irwin III wrote:
quoted
	decrement lockcount
	if lockcount vanished
	park it on the LRU
	drop the pagewise lock
Individual mappers whose mappings are not mlock()'d add pte_chains when
faulting the things in just like before.
On Thu, Jul 03, 2003 at 01:30:14AM +0200, Andrea Arcangeli wrote:
Tell me how you reach the pagetable from munlock to do the unmap. If you
can reach the pagetable, the unmap isn't necessary and you only need to
rebuild the rmap. and if you can reach the pagetable efficiently w/o
rmap, it means rmap is useless in the first place.
This algorithm occurs during a pagetable walk of the process we'd unmap
it from; we don't unmap it from all processes, just the current one, and
allow it to take minor faults.


-- wli
--
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/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help