From: Chuck Lever <cel@monkey.org>
To: linux-sound@vger.kernel.org
Subject: Re: Streaming disk I/O kills file buffering and makes Linux unusable
Date: Mon, 23 Aug 1999 18:39:19 +0000 [thread overview]
Message-ID: <marc-linux-sound-93543647615106@msgid-missing> (raw)
In-Reply-To: <marc-linux-sound-93541443318803@msgid-missing>
On Mon, 23 Aug 1999, Peter Monta wrote:
> > Will future kernels ave an O_DIRECT like flag to avoid caching ?
>
> Stephen Tweedie has written a patch for unbuffered I/O; the URL I have
> from some time ago is
>
> ftp://ftp.linux.org.uk/pub/linux/sct/fs/raw-io
>
> though this host doesn't seem to respond at the moment. I believe
> Stephen has mentioned that this will go into the main tree at some point.
> (Possibly it's already in 2.3.x---I haven't looked recently.)
>
> > I think without some buffer-cache usage limiting, or buffering disabling,
> > Linux is actually UNSUITABLE for streaming applications which do run
> > concurrently with other apps.
>
> I agree; the raw-io system will make this much more pleasant.
seems to me what you really want is an application-specific file system
that is designed to manage streamed data on disks. i've been very
impressed with the Sony MiniDisc file system -- it's a simplified file
system that transparently manages data on MO MiniDiscs.
the name space is flat -- you can have 1 to 255 separate "tracks", and
i've seen this system used for monaural or up to 8 concurrent channels of
recording, on 128M MO disks. i'm no expert, but i'd bet a faster, larger
disk could be used to boost the number of concurrent channels. it's
probably just a matter of how many channels can be multiplexed into a
track's block stream.
a simple TOC-based block-allocation system is used. the TOC is stored in
the disk writer's volatile memory, and written out when the disk is
ejected; this eliminates the extra seeks involved with metadata updates.
new blocks are allocated sequentially from free space at the end of the
disk, or eventually from blocks freed by erasing tracks of previously
recorded material. a text area of about 2K per disk is reserved for
tagging each track with "title" data.
for managing a large disk, one might extend such a file system to handle
more tracks, more blocks, and generate a periodic TOC update that writes
the TOC into special areas allocated across the entire disk to minimize
seek latency.
this kind of system would eliminate the need for indirect blocks or even
extent-based allocation, and keep metadata updates very cheap. it would
also make it easy to combine, divide, and otherwise edit the data in the
tracks.
another example of an application-specific file system was early Dyaxis
gear. the Dyaxis editing suite ran on a Mac II, but used separate disks
and some proprietary form of HFS, i think, to record and edit audio data.
but it might be cool to have a special simplified file system that was
designed specifically to manage time-critical streamed data like
multitrack audio or video.
- Chuck Lever
--
corporate: <chuckl@netscape.com>
personal: <chucklever@netscape.net> or <cel@monkey.org>
The Linux Scalability project:
http://www.citi.umich.edu/projects/linux-scalability/
next prev parent reply other threads:[~1999-08-23 18:39 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-08-23 13:20 Streaming disk I/O kills file buffering and makes Linux unusable Benno Senoner
1999-08-23 17:06 ` Peter Monta
1999-08-23 17:25 ` Linus Torvalds
1999-08-23 17:42 ` Peter Monta
1999-08-23 18:06 ` Benno Senoner
1999-08-23 18:32 ` Alan Cox
1999-08-23 18:39 ` Chuck Lever [this message]
1999-08-23 19:25 ` Andrea Arcangeli
1999-08-23 20:20 ` Benno Senoner
1999-08-23 20:50 ` Benno Senoner
1999-08-23 20:51 ` Benno Senoner
1999-08-23 21:01 ` Andrea Arcangeli
1999-08-24 0:48 ` Dave Mielke
1999-08-24 7:37 ` Gerard Roudier
1999-08-24 7:56 ` Gerard Roudier
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=marc-linux-sound-93543647615106@msgid-missing \
--to=cel@monkey.org \
--cc=linux-sound@vger.kernel.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