Messages in this thread | | | Date | Sat, 16 Oct 2004 07:18:45 +0200 | From | Avi Kivity <> | Subject | Re: [PATCH 1/2] aio: add vectored I/O support |
| |
Joel Becker wrote:
>On Thu, Oct 14, 2004 at 01:10:01PM -0700, Yasushi Saito wrote: > > >>This is a patch against 2.6.9-rc3-mm3 that add supports for vectored >>async I/O. It adds two additional commands, IO_CMD_PREADV and >>IO_CMD_PWRITEV to libaio.h. The below is roughly what I did: >> >> > > How does this differ substantially from lio_listio() of each I/O >range? Does it have some significant performance win, or is it just >aiming for a completeness that POSIX doesn't (to my knowledge) specify? > > > It is a huge performance win, at least on the 2.4-based RHEL kernel. Large reads (~256K) using 4K iocbs are very slow on a large RAID, while after I coded a similar patch I got a substantial speedup.
I don't know the cause for the slowdown; maybe request merging only works for queued requests, and as the RAID has a large TCQ depth, requests didn't have much of a chance to queue in the kernel.
-- Do not meddle in the internals of kernels, for they are subtle and quick to panic.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |