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.

Jan

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

Reply via email to