---------- Forwarded message ----------
From: Zach Brown <zach.br...@oracle.com>
Date: Tue, Nov 25, 2008 at 5:57 AM
Subject: Re: kvm aio wishlist

> Currently Linux aio falls short of our requirements.

Thanks for the list.  I guess I can share my perspective.

First, I think the existing sys_io_*() iocb interface is a dead end.  I
don't want to add features to it.  We may improve its implementation
over time with better backing infrastructure, but I don't think we
should spend energy on its API.

One of the mistakes it made was duplicating the system call interface.
The iocb has fields that are a union of system call arguments.  My
perspective is that the async submission and completion infrastructure
should not know a thing about the actual call that is being performed.

That gets us out of the business of thinking that "AIO" has to implement
various features.  It shouldn't, it should let the user perform system
calls asynchronously.  If you have a sync syscall that can manage fua,
barriers, zero copy socket io, etc, then you have async syscalls that
can do the same.

Sure, we might have to get the interface right so we can get batching
and ordering right for users who care.

Anyway, this leads me to some infrastructure that I'm working on:

 http://oss.oracle.com/~zab/acall/

I'm trying to avoid being distracted by the featuritis which has plagued
us in the past: syslets, kevent, etc.  I want to see just how stupid we
can make it while still making it useful.

I'd be *thrilled* if you guys could throw this under kvm and see how it
goes.  It's still very rough, of course, but that can get a lot better
quickly ;).

- z


-- 
Regards,
Peter Teoh

Reply via email to