From: Hans Reiser <reiser@namesys.com>
To: Davide Libenzi <davidel@xmailserver.org>
Cc: Xuan Baldauf <xuan--lkml@baldauf.org>,
linux-kernel@vger.kernel.org,
Reiserfs List <reiserfs-list@namesys.com>
Subject: Re: Heuristic readahead for filesystems
Date: Wed, 11 Sep 2002 21:16:16 +0400 [thread overview]
Message-ID: <3D7F7A60.6040504@namesys.com> (raw)
In-Reply-To: Pine.LNX.4.44.0209110929390.1576-100000@blue1.dev.mcafeelabs.com
Davide Libenzi wrote:
>On Wed, 11 Sep 2002, Xuan Baldauf wrote:
>
>
>
>>Hello,
>>
>>I wonder wether Linux implements a kind of heuristic
>>readahead for filesystems:
>>
>>If an application reads a directory with getdents() and if
>>in the past, it stat()ed a significant part of the directory
>>entries, it is likely that it will stat() every entry of
>>every directory it reads with getdents() in the future. Thus
>>readahead for the stat data could improve the perfomance,
>>especially if the stat data is located closely to each other
>>on disk.
>>
Nikita should comment on this.
>>
>>If an application did a stat()..open()..read() sequence on a
>>file, it is likely that, after the next stat(), it will open
>>and read the mentioned file. Thus, one could readahead the
>>start of a file on stat() of that file.
>>
>>Combined: If an application walks a directory tree and
>>visits each file, it is likely that it will continue up to
>>the end of that tree.
>>
>>
>
>M$ Win XP does exactly something like this and keep applications
>( windows\prefetch ) and boot profiles that it uses to prefetch disk data
>and avoid long page fault latencies. It does kind-of-work but care should
>be taken adopting a similar technique on Linux ( patents ).
>
>
>
>- Davide
>
>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>
>
>
>
There was a Usenix paper on profiling based prefetching, does it predate
the MS patents?
Rik, the more reads you put into the elevator, the more efficiently it
can sort the reads, so even if latency reduction is not important,
prefetching can still help (in principle).
Hans
next prev parent reply other threads:[~2002-09-11 17:11 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-11 15:42 Heuristic readahead for filesystems Xuan Baldauf
2002-09-11 16:33 ` Davide Libenzi
2002-09-11 17:03 ` jdow
2002-09-11 17:20 ` Davide Libenzi
2002-09-11 17:51 ` jdow
2002-09-11 17:16 ` Hans Reiser [this message]
2002-09-11 16:42 ` Rik van Riel
2002-09-11 17:20 ` Oliver Neukum
2002-09-11 17:56 ` Xuan Baldauf
2002-09-11 18:30 ` Oliver Neukum
2002-09-11 18:43 ` Xuan Baldauf
2002-09-11 19:04 ` Oliver Neukum
2002-09-11 19:21 ` Richard B. Johnson
2002-09-12 0:45 ` jw schultz
2002-09-12 1:58 ` Andrew Morton
2002-09-12 11:41 ` Richard B. Johnson
2002-09-12 13:35 ` jw schultz
2002-09-12 21:33 ` jdow
2002-09-16 12:52 ` Richard B. Johnson
2002-09-17 1:45 ` jdow
2002-09-17 10:37 ` jbradford
2002-09-17 5:19 ` jdow
2002-09-12 12:41 ` Jesse Pollard
2002-09-11 19:03 ` Tomas Szepe
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=3D7F7A60.6040504@namesys.com \
--to=reiser@namesys.com \
--cc=davidel@xmailserver.org \
--cc=linux-kernel@vger.kernel.org \
--cc=reiserfs-list@namesys.com \
--cc=xuan--lkml@baldauf.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox