qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] vl.c:main_loop() non-blocking TCG optimization still us


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] vl.c:main_loop() non-blocking TCG optimization still useful?
Date: Mon, 8 Feb 2016 16:41:49 +0000
User-agent: Mutt/1.5.24 (2015-08-30)

On Tue, Feb 02, 2016 at 02:39:21PM +0100, Jan Kiszka wrote:
> On 2016-02-02 14:29, Stefan Hajnoczi wrote:
> > Hi Jan,
> > In 2011 the following patch was merged to optimize I/O vs vcpu scheduling:
> > 
> > commit c9f711a5d31e22dac932c1c01e9c0f97caff0988
> > Author: Jan Kiszka <address@hidden>
> > Date:   Mon Aug 22 17:46:02 2011 +0200
> > 
> >     Poll main loop after I/O events were received
> > 
> > This was back in the days of CONFIG_IOTHREAD.  Things have changed
> > quite a bit since then.
> > 
> > Do you think the last_io/non-blocking trick is still needed today in TCG?
> 
> The problem back then was the lock-step between io-thread and vcpus
> thread: if the iothread polled with the option to block, the vcpus
> thread got kicked again because the common lock was released to it. But
> if the iothread did not block because of further pending io, it would
> have to kick the vcpus thread immediately out of its emulation loop
> again. This meant no progress for the vcpus, only sync ping-pong.
> 
> If this changed now (I lost a bit track), the need for this trick might
> be gone. Maybe try the setup I described and measure the boot time of an
> SMP guest with and without this trick.

Okay, thanks.

Stefan

Attachment: signature.asc
Description: PGP signature


reply via email to

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