* Using block device instead of character device for virtio-serial
@ 2014-02-06 6:52 Jobin Raju George
2014-02-09 9:12 ` Stefan Hajnoczi
0 siblings, 1 reply; 6+ messages in thread
From: Jobin Raju George @ 2014-02-06 6:52 UTC (permalink / raw)
To: kvm
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?
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.
Thanks in advance!
--
Thanks and regards,
Jobin Raju George
Final Year, Information Technology
College of Engineering Pune
Alternate e-mail: georgejr10.it@coep.ac.in
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Using block device instead of character device for virtio-serial
2014-02-06 6:52 Using block device instead of character device for virtio-serial Jobin Raju George
@ 2014-02-09 9:12 ` Stefan Hajnoczi
[not found] ` <CA+aVsWrLj4w_X2nZvJgRz9w-y4UG90g1L-shLZ1jOfjiJLPypA@mail.gmail.com>
0 siblings, 1 reply; 6+ messages in thread
From: Stefan Hajnoczi @ 2014-02-09 9:12 UTC (permalink / raw)
To: Jobin Raju George; +Cc: kvm
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
> 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?
Stefan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Fwd: Using block device instead of character device for virtio-serial
[not found] ` <CA+aVsWrLj4w_X2nZvJgRz9w-y4UG90g1L-shLZ1jOfjiJLPypA@mail.gmail.com>
@ 2014-02-09 18:12 ` Jobin Raju George
2014-02-14 10:35 ` Stefan Hajnoczi
1 sibling, 0 replies; 6+ messages in thread
From: Jobin Raju George @ 2014-02-09 18:12 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: kvm
---------- Forwarded message ----------
From: Jobin Raju George <jobin.rv@gmail.com>
Date: Sun, Feb 9, 2014 at 11:39 PM
Subject: Re: Using block device instead of character device for virtio-serial
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: kvm@vger.kernel.org
On Sun, Feb 9, 2014 at 2:42 PM, Stefan Hajnoczi <stefanha@gmail.com> 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?
>
>
> > 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.
>
>
> Stefan
--
Thanks and regards,
Jobin Raju George
Final Year, Information Technology
College of Engineering Pune
Alternate e-mail: georgejr10.it@coep.ac.in
--
Thanks and regards,
Jobin Raju George
Final Year, Information Technology
College of Engineering Pune
Alternate e-mail: georgejr10.it@coep.ac.in
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Using block device instead of character device for virtio-serial
[not found] ` <CA+aVsWrLj4w_X2nZvJgRz9w-y4UG90g1L-shLZ1jOfjiJLPypA@mail.gmail.com>
2014-02-09 18:12 ` Fwd: " Jobin Raju George
@ 2014-02-14 10:35 ` Stefan Hajnoczi
2014-02-15 5:00 ` Jobin Raju George
1 sibling, 1 reply; 6+ messages in thread
From: Stefan Hajnoczi @ 2014-02-14 10:35 UTC (permalink / raw)
To: Jobin Raju George; +Cc: kvm
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 <stefanha@gmail.com> 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 :-).
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Using block device instead of character device for virtio-serial
2014-02-14 10:35 ` Stefan Hajnoczi
@ 2014-02-15 5:00 ` Jobin Raju George
2014-02-17 8:25 ` Stefan Hajnoczi
0 siblings, 1 reply; 6+ messages in thread
From: Jobin Raju George @ 2014-02-15 5:00 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: kvm
On Fri, Feb 14, 2014 at 4:05 PM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
>
> 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 <stefanha@gmail.com> 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.
My main concern is creating a socket in the guest.
>
> > >
> > > > 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 :-).
It seems like netperf: www.netperf.org/netperf/training/Netperf.html
is pretty useful for this purpose.
--
Thanks and regards,
Jobin Raju George
Final Year, Information Technology
College of Engineering Pune
Alternate e-mail: georgejr10.it@coep.ac.in
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Using block device instead of character device for virtio-serial
2014-02-15 5:00 ` Jobin Raju George
@ 2014-02-17 8:25 ` Stefan Hajnoczi
0 siblings, 0 replies; 6+ messages in thread
From: Stefan Hajnoczi @ 2014-02-17 8:25 UTC (permalink / raw)
To: Jobin Raju George; +Cc: kvm, Amit Shah
On Sat, Feb 15, 2014 at 10:30:13AM +0530, Jobin Raju George wrote:
> On Fri, Feb 14, 2014 at 4:05 PM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
> >
> > 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 <stefanha@gmail.com> 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.
> My main concern is creating a socket in the guest.
The virtio-serial Linux guest driver is a character device, not a
socket. So if a socket is really necessary you'd need a small program
to forward data between a socket and the character device (like
netcat/socat).
Stefan
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-02-17 8:25 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-06 6:52 Using block device instead of character device for virtio-serial Jobin Raju George
2014-02-09 9:12 ` Stefan Hajnoczi
[not found] ` <CA+aVsWrLj4w_X2nZvJgRz9w-y4UG90g1L-shLZ1jOfjiJLPypA@mail.gmail.com>
2014-02-09 18:12 ` Fwd: " Jobin Raju George
2014-02-14 10:35 ` Stefan Hajnoczi
2014-02-15 5:00 ` Jobin Raju George
2014-02-17 8:25 ` Stefan Hajnoczi
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.