From: Daniel Phillips <phillips@bonn-fries.net>
To: Rik van Riel <riel@conectiva.com.br>,
Linus Torvalds <torvalds@transmeta.com>
Cc: <phillips@bonn-fries.net>, <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] Optimization for use-once pages
Date: Tue, 24 Jul 2001 20:14:36 +0200 [thread overview]
Message-ID: <01072420143600.00520@starship> (raw)
In-Reply-To: <Pine.LNX.4.33L.0107241359180.20326-100000@duckman.distro.conectiva>
In-Reply-To: <Pine.LNX.4.33L.0107241359180.20326-100000@duckman.distro.conectiva>
On Tuesday 24 July 2001 19:04, Rik van Riel wrote:
> On Tue, 24 Jul 2001, Linus Torvalds wrote:
> > Hey, this looks _really_ nice. I never liked the special-cases
> > that you removed (drop_behind in particular), and I have to say
> > that the new code looks a lot saner, even without your extensive
> > description and timing analysis.
>
> Fully agreed, drop_behind is an ugly hack. The sooner
> it dies the happier I am ;)
>
> > Please people, test this out extensively - I'd love to integrate
> > it, but while it looks very sane I'd really like to hear of
> > different peoples reactions to it under different loads.
>
> The one thing which has always come up in LRU/k and 2Q
> papers is that the "first reference" can really be a
> series of references in a very short time.
Yes, I thought about that but decided to try to demonstrate the
concept in its simplest form, and if things worked out, go ahead
and try to refine it.
Memory-mapped files have to be handled too. One possible way to
go at it is to do the test not against the current page being
handled by generic_* but against the page already on the head of
the inactive_dirty list, at the time the *next* page is queued.
This introduces a slight delay, time enough for several programmed
IO operations to complete. It will also work for mmap. As a
bonus, the code might even get cleaner because all the use_once
tests are gathered together into a single place.
> Counting only the very first reference will fail if we
> do eg. sequential IO with non-page aligned read() calls,
> which doesn't look like it's too uncommon.
Yep. We should also look at some statistics. So far I've just
used a single number: execution time.
> In order to prevent this from happening, either the system
> counts all first references in a short timespan (complex to
> implement) or it has the new pages on a special - small fixed
> size - page list and all references to the page while on that
> list are ignored.
Yes, those are both possibilities.
--
Daniel
next prev parent reply other threads:[~2001-07-24 18:10 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-07-24 3:47 [RFC] Optimization for use-once pages Daniel Phillips
2001-07-24 12:38 ` jlnance
2001-07-24 16:56 ` Rik van Riel
2001-07-25 0:04 ` Daniel Phillips
2001-07-25 0:43 ` Anton Altaparmakov
2001-07-25 1:30 ` Daniel Phillips
2001-07-25 21:18 ` Steve Lord
2001-07-24 16:48 ` Linus Torvalds
2001-07-24 17:04 ` Rik van Riel
2001-07-24 18:14 ` Daniel Phillips [this message]
2001-07-24 18:15 ` Rik van Riel
2001-07-24 19:41 ` Is /dev/epoll scheduled for official inclusion anytime soon? David E. Weekly
2001-07-24 20:05 ` Rik van Riel
2001-07-24 20:26 ` linux partitioning in IA64 hiufungeric.tse
2001-07-25 9:29 ` Mike A. Harris
2001-07-24 20:24 ` [RFC] Optimization for use-once pages Patrick Dreker
2001-07-24 20:32 ` Rik van Riel
2001-07-24 22:16 ` Patrick Dreker
2001-07-24 22:25 ` Rik van Riel
2001-07-25 0:27 ` Linus Torvalds
2001-07-25 8:20 ` Patrick Dreker
2001-07-25 12:57 ` Martin Devera
2001-07-25 14:16 ` Daniel Phillips
2001-07-24 20:33 ` Linus Torvalds
2001-07-25 1:25 ` Daniel Phillips
2001-07-25 0:18 ` Daniel Phillips
2001-07-24 20:27 ` Marcelo Tosatti
2001-07-24 22:05 ` Rik van Riel
2001-07-24 20:53 ` Marcelo Tosatti
2001-07-24 22:27 ` Rik van Riel
2001-07-24 23:09 ` Daniel Phillips
2001-07-24 19:35 ` Rob Landley
2001-07-25 6:10 ` Marcelo Tosatti
2001-07-25 8:32 ` Eric W. Biederman
2001-07-25 12:53 ` Daniel Phillips
2001-07-25 16:05 ` Eric W. Biederman
2001-07-25 12:57 ` Daniel Phillips
2001-07-25 5:12 ` Andrew Morton
2001-07-25 6:33 ` Marcelo Tosatti
2001-07-30 18:09 ` Marcelo Tosatti
2001-07-24 22:41 ` Daniel Phillips
2001-07-24 22:22 ` Daniel Phillips
2001-07-25 2:31 ` Marcelo Tosatti
[not found] <010301c11463$1ee00440$294b82ce@connecttech.com>
2001-07-24 17:07 ` Rik van Riel
2001-07-24 17:42 ` Stuart MacDonald
2001-07-24 17:51 ` Rik van Riel
2001-07-24 18:09 ` Stuart MacDonald
2001-07-24 18:15 ` Mike Castle
2001-07-24 18:21 ` Rik van Riel
2001-07-24 17:44 ` Mike Castle
2001-07-24 17:52 ` Rik van Riel
[not found] <0107251802300B.00907@starship>
2001-07-25 16:41 ` Rik van Riel
2001-07-25 17:46 ` Daniel Phillips
2001-07-26 8:36 ` Eric W. Biederman
2001-07-26 12:06 ` Daniel Phillips
2001-07-26 10:38 ` Marcelo Tosatti
2001-07-26 12:17 ` Daniel Phillips
-- strict thread matches above, loose matches on Subject: below --
2001-07-26 3:27 Ed Tomlinson
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=01072420143600.00520@starship \
--to=phillips@bonn-fries.net \
--cc=linux-kernel@vger.kernel.org \
--cc=riel@conectiva.com.br \
--cc=torvalds@transmeta.com \
/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.