On Thu, Oct 28, 2010 at 03:35:13PM +0800, Xiao Guangrong wrote: > On 10/27/2010 06:44 PM, Gleb Natapov wrote: > > On Wed, Oct 27, 2010 at 05:05:57PM +0800, Xiao Guangrong wrote: > >> Don't make a KVM_REQ_UNHALT request after async pf is completed since it > >> can break guest's 'halt' instruction. > >> > > Why is it a problem? CPU may be unhalted by different events so OS > > shouldn't depend on it. > > > > We don't know how guest OS handles it after HLT instruction is completed, > according to X86's spec, only NMI/INTR/RESET/INIT/SMI can break halt state, > it violations the hardware behavior if we allow other event break this > state. Your opinion? :-) I agree in principle, but since SMI (which is completely out of guest OS control) can cause CPU to exit halt, in practice OS can't rely on CPU to be unhalted only by events controlled by OS itself. In the past we had a bug that any timer even unhalted vcpu even when timer interrupt was masked. The only practical problem it caused was that vcpu that executed cli; 1: hlt; jmp 1b sequence still consumed host cpu time. That said I am not against fixing it if the fix is easy. Your current fix though relies on patch 4 that I have problem with. -- Gleb. -- 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