Am 13.07.2016 um 13:33 hat Roman Penyaev geschrieben: > Just to be sure that we are on the same page: > > 1. We have this commit "linux-aio: Cancel BH if not needed" which > > a) introduces performance regression on my fio workloads on the > following config: "iothread=1, VCPU=8, MQ=8". Performance > dropped from 1878MB/s to 1606MB/s with Stefan's fix, that is > ~14%.
Do we already understand why the performance regresses with the patch? As long as we don't, everything we do is just guesswork. Kevin > b) reproduces IO hang, because of in-flights > MAX_EVENTS. > > So probably this commit should be reverted because of a) not b). > > 2. Stefan has fix for 1.b) issue repeating io_getevents(), which > is obviously an excess for generic cases where MQ=1 (queue depth > for virtio_blk is also set to 128 i.e. equal to MAX_EVENTS on > QEMU side). > > 3. The current patch also aims to fix 1.b) issue restricting number > of in-flights. > > > Reverting 1. will fix all the problems, without any need to apply > 2. or 3. The most lazy variant. > > Restricting in-flights is also a step forward, since submitting > till -EAGAIN is also possible, but leads (as we already know) to > IO hang on specific loads and conditions. > > But 2. and 3. are mutual exclusive and should not be applied > together. > > So we have several alternatives and a choice what to follow. > > -- > Roman