---------- 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