On 08/31/2011 12:59 PM, Jeremy Allison wrote: > I get that, but isn't that what the aio_init(const struct aioinit *init) call is meant to > solve ? The problem cannot be solved by something that trivial. Any thread can be delayed indefinitely. If this happens for a file descriptor chances are that all threads for the same file descriptor are affected while there is I/O for all the other file descriptors ready to run. I don't say this is anywhere near optimal or even good, at least it doesn't amplify problems. If you know you want more parallelism on the same file descriptor, dup it. If you don't want anyone like me implementing stupid limitations finally fix the kernel aio interface so that it is usable.