Avi Kivity
Avi Kivity
You can rebase to clear the CI failures.
It's a little "special" but I don't have a better (more generic) idea.
Please configure your circleci stuff so it runs the checks.
@amnonh please review
Looks good.
Do we know why we get EAGAIN?
There's no kernel queue involved. aio allocates enough resources to run all iocbs that were declared in io_setup().
There really shouldn't be. They're local to the io context.
Here we handle EAGAIN on the iocb itself, not EAGAIN from io_submit(). The io context size should be sized exactly right. Maybe there is an off-by-one somewhere. The kmem_cache_alloc() call...
Hum. So there's an off-by-a-factor-of-three-plus-one here. Maybe it's trying to solve the Collatz conjecture. Doesn't it mean we should allocate more iocbs (or promise to support fewer sockets)? Waiting won't...