On Thu, Jun 15, 2000, Henrik Nordstrom wrote:
> We are not actually struggling with AIO, we have or own AIO like
> implementation on top of POSIX kernel threads.
>
> AIO does not have the functionality we need. The major drawback is that
> there is no open/close AIO calls. The completeion feedback is only a
> minor issue.
Clearing this up a little - Ive already built a squid using POSIX AIO for
the disk code. The non-async open/close calls did hurt, and with many pending
requests aio_suspend() also hurt (I could counter here saying that you
could only ever have one pending request per disk..). POSIX AIO would work
neatly for a raw disk squid filesystem, and I'm tempted to shoehorn some
AIO code into COSS using the POSIX code for this very reason.
The main sticking point for AIO in squid is that I want to do it right.
And 'right' is more than just having the disk calls outside the main
program loop - it is minimising memory copies, scheduling IO events
intelligently and transfering large blocks to say the least. That is on
my todo list, and will be part of the storage manager rework when the
squid rewrite starts to take form.
Thanks,
Adrian
-- Adrian Chadd Build a man a fire, and he's warm for the <adrian@creative.net.au> rest of the evening. Set a man on fire and he's warm for the rest of his life.Received on Thu Jun 15 2000 - 15:46:34 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:30 MST