[Top][All Lists]
[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 10:46:47 +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: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).
And long-term, we need per-device MMIO buffers to avoid flushing
unrelated content.
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux