[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [question] virtio-blk performance degradation happened
From: |
Zhang Haoyu |
Subject: |
Re: [Qemu-devel] [question] virtio-blk performance degradation happened with virito-serial |
Date: |
Tue, 16 Sep 2014 22:59:49 +0800 |
User-agent: |
Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 |
>>>>>> If virtio-blk and virtio-serial share an IRQ, the guest operating
system has to check each virtqueue for activity. Maybe there is some
inefficiency doing that.
>>>>>> AFAIK virtio-serial registers 64 virtqueues (on 31 ports +
console) even if everything is unused.
>>>>>
>>>>> That could be the case if MSI is disabled.
>>>>
>>>> Do the windows virtio drivers enable MSIs, in their inf file?
>>>
>>> It depends on the version of the drivers, but it is a reasonable guess
>>> at what differs between Linux and Windows. Haoyu, can you give us the
>>> output of lspci from a Linux guest?
>>>
>> I made a test with fio on rhel-6.5 guest, the same degradation
happened too, this degradation can be reproduced on rhel6.5 guest 100%.
>> virtio_console module installed:
>> 64K-write-sequence: 285 MBPS, 4380 IOPS
>> virtio_console module uninstalled:
>> 64K-write-sequence: 370 MBPS, 5670 IOPS
>>
>I use top -d 1 -H -p <qemu-pid> to monitor the cpu usage, and found that,
>virtio_console module installed:
>qemu main thread cpu usage: 98%
>virtio_console module uninstalled:
>qemu main thread cpu usage: 60%
>
I found that the statement "err =
register_virtio_driver(&virtio_console);" in virtio_console module's
init() function will
cause the degradation, if I directly return before "err =
register_virtio_driver(&virtio_console);", then the degradation disappeared,
if directly return after "err =
register_virtio_driver(&virtio_console);", the degradation is still there.
I will try below test case,
1. Dose not emulate virito-serial deivce, then install/uninstall
virtio_console driver in guest,
to see whether there is difference in virtio-blk performance and cpu usage.
2. Does not emulate virito-serial deivce, then install virtio_balloon
driver (and also dose not emulate virtio-balloon device),
to see whether virtio-blk performance degradation will happen.
3. Emulating virtio-balloon device instead of virtio-serial deivce ,
then to see whether the virtio-blk performance is hampered.
Base on the test result, corresponding analysis will be performed.
Any ideas?
Thanks,
Zhang Haoyu
- Re: [Qemu-devel] [question] virtio-blk performance degradationhappened with virito-serial, (continued)
- Re: [Qemu-devel] [question] virtio-blk performance degradationhappenedwith virito-serial, Zhang Haoyu, 2014/09/04
- Re: [Qemu-devel] [question] virtio-blk performance degradationhappenedwith virito-serial, Zhang Haoyu, 2014/09/07
- Re: [Qemu-devel] [question] virtio-blk performance degradationhappenedwith virito-serial, Amit Shah, 2014/09/11
- Re: [Qemu-devel] [question] virtio-blk performance degradation happened with virito-serial, Zhang Haoyu, 2014/09/11
- Re: [Qemu-devel] [question] virtio-blk performance degradation happened with virito-serial, Stefan Hajnoczi, 2014/09/12
- Re: [Qemu-devel] [question] virtio-blk performance degradation happened with virito-serial, Max Reitz, 2014/09/13
- Re: [Qemu-devel] [question] virtio-blk performance degradation happened with virito-serial,
Zhang Haoyu <=
Re: [Qemu-devel] [question] virtio-blk performance degradationhappened with virito-serial, Amit Shah, 2014/09/02
Re: [Qemu-devel] [question] virtio-blk performancedegradationhappened with virito-serial, Zhang Haoyu, 2014/09/03
Re: [Qemu-devel] [question] virtio-blk performance degradationhappened with virito-serial, Fam Zheng, 2014/09/19
Re: [Qemu-devel] [question] virtio-blk performance degradationhappened with virito-serial, Paolo Bonzini, 2014/09/19
Re: [Qemu-devel] [question] virtio-blk performancedegradationhappened with virito-serial, Zhang Haoyu, 2014/09/22
Re: [Qemu-devel] [question] virtio-blk performancedegradationhappened with virito-serial, Fam Zheng, 2014/09/22