On Thu, Apr 02, 2009 at 06:00:17PM +0300, Avi Kivity wrote: > > Good point - if we rely on having excess cores in the host, large guest > scalability will drop. Going back to TX mitigation, I wonder if we could avoid it altogether by having a "wakeup" mechanism that does not involve a vmexit. We have two cases: 1) UP, or rather guest runs on the same core/hyperthread as the backend. This is the easy one, the guest simply sets a marker in shared memory and keeps going until its time is up. Then the backend takes over, and uses a marker for notification too. The markers need to be interpreted by the scheduler so that it knows the guest/backend is runnable, respectively. 2) The guest and backend runs on two cores/hyperthreads. We'll assume that they share caches as otherwise mitigation is the last thing to worry about. We use the same marker mechanism as above. The only caveat is that if one core/hyperthread is idle, its idle thread needs to monitor the marker (this would be a separate per-core marker) to wake up the scheduler. CCing Ingo so that he can flame me if I'm totally off the mark. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html