From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37159) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a8Vgv-0006yZ-CH for qemu-devel@nongnu.org; Mon, 14 Dec 2015 11:09:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a8Vgp-0006yG-Bj for qemu-devel@nongnu.org; Mon, 14 Dec 2015 11:09:37 -0500 Received: from mx1.redhat.com ([209.132.183.28]:50697) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a8Vgp-0006y9-6K for qemu-devel@nongnu.org; Mon, 14 Dec 2015 11:09:31 -0500 References: <1450107185-31490-1-git-send-email-asmetanin@virtuozzo.com> From: Paolo Bonzini Message-ID: <566EE9B4.4040104@redhat.com> Date: Mon, 14 Dec 2015 17:09:24 +0100 MIME-Version: 1.0 In-Reply-To: <1450107185-31490-1-git-send-email-asmetanin@virtuozzo.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v1] kvm/x86: Remove Hyper-V SynIC timer stopping List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Andrey Smetanin , kvm@vger.kernel.org Cc: Gleb Natapov , "Denis V. Lunev" , Roman Kagan , qemu-devel@nongnu.org On 14/12/2015 16:33, Andrey Smetanin wrote: > It's possible that guest send us Hyper-V EOM at the middle > of Hyper-V SynIC timer running, so we start processing of Hyper-V > SynIC timers in vcpu context and stop the Hyper-V SynIC timer > uncoditionally and lose time expiration which Windows 2012R2 guest > expects. >=20 > The patch fixes such situation by not stopping Hyper-V SynIC timer > at all, because it's safe to restart it without stop in vcpu context > and timer callback always returns HRTIMER_NORESTART. Can you summarize with a "picture" what is the bad race? The patch seems safe, but I'd like to have a better understanding of what goes wrong. Paolo