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. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson