Re: Streaming disk I/O kills file buffering and makes Linux unusable

Kevin Kunzelman (kkunzelm@yahoo.com)
Mon, 23 Aug 1999 19:53:25 -0700 (PDT)


On Mon, 23 Aug 1999 Dave Mielke wrote:
> On Mon, 23 Aug 1999, Benno Senoner wrote:
> >In this case I don't need raw I/O to get fast
> >response or higher throughput,
> >but only to avoid that the streaming apps do not
> >monopolizes the buffer, which
> >is very bad.
> You probably don't want strict raw I/O, as there
> would be considerable benefit
> in some sort of read-ahead buffering. What you want
> is an open/fcntl attribute
> which would instruct the kernel that you don't
intend
> to do a seek, in which
> case it can free each buffer as soon as it has been
> fully read.

Alternatively, if memory mapped I/O were to be used,
then there is the possibility of using madvise().
I've used madvise() pretty successfully to inform the
kernel of expected I/O access patterns on Solaris. By
using madvise(), you can tell the kernel that you are
doing sequential I/O, so you won't hog the buffer
cache.

Unfortunately, Linux does not currently support
madvise(), though I think FreeBSD does.

I hope that madvise() eventually works its way in to
Linux, too. I certainly could use it.

Kevin
__________________________________________________
Do You Yahoo!?
Bid and sell for free at http://auctions.yahoo.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/