This patch series adds a kernel interface to fs/aio.c so that kernel code can issue concurrent asynchronous IO to file systems. It adds an aio command and file system methods which specify io memory with pages instead of userspace addresses. This series was written to reduce the current overhead loop imposes by performing synchronus buffered file system IO from a kernel thread. These patches turn loop into a light weight layer that translates bios into iocbs. knfsd might also want to use these interfaces to perform file IO. Initial results are encouraging. Before loop over a block device would cut random concurrent read performance in half. With this series reading from loop performs the same as reading from the underlying device. But the series is still a prototype. Only blockdev has the methods implemented and only for O_DIRECT. It'll take more work to get pages passed in to file system methods, through generic code, and down to fs/direct-io.c. I'm sending this now so that we can decide if we want to pursue this and the direction it should head in before I get too lost updating file systems to know how to work with pages. Thoughts? I think my current preference is to follow the current strategy of adding a new file op method instead of trying to get fancy by changing the types of existing methods to take some abstract memory specifier. We'll see if it's feasible to rework the generic code around iovecs and pages by converting a few file systems. - z -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html