--- vmx.old	2007-04-25 20:28:19.000000000 +0800
+++ vmx.new	2007-04-25 20:28:10.000000000 +0800
@@ -1945,7 +1945,8 @@
 				return -EINTR;
 			}
 
-			kvm_resched(vcpu);
+			if ( need_resched() )
+				kvm_resched(vcpu);
 			goto again;
 		}
 	}
