All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.