From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Hajnoczi Subject: Re: Using block device instead of character device for virtio-serial Date: Fri, 14 Feb 2014 11:35:16 +0100 Message-ID: <20140214103516.GF12053@stefanha-thinkpad.redhat.com> References: <20140209091224.GB24892@stefanha-thinkpad.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: kvm@vger.kernel.org To: Jobin Raju George Return-path: Received: from mail-we0-f182.google.com ([74.125.82.182]:58821 "EHLO mail-we0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751533AbaBNKfT (ORCPT ); Fri, 14 Feb 2014 05:35:19 -0500 Received: by mail-we0-f182.google.com with SMTP id u57so8709242wes.13 for ; Fri, 14 Feb 2014 02:35:18 -0800 (PST) Content-Disposition: inline In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On Sun, Feb 09, 2014 at 11:39:19PM +0530, Jobin Raju George wrote: > On Sun, Feb 9, 2014 at 2:42 PM, Stefan Hajnoczi wrote: > > > On Thu, Feb 06, 2014 at 12:22:36PM +0530, Jobin Raju George wrote: > > > I am trying to establish a communication mechanism between the guest > > > and its host using virtio-serial. For this I am using the following to > > > boot the VM: > > > > > > qemu-system-x86_64 -m 1024 \ > > > -name ubuntu_vm \ > > > -hda ubuntu \ > > > -device virtio-serial \ > > > -chardev socket,path=/tmp/virt_socket,server,nowait,id=virt_socket \ > > > -device virtconsole,name=v_soc,chardev=virt_socket,name=ubuntu_vm_soc > > > > > > This creates a character device on the guest machine and a UNIX socket > > > on the host machine. > > > > > > 1) Is there a way I can create sockets on the host as well as the guest? > > > > The syntax is documented on the QEMU man page. Try: > > > > -chardev socket,port=1234,server,nowait,id=virt_socket > > > > I did not try this out, but would this create a "socket" instead of a > character device(/dev/hvc0) on the guest? Things should be unchanged inside the guest. This just creates a TCP socket on the host. > > > > > 2) Is there a way I can create a block device for communication? > > > > > > I required a block device since the data that is to be transferred is > > > huge and the frequency of the data transfer is quite high. > > > > Have you benchmarked virtio-serial or is this just a guess? > > > > I have not benchmarked virtio-serial but it seems to be intuitive that a > block device would perform data transfer at a faster rate than a character > device. I may be wrong, would be happy to be corrected. And yes, I would > like to know how can I benchmark virtio-serial using a character device vs > a TCP/IP socket data transfer vs virtio-serial using a block device. Write a program that transfers data and measures the speed :-).