From: "Zack Weinberg" <zack@codesourcery.com>
To: linux-kernel@vger.kernel.org
Subject: Garbage collectors and VM (was Re: What to expect with the 2.6 VM)
Date: Thu, 03 Jul 2003 23:54:50 -0700 [thread overview]
Message-ID: <87u1a2srwl.fsf@egil.codesourcery.com> (raw)
In-Reply-To: <20030703184825.GA17090@mail.jlokier.co.uk>
> No, but there was a meek request to get writable/read-only protection
> working with remap_file_pages, so that a garbage collector can change
> protection on individual pages without requiring O(nr_pages) vmas.
> Perhaps that should have nothing to do with remap_file_pages, though.
I have an old design for this lying around from early 2.4 days. I
never got anywhere with it, but maybe it's of interest... My tests,
back then, indicated that fully half the overhead of write-barrier
handling was in signal delivery. So I wanted to avoid that, as well
as having to split vmas endlessly. I also didn't want to add new
syscalls if it could be avoided. Thus, a new pseudo-device, with the
semantics:
* mmapping it creates anonymous pages, just like /dev/zero.
* Data written to the file descriptor is interpreted as a list of
user-space pointers to pages. All the pages pointed to, that
are anonymous pages created by mmapping that same descriptor,
become read-only.
* But when the program takes a write fault to such a page, the
kernel simply records the user-space address of that page,
resets it to read-write, and restarts the faulting instruction.
The user space process doesn't get a signal.
* Reading from the descriptor produces a list of user-space pointers
to all the pages that have been reset to read-write since the last
read.
* I never decided what to do if the program forks. The application I
personally care about doesn't do that, but for a general GC like
Boehm it matters.
Thoughts?
Please cc: me, I'm not subscribed to l-k.
zw
next prev parent reply other threads:[~2003-07-04 6:40 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
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 ` Zack Weinberg [this message]
2003-07-04 12:07 ` Garbage collectors and VM (was Re: What to expect with the 2.6 VM) 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=87u1a2srwl.fsf@egil.codesourcery.com \
--to=zack@codesourcery.com \
--cc=linux-kernel@vger.kernel.org \
/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.