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