Jeff, Blaisor, you're exactly right. Linux aio uses io_submit, not aio_read, it seems. aio_read calls clone to make a new thread to do its "aio". Thank you all for your help. Allan Jeff Dike wrote: >>Tracing the aio_read() through the UML kernel finally gets me here: >> >>#0 sys_pread64 (fd=3, buf=0xbf7c8f20 "", count=1024, pos=0) >> at fs/read_write.c:354 >>#1 0x08062ff8 in execute_syscall_skas (r=0x12374864) >> at arch/um/kernel/skas/syscall_kern.c:29 >> >> > >Finally? That's the very beginning of the system call (or the very end). > >The UML block device doesn't know about AIO. All it does is get blocks from >a disk. > >Are you sure you're getting kernel AIO and not the libc emulation of it? > > Jeff > >