Re: [PATCH] O_STREAMING - flag for optimal streaming I/O

From: Chris Wedgwood (
Date: Tue Oct 08 2002 - 14:05:13 EST

Playing the devil's advocate here... I didn't see this earlier (when
was it discussed, I can't see it looking back either), so sorry if
this sounds circular or I'm going over stuff that has been discussed
before... but...

On Tue, Oct 08, 2002 at 02:49:09PM -0400, Robert Love wrote:

> In other words, this flag pretty much disables the pagecache for
> this mapping, although we happily keep it around for write-behind
> and read-ahead. But once the data is behind us and safe to kill, we
> do. It is manual drop-behind.

OK. What might use this though? What applications might want to
disable the page-cache but still use write-behind?

> O_DIRECT has a lot of semantics, one of which is to attempt to
> minimize cache effects.

It depends on the OS. Some OS are broken and treat O_DIRECT as a
hint, Linux and IRIX know it's a *requirement*.

> O_STREAMING would be for your TiVo or network audio streamer. Any
> file I/O that is inherently sequential and access-once. No point
> trashing the pagecache with its data - but otherwise the behavior is
> normal.

Actually, this sounds perfect for O_DIRECT. But I don't know much
about streaming video.

Since you only want the data once, why use the page-cache at all and
needlessly copy? Certainly, the requirements for O_DIRECT are not
that hard to meet or implement.

Don't get me wrong, I'm not saying this is a bad thing at all. The
patch is small and elegant so it's hard to object; I'm just trying to
understand where in practice I would use this over O_DIRECT.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Tue Oct 15 2002 - 22:00:26 EST