linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Helge Hafting <helgehaf@aitel.hist.no>
To: Mike Fedyk <mfedyk@matchmail.com>
Cc: linux-kernel@vger.kernel.org, pochini@shiny.it,
	Robert Love <rml@tech9.net>, Mark Mielke <mark@mark.mielke.cc>,
	Jamie Lokier <lk@tantalophile.demon.co.uk>,
	andersen@codepoet.org
Subject: Re: [PATCH] O_STREAMING - flag for optimal streaming I/O
Date: Fri, 11 Oct 2002 10:32:47 +0200	[thread overview]
Message-ID: <3DA68CAF.8F4EC88C@aitel.hist.no> (raw)
In-Reply-To: 20021010225050.GC2673@matchmail.com

Mike Fedyk wrote:
> 
> On Thu, Oct 10, 2002 at 03:39:19PM +0200, Giuliano Pochini wrote:
[...]
> > When a process opens a file with O_STREAMING, it tells the kernel
> > it will use the data only once, but it tells nothing about other
> > tasks. If that process reads something which is already cached,
> > then it must not drop it because someone other used it recently
> > and IMHO pagecache only should be allowed to drop it.
> >
> 
> You are missing the point.  If the app thinks that might happen, it
> shouldn't use O_STREAMING.

The app _can't_ know, so nothing should use O_STREAMING?

I think the idea seems good - if a page requested for streaming
happens to be in cache already, don't mark it for early eviction.

This approach ensures that streaming apps don't affect the caches
of other apps at all.  There are way too many cases where
streaming is useful but we don't know if others might be using
the pages - perhaps in other ways.

Consider searching _all_ files on disk for some string.  Clearly
a cache-killer that would benefit from streaming, without
streaming this pushes everything else from cache except
for the last files searched.
But streaming that unconditionally marks pages for eviction
will also kill all cache in this case.  Both data and binaries.

Streaming that only evicts pages it _brought in_ can 
search the entire disk (or some reasonable but large subset)
leaving almost all other cache intact.

Now, if we could make updatedb use this kind of streaming
for its directory traversals... :-)

Helge Hafting

  parent reply	other threads:[~2002-10-11  8:26 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-08  2:38 [PATCH] O_STREAMING - flag for optimal streaming I/O Robert Love
2002-10-08 10:42 ` J.A. Magallon
2002-10-08 18:08   ` Robert Love
2002-10-08 18:38 ` Chris Wedgwood
2002-10-08 18:49   ` Robert Love
2002-10-08 19:05     ` Chris Wedgwood
2002-10-08 19:17       ` Robert Love
2002-10-08 19:30         ` Andrew Morton
2002-10-09 14:14           ` Marco Colombo
2002-10-09 16:30           ` kernel
2002-10-08 19:52         ` Chris Wedgwood
2002-10-08 19:59           ` Robert Love
2002-10-08 20:01             ` Chris Wedgwood
2002-10-09  8:33         ` Giuliano Pochini
2002-10-09  8:43           ` Andrew Morton
2002-10-09 10:55             ` Giuliano Pochini
2002-10-09 17:05           ` Mark Mielke
2002-10-09 19:36             ` Giuliano Pochini
2002-10-09 22:24               ` Mark Mielke
2002-10-09 23:20                 ` Jamie Lokier
2002-10-10  3:07                   ` Mark Mielke
2002-10-10 10:55                     ` Helge Hafting
2002-10-10 17:50                       ` Mark Mielke
2002-10-10  3:29                   ` Erik Andersen
2002-10-10  3:37                     ` Robert Love
2002-10-10 13:39                       ` Giuliano Pochini
2002-10-10 22:50                         ` Mike Fedyk
2002-10-10 22:58                           ` Erik Andersen
2002-10-11  8:26                           ` Giuliano Pochini
2002-10-11  8:32                           ` Helge Hafting [this message]
2002-10-10  8:33                     ` Giuliano Pochini
2002-10-10  9:10                       ` Erik Andersen
2002-10-10  9:38                         ` Giuliano Pochini
2002-10-10 10:40                           ` Miquel van Smoorenburg
2002-10-10 11:01                           ` Helge Hafting
2002-10-10 12:29                             ` Xavier Bestel
2002-10-10 13:17                             ` Giuliano Pochini
2002-10-10 22:44                               ` Mike Fedyk
2002-10-11  8:13                                 ` Giuliano Pochini
2002-10-10 11:38                     ` O_STREAMING has insufficient info - how about fadvise() ? Alan Cox
2002-10-10 11:47                       ` William Lee Irwin III
2002-10-10 15:34                       ` Andrew Morton
2002-10-10 16:08                         ` Alan Cox
2002-10-10 16:49                         ` Oliver Xymoron
2002-10-10 15:37                     ` [PATCH] O_STREAMING - flag for optimal streaming I/O Gerhard Mack
2002-10-10 22:47                       ` Mike Fedyk
2002-10-11  2:14                         ` Gerhard Mack
2002-10-11  8:10                           ` Chris Wedgwood
2002-10-10  9:14                 ` David Lang
2002-10-10 14:51               ` Denis Vlasenko
2002-10-08 19:53       ` Matthias Schniedermeyer
2002-10-08 19:59         ` Chris Wedgwood
2002-10-08 20:03         ` Andrew Morton
2002-10-08 20:34           ` Matthias Schniedermeyer
2002-10-08 20:42             ` Andrew Morton
2002-10-08 20:37           ` Larry McVoy
2002-10-09 11:53 ` Roy Sigurd Karlsbakk
2002-10-09 14:10 ` Marco Colombo
2002-10-09 14:14   ` Robert Love
2002-10-09 14:33     ` Richard B. Johnson
2002-10-09 15:27     ` Andreas Dilger
2002-10-09 23:17       ` Jamie Lokier
2002-10-09 23:46       ` Rik van Riel
2002-10-10  0:16         ` Jamie Lokier
2002-10-10  2:39           ` Erik Andersen
2002-10-10 10:33         ` Marco Colombo
2002-10-10 20:00           ` Erik Andersen
2002-10-11  4:16 Hank Leininger

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=3DA68CAF.8F4EC88C@aitel.hist.no \
    --to=helgehaf@aitel.hist.no \
    --cc=andersen@codepoet.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lk@tantalophile.demon.co.uk \
    --cc=mark@mark.mielke.cc \
    --cc=mfedyk@matchmail.com \
    --cc=pochini@shiny.it \
    --cc=rml@tech9.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).