qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 0/3] io-thread optimizations


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH v2 0/3] io-thread optimizations
Date: Thu, 14 Apr 2011 08:59:45 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110411 Lightning/1.0b2 Thunderbird/3.1.9

On 04/14/2011 08:45 AM, Avi Kivity wrote:
On 04/14/2011 10:14 AM, Jan Kiszka wrote:
On 2011-04-13 22:16, Aurelien Jarno wrote:
>  On Mon, Apr 11, 2011 at 10:27:41PM +0200, Jan Kiszka wrote:
>> These patches were posted before. They bring down the overhead of the
>>  io-thread mode for TCG here, specifically when emulating SMP.
>>
>> The major change in this version, besides rebasing, is the exclusion of
>>  KVM from the main loop polling optimization.
>>
>>
>>
>>  Jan Kiszka (3):
>>    Do not drop global mutex for polled main loop runs
>>    Poll main loop after I/O events were received
>>    Do not kick vcpus in TCG mode
>>
>>   cpus.c   |    2 +-
>>   sysemu.h |    2 +-
>>   vl.c     |   22 ++++++++++++++++------
>>   3 files changed, 18 insertions(+), 8 deletions(-)
>>
>
>  Thanks for working on improving the io-thread with TCG. Your patches
>  make sense, but they don't seems to fix the slowdown observed when
>  enabling the io-thread. Well maybe they were not supposed to. This is
> for example the results of netperf between guest and host using virtio:
>
>  no io-thread            122 MB/s
>  io-thread                97 MB/s
>  io-thread + patches      98 MB/s
>

Can you capture ftraces of io-thread enabled&  disabled runs? They just
need to cover a hand full of frames.


Also interesting would be the context switch rates on the host.

If they're large, perhaps using user-space threading instead of native threads would help.

I still suspect mitigation as the culprit here. Select is going to get to run more often which means more interrupt generation.

I bet if you count the number of packets per interrupt/notify you'll find that less batching is occurring.

Regards,

Anthony Liguori




reply via email to

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