From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60660) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XOhi0-00089V-FF for qemu-devel@nongnu.org; Tue, 02 Sep 2014 02:36:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XOhhu-0005Vf-AP for qemu-devel@nongnu.org; Tue, 02 Sep 2014 02:36:52 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51276) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XOhhu-0005Vb-14 for qemu-devel@nongnu.org; Tue, 02 Sep 2014 02:36:46 -0400 Date: Tue, 2 Sep 2014 12:06:37 +0530 From: Amit Shah Message-ID: <20140902063637.GG14171@grmbl.mre> References: <201408291545282753855@sangfor.com> <20140829143849.GA8909@grmbl.mre> <201409012038178763909@sangfor.com> <201409012052442706397@sangfor.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201409012052442706397@sangfor.com> Subject: Re: [Qemu-devel] [question] virtio-blk performance degradationhappened with virito-serial List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Zhang Haoyu Cc: qemu-devel , kvm On (Mon) 01 Sep 2014 [20:52:46], Zhang Haoyu wrote: > >>> Hi, all > >>> > >>> I start a VM with virtio-serial (default ports number: 31), and found that virtio-blk performance degradation happened, about 25%, this problem can be reproduced 100%. > >>> without virtio-serial: > >>> 4k-read-random 1186 IOPS > >>> with virtio-serial: > >>> 4k-read-random 871 IOPS > >>> > >>> but if use max_ports=2 option to limit the max number of virio-serial ports, then the IO performance degradation is not so serious, about 5%. > >>> > >>> And, ide performance degradation does not happen with virtio-serial. > >> > >>Pretty sure it's related to MSI vectors in use. It's possible that > >>the virtio-serial device takes up all the avl vectors in the guests, > >>leaving old-style irqs for the virtio-blk device. > >> > >I don't think so, > >I use iometer to test 64k-read(or write)-sequence case, if I disable the virtio-serial dynamically via device manager->virtio-serial => disable, > >then the performance get promotion about 25% immediately, then I re-enable the virtio-serial via device manager->virtio-serial => enable, > >the performance got back again, very obvious. > add comments: > Although the virtio-serial is enabled, I don't use it at all, the degradation still happened. Using the vectors= option as mentioned below, you can restrict the number of MSI vectors the virtio-serial device gets. You can then confirm whether it's MSI that's related to these issues. > >So, I think it has no business with legacy interrupt mode, right? > > > >I am going to observe the difference of perf top data on qemu and perf kvm stat data when disable/enable virtio-serial in guest, > >and the difference of perf top data on guest when disable/enable virtio-serial in guest, > >any ideas? > > > >Thanks, > >Zhang Haoyu > >>If you restrict the number of vectors the virtio-serial device gets > >>(using the -device virtio-serial-pci,vectors= param), does that make > >>things better for you? Amit