On Tue, Jul 19, 2016 at 1:47 PM, Paolo Bonzini <pbonz...@redhat.com> wrote: > > > On 19/07/2016 13:44, Roman Penyaev wrote: >>>> >> >>>> >> Can this leave I/O stuck if in_queue > 0 && in_flight == 0 after the >>>> >> return from qemu_laio_process_completions? I think you need to goto the >>>> >> beginning of the function to submit more I/O requests in that case. >> Not quite. I still leave '&s->e' as set, so we will return in a generic >> qemu_laio_completion_cb(), will do 'event_notifier_test_and_clear(&s->e)' >> and again will process events with normal submission. >> >> IMHO this is better variant than spinning inside ioq_submit doing goto. >> We do not occupy the whole events processing for our IO needs and give >> a chance to complete other stuff. But of course this is guts feeling >> and I do not have any serious numbers. > > That's fine as long as it doesn't hang. :)
Yeah, but of course would be nice to have it also as fast as possible. I would say "not to hang as fast as possible" :) I will write the big comment there why we leave everything as-is and do not touch the eventfd. Seems should be fine. Will send shortly. -- Roman