Subject: Re: POSIX.4 real-time extensions?
To: glen mccready <email@example.com>
From: Thor Lancelot Simon <firstname.lastname@example.org>
Date: 07/06/2001 20:29:54
On Fri, Jul 06, 2001 at 04:08:42PM -0700, glen mccready wrote:
> for anybody interested. i'm not sure this qualifies as the "right" way to
> do aio, but it would certainly help the case of accessing a raw disk... it
> doesn't really touch upon dealing with a filesystem, and it only briefly
> touches upon joining two udp sockets, but makes no mention of tcp. ubc
> also makes this a tougher proposition since the pages just get faulted in
> rather than brought in via bread() or breadn()...
> is that the paper you were thinking of, thor?
Yeah, that's the right paper. I was referring more to the design goals
and interface than the implementation, which appears to be unavailable
anyway (I inquired of Fall at one point about diffs against the Ultrix
source code, which I had available to me at the time, intending to do a
"pseudocode sanitization" like the Ganger softdep document, but got no
Actually, the implementation described by the paper does file-to-file
(within the filesystem), file-to-socket, and socket-to-device (actually,
only framebuffer devices, which is a bit of a lose, but...).
While clearly this doesn't provide the same functionality as SystemV/POSIX
aio, the functionality it *does* provide can solve many of the same problems,
and in a lot of cases more efficiently (by avoiding unnecessary copies into
userspace). It also more elegantly addresses a whole different class of
problem, the "let me get this data onto the network and forget about it" so
much in demand for webservice.
With intelligent I/O adapters like I2O devices, network cards that have
full or partial IP stacks on them and can DMA directly to other PCI devices,
or even the full-blown channels of a mainframe-type architecture, this kind
of interface could avoid a very large amount of work for the CPU.
Thor Lancelot Simon email@example.com
And now he couldn't remember when this passion had flown, leaving him so
foolish and bewildered and astray: can any man?