From: William Lee Irwin III <wli@holomorphy.com>
To: Andrea Arcangeli <andrea@suse.de>
Cc: "Martin J. Bligh" <mbligh@aracnet.com>,
Mel Gorman <mel@csn.ul.ie>,
Linux Memory Management List <linux-mm@kvack.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: What to expect with the 2.6 VM
Date: Wed, 2 Jul 2003 16:55:40 -0700 [thread overview]
Message-ID: <20030702235540.GK26348@holomorphy.com> (raw)
In-Reply-To: <20030702233014.GW23578@dualathlon.random>
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:
>> 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:
>> 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:
>> 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
WARNING: multiple messages have this Message-ID (diff)
From: William Lee Irwin III <wli@holomorphy.com>
To: Andrea Arcangeli <andrea@suse.de>
Cc: "Martin J. Bligh" <mbligh@aracnet.com>,
Mel Gorman <mel@csn.ul.ie>,
Linux Memory Management List <linux-mm@kvack.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: What to expect with the 2.6 VM
Date: Wed, 2 Jul 2003 16:55:40 -0700 [thread overview]
Message-ID: <20030702235540.GK26348@holomorphy.com> (raw)
In-Reply-To: <20030702233014.GW23578@dualathlon.random>
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:
>> 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:
>> 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:
>> 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>
next prev parent reply other threads:[~2003-07-02 23:41 UTC|newest]
Thread overview: 151+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-01 1:39 What to expect with the 2.6 VM Mel Gorman
2003-07-01 1:39 ` Mel Gorman
2003-06-30 17:43 ` Daniel Phillips
2003-06-30 17:43 ` Daniel Phillips
2003-07-01 20:10 ` Martin J. Bligh
2003-07-01 20:10 ` Martin J. Bligh
2003-07-01 21:41 ` Mel Gorman
2003-07-01 21:41 ` Mel Gorman
2003-07-01 21:51 ` Davide Libenzi
2003-07-01 21:51 ` Davide Libenzi
2003-07-01 21:58 ` Martin J. Bligh
2003-07-01 21:58 ` Martin J. Bligh
2003-07-02 9:01 ` Mel Gorman
2003-07-02 9:01 ` Mel Gorman
2003-07-01 2:25 ` Andrea Arcangeli
2003-07-01 2:25 ` Andrea Arcangeli
2003-07-01 3:02 ` Andrew Morton
2003-07-01 3:02 ` Andrew Morton
2003-07-01 3:22 ` Andrea Arcangeli
2003-07-01 3:22 ` Andrea Arcangeli
2003-07-01 3:25 ` Andrea Arcangeli
2003-07-01 3:25 ` Andrea Arcangeli
2003-07-01 3:29 ` Rik van Riel
2003-07-01 3:29 ` Rik van Riel
2003-07-01 4:04 ` Andrea Arcangeli
2003-07-01 4:04 ` Andrea Arcangeli
2003-07-01 11:01 ` Hugh Dickins
2003-07-01 11:01 ` Hugh Dickins
2003-07-01 3:25 ` William Lee Irwin III
2003-07-01 3:25 ` William Lee Irwin III
2003-07-01 4:39 ` Andrea Arcangeli
2003-07-01 4:39 ` Andrea Arcangeli
2003-07-01 6:33 ` William Lee Irwin III
2003-07-01 6:33 ` William Lee Irwin III
2003-07-01 7:49 ` Andrea Arcangeli
2003-07-01 7:49 ` Andrea Arcangeli
2003-07-01 8:59 ` William Lee Irwin III
2003-07-01 8:59 ` William Lee Irwin III
2003-07-01 9:27 ` Andrea Arcangeli
2003-07-01 9:27 ` Andrea Arcangeli
2003-07-01 12:09 ` severe problem of linux 2.4.21 usb tu guangxiu
2003-07-01 14:24 ` What to expect with the 2.6 VM Martin J. Bligh
2003-07-01 14:24 ` Martin J. Bligh
2003-07-01 16:22 ` William Lee Irwin III
2003-07-01 16:22 ` William Lee Irwin III
2003-07-01 17:54 ` Martin J. Bligh
2003-07-01 17:54 ` Martin J. Bligh
2003-07-02 3:04 ` Andrea Arcangeli
2003-07-02 3:04 ` Andrea Arcangeli
2003-07-01 14:42 ` Martin J. Bligh
2003-07-01 21:45 ` Mel Gorman
2003-07-01 21:45 ` Mel Gorman
2003-07-01 22:06 ` Martin J. Bligh
2003-07-01 22:06 ` Martin J. Bligh
2003-07-01 21:46 ` Mel Gorman
2003-07-01 21:46 ` Mel Gorman
2003-07-02 3:08 ` Andrea Arcangeli
2003-07-02 3:08 ` Andrea Arcangeli
2003-07-02 15:57 ` Mel Gorman
2003-07-02 15:57 ` Mel Gorman
2003-07-02 17:11 ` Andrea Arcangeli
2003-07-02 17:11 ` Andrea Arcangeli
2003-07-02 17:10 ` Martin J. Bligh
2003-07-02 17:10 ` Martin J. Bligh
2003-07-02 17:47 ` Andrea Arcangeli
2003-07-02 17:47 ` Andrea Arcangeli
2003-07-02 17:52 ` Martin J. Bligh
2003-07-02 17:52 ` Martin J. Bligh
2003-07-02 18:13 ` Andrea Arcangeli
2003-07-02 18:13 ` Andrea Arcangeli
2003-07-02 18:05 ` Rik van Riel
2003-07-02 18:05 ` Rik van Riel
2003-07-02 20:05 ` Martin J. Bligh
2003-07-02 20:05 ` Martin J. Bligh
2003-07-02 21:40 ` William Lee Irwin III
2003-07-02 21:40 ` William Lee Irwin III
2003-07-02 21:48 ` Martin J. Bligh
2003-07-02 21:48 ` Martin J. Bligh
2003-07-02 22:14 ` William Lee Irwin III
2003-07-02 22:14 ` William Lee Irwin III
2003-07-02 22:02 ` Andrea Arcangeli
2003-07-02 22:02 ` Andrea Arcangeli
2003-07-02 22:15 ` William Lee Irwin III
2003-07-02 22:15 ` William Lee Irwin III
2003-07-02 22:26 ` Andrea Arcangeli
2003-07-02 22:26 ` Andrea Arcangeli
2003-07-02 23:11 ` William Lee Irwin III
2003-07-02 23:11 ` William Lee Irwin III
2003-07-02 23:30 ` Andrea Arcangeli
2003-07-02 23:30 ` Andrea Arcangeli
2003-07-02 23:55 ` William Lee Irwin III [this message]
2003-07-02 23:55 ` William Lee Irwin III
2003-07-03 11:31 ` Andrea Arcangeli
2003-07-03 11:31 ` Andrea Arcangeli
2003-07-03 11:46 ` William Lee Irwin III
2003-07-03 11:46 ` William Lee Irwin III
2003-07-03 12:58 ` Andrea Arcangeli
2003-07-03 12:58 ` Andrea Arcangeli
2003-07-03 13:06 ` Rik van Riel
2003-07-03 13:06 ` Rik van Riel
2003-07-03 13:48 ` Andrea Arcangeli
2003-07-03 13:48 ` Andrea Arcangeli
2003-07-03 18:53 ` William Lee Irwin III
2003-07-03 18:53 ` William Lee Irwin III
2003-07-03 19:27 ` Andrea Arcangeli
2003-07-03 19:27 ` Andrea Arcangeli
2003-07-03 19:32 ` Rik van Riel
2003-07-03 19:32 ` Rik van Riel
2003-07-03 20:16 ` William Lee Irwin III
2003-07-03 20:16 ` William Lee Irwin III
2003-07-04 0:40 ` Andrea Arcangeli
2003-07-04 0:40 ` Andrea Arcangeli
2003-07-04 1:46 ` William Lee Irwin III
2003-07-04 1:46 ` William Lee Irwin III
2003-07-04 2:34 ` Andrea Arcangeli
2003-07-04 2:34 ` Andrea Arcangeli
2003-07-04 4:10 ` William Lee Irwin III
2003-07-04 4:10 ` William Lee Irwin III
2003-07-04 5:54 ` Andrea Arcangeli
2003-07-04 5:54 ` Andrea Arcangeli
2003-07-04 8:15 ` William Lee Irwin III
2003-07-04 8:15 ` William Lee Irwin III
2003-07-04 23:44 ` Andrea Arcangeli
2003-07-04 23:44 ` Andrea Arcangeli
2003-07-05 0:05 ` William Lee Irwin III
2003-07-05 0:05 ` William Lee Irwin III
2003-07-05 0:08 ` Andrea Arcangeli
2003-07-05 0:08 ` Andrea Arcangeli
2003-07-03 18:48 ` Jamie Lokier
2003-07-03 18:48 ` Jamie Lokier
2003-07-03 18:54 ` William Lee Irwin III
2003-07-03 18:54 ` William Lee Irwin III
2003-07-03 19:33 ` Andrea Arcangeli
2003-07-03 19:33 ` Andrea Arcangeli
2003-07-03 22:21 ` William Lee Irwin III
2003-07-03 22:21 ` William Lee Irwin III
2003-07-04 0:46 ` Andrea Arcangeli
2003-07-04 0:46 ` Andrea Arcangeli
2003-07-04 1:33 ` Jamie Lokier
2003-07-04 1:33 ` Jamie Lokier
2003-07-04 1:36 ` William Lee Irwin III
2003-07-04 1:36 ` William Lee Irwin III
2003-07-04 6:54 ` Garbage collectors and VM (was Re: What to expect with the 2.6 VM) Zack Weinberg
2003-07-04 12:07 ` Jamie Lokier
2003-07-04 16:13 ` Garbage collectors and VM Zack Weinberg
2003-07-03 19:06 ` What to expect with the 2.6 VM Andrew Morton
2003-07-03 19:06 ` Andrew Morton
2003-07-03 19:34 ` Andrea Arcangeli
2003-07-03 19:34 ` Andrea Arcangeli
2003-07-02 18:07 ` Rik van Riel
2003-07-02 18:07 ` Rik van Riel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030702235540.GK26348@holomorphy.com \
--to=wli@holomorphy.com \
--cc=andrea@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mbligh@aracnet.com \
--cc=mel@csn.ul.ie \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.