qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Hight Processor time of Socket communciation


From: Peter Maydell
Subject: Re: [Qemu-devel] Hight Processor time of Socket communciation
Date: Tue, 18 Apr 2017 17:26:10 +0100

On 18 April 2017 at 17:19, Jiahuan Zhang <address@hidden> wrote:
> Dear QEMU developers,
> I am measuring the processor time for guest-host communication via socket.
> The guest app is to write a 5M image to a serial device.
> The serial deivce is redirected to the socket in the command line.
> The host app is to receive the data via socket until the peer closes the
> connection.
> Please find in the attachment the Processor time graph generated by Windows
> Performance Monitor.
>
> The graph shows the processor time is almost 100% while communicating.
> Surprising me! My expectation is 1%.
>
> I wonder if this is the right performance for QEMU socket communciation? Or
> this high processor time is caused by the serial device? If so, any
> optimization I can do?

The serial device on the vexpress-a9 model is a PL011, which
is a fairly simple UART which all data must be written to
byte-at-a-time. This is never going to be fast, because we
have to execute a lot of guest code to send the data through
this byte-at-a-time bottleneck, and since you're running
a purely emulated QEMU, executing guest code means doing
a lot of CPU operations.

You will likely get better throughput if you use the 'virt' board
where you can use the virtio-serial device which can send
data more efficiently.

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]