qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Avoiding nographic_timer exits


From: Jan Kiszka
Subject: Re: [Qemu-devel] Avoiding nographic_timer exits
Date: Fri, 30 Sep 2011 11:18:22 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

On 2011-09-30 10:55, Jan Kiszka wrote:
> On 2011-09-30 10:46, Jan Kiszka wrote:
>> On 2011-09-30 10:18, David Gibson wrote:
>>> With PowerKVM, exits from KVM to qemu are even more expensive than on
>>> x86.  One significant source of these we're finding (since we usually
>>> work in -nographic mode) is the nographic_timer.
>>>
>>> At present, we're using a hack to disable it, but that's obviously not
>>> a long term solution.  From examination, it looks like the only
>>> purpose of this timer is to flush coalesced mmios.  So it seems like
>>> the timer should only be activated when a coalesced mmio region
>>> actually exists, but I'm not entirely sure how to go about that.
>>>
>>> Thinking longer term, it seems very odd that a userspace periodic
>>> timer handles this at all.  Surely it would make more sense to use a
>>> kernel timer within KVM, which can be activated only when there are
>>> actually pending coalesced MMIOs in the buffer.
>>
>> Coalesced MMIO should only be flushed when a device depending on it gets
>> accessed - either by a VCPU or by the iothread (to update the graphic
>> output e.g.). We are working on such a concept (to reduce latency for
>> VCPUs with real-time constraints).
> 
> The MMIO flush in nographic_update dates back to 62a2744ca0. Mmh, I do
> understand the need for flushing with active graphic, but I do not see
> the need without such output.

We "need" it in nographic_update for VNC as that one registers its own
refresh timer.

However, the qemu_flush_coalesced_mmio_buffer calls in the update timers
are both misplaced. They belong into the update handlers of those
display device models that use coalesced MMIO. Will write a patch.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux



reply via email to

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