On Thu, Nov 08, 2012 at 07:23:57PM +0100, Rene Rebe wrote:
But with that patch the CPU does not wake on write access? I guess
just with the next "spurious" interrupt?
No, PAUSE is emulated as trying to yield to another VCPU before
resuming the current one, just a "slow NOP".
I am planning to try emulating MWAIT as (something similar to) HLT,
which would pause the VCPU until the next interrupt. That should quiet
down the num_smp x 100% CPU utilization reported by qemu on the host
side, while the guest is just sitting idle... :)
Now that I have MONITOR and MWAIT trap into the host, I'm studying KVM
source for some more "intelligent" way of emulating them. Ideally, I'd
be able to trap on writes to the memory area set up with MONITOR that
MWAIT is sleeping on, but I worry that even if I could do that,
trapping on writes would have a serious performance downside.
As you may have guessed, I took up your suggestion of looking at
MONITOR/MWAIT for my project, so any ideas you may have for me are
much appreciated ! :)
P.S. Maybe we should trim the CC list back down to you, Alex, and myself,
I worry this is going beyond what e.g. the seabios list might want to hear