On 01/12/2016 05:07, Bob Chen wrote: > Test case: > > 1. QEMU 1.1.2 > 2. Run fio inside the vm, give it some pressure. Watch the realtime > throughput > 3. block_set_io_throttle drive_2 100000000 0 0 2000 0 0 # > throttle bps and iops, any value > 4. Observed that the IO is very likely to freeze to zero. The fio > process stuck! > 5. Kill the former fio process, start a new one. The IO turns back to normal > > Didn't reproduce it with QEMU 2.5. > > > Actually I'm not wishfully thinking the community would help fix this > bug on such an ancient version. Just hope someone can tell me what is > the root cause. Then I have to evaluate whether I should move to higher > version QEMU, or fix this bug on 1.1.2 in-place(if it is a small one).
Hi, throttling has been rewritten in QEMU 2.0 (see the commits around 5ddfffb, "throttle: Add a new throttling API implementing continuous leaky bucket.", 2013-09-06), so the root cause is simply that the old algorithms were buggy. :) I think that the new implementation has been backported to QEMU versions as old as 1.1.2, but if you can move to a newer version it would be simpler. Paolo