From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00209C433F5 for ; Thu, 2 Dec 2021 02:00:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349037AbhLBCDh (ORCPT ); Wed, 1 Dec 2021 21:03:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36602 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1349422AbhLBCDa (ORCPT ); Wed, 1 Dec 2021 21:03:30 -0500 Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D0146C061756 for ; Wed, 1 Dec 2021 18:00:08 -0800 (PST) Received: by mail-pl1-x631.google.com with SMTP id p18so19094630plf.13 for ; Wed, 01 Dec 2021 18:00:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=ieez22Xn2l5HWg/32xD5LElmnAc6m+5OIzBSW88ykGA=; b=G0z4qsx02gTJpOX+id+WDt87iiCC68/pLc8/RHTHy93ZaRCC/cpz/VtsZ5QLq6NhsC pztYoE3cxmb1ab05i+mKIC8ML+IoYX2JvCedMYG/dA5g4rEg3w2gyuXKxfic5SWkfGb+ LTzmn0ERm4vLCwinV2Q7f64T7CvStCYLOXGIoBC/JED1+H3JdUB9Rafl3aySZq2PFK+D j8FA4sR8WNSfp7GYg67MnxS2CunppQgmHJnEXulsOfQJjagvmDJOLOMmlhUfNCfaq2x+ Msm/OAxbLxPfZ954U2c9p631E4TYd+VGgfnvhf+iALAZ45wlstnB6aDZPFFAYACiiRYn 9c3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=ieez22Xn2l5HWg/32xD5LElmnAc6m+5OIzBSW88ykGA=; b=4OaA2QLJSyRh7A2aJ4zeu41lTGVEL8zLvm1zLyfgao2U0H2EutbuQrhGFOwNGx6R20 kQ0x3Dz8U7DFLaxNqWQPTHIOOSvymzLTQ5QJ8RXN0H1o2apvM9F24UIgpAOaDn639o+F PshacHNlvbMNvSXjU1qPvQ9AcPBS5Ti0iBjtAuPXdYJx48eksk716EEvIbUgP21i+sSM MrgkiMVm1yr+OlKdM9K9Ehzuo4HkRFiraKVkvBpwfwJtO18TGmJrXdT33fGGLzXjzX3p BPJygdLnTcEK8e7/aqWxiJjiDBFlteFxEmNwPRIfe5ixnFZ4LzGQ6PlyszFMxqDAuddc 67Eg== X-Gm-Message-State: AOAM533UwQSCeHeq55xtgG5gz80LBsfSy4KOLEbMOOqNWWwjfrHZ3eDg ckOLkOfQ/054sIOMqal84SBsXQ== X-Google-Smtp-Source: ABdhPJxNBM72YGsKSZuE+5oJQdw89IebyEem9LDSzk1Pcg1GjafGCYFG2d6Z2Cymjn7sJ6Jwu52nlQ== X-Received: by 2002:a17:90b:3848:: with SMTP id nl8mr2408510pjb.221.1638410408016; Wed, 01 Dec 2021 18:00:08 -0800 (PST) Received: from google.com (157.214.185.35.bc.googleusercontent.com. [35.185.214.157]) by smtp.gmail.com with ESMTPSA id lr6sm550689pjb.0.2021.12.01.18.00.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Dec 2021 18:00:07 -0800 (PST) Date: Thu, 2 Dec 2021 02:00:03 +0000 From: Sean Christopherson To: Maxim Levitsky Cc: Paolo Bonzini , Marc Zyngier , Huacai Chen , Aleksandar Markovic , Paul Mackerras , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Christian Borntraeger , Janosch Frank , James Morse , Alexandru Elisei , Suzuki K Poulose , Atish Patra , David Hildenbrand , Cornelia Huck , Claudio Imbrenda , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, linux-mips@vger.kernel.org, kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, David Matlack , Oliver Upton , Jing Zhang , Wei Huang Subject: Re: [PATCH v2 11/43] KVM: Don't block+unblock when halt-polling is successful Message-ID: References: <20211009021236.4122790-1-seanjc@google.com> <20211009021236.4122790-12-seanjc@google.com> <4e883728e3e5201a94eb46b56315afca5e95ad9c.camel@redhat.com> <496c2fc6-26b0-9b5d-32f4-2f9e9dd6a064@redhat.com> <880a5727-69d1-72a1-b129-b053781625ad@redhat.com> <458c0819a578ba854f00089bc312c8faa177a81a.camel@redhat.com> <32eabe7d270e5a466ba2d9345b4270b8fe27700c.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <32eabe7d270e5a466ba2d9345b4270b8fe27700c.camel@redhat.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Dec 02, 2021, Maxim Levitsky wrote: > On Tue, 2021-11-30 at 00:53 +0200, Maxim Levitsky wrote: > > On Mon, 2021-11-29 at 20:18 +0100, Paolo Bonzini wrote: > > Basically what I see that > > > > 1. vCPU2 disables is_running in avic physical id cache > > 2. vCPU2 checks that IRR is empty and it is > > 3. vCPU2 does schedule(); > > > > and it keeps on sleeping forever. If I kick it via signal > > (like just doing 'info registers' qemu hmp command > > or just stop/cont on the same hmp interface, the > > vCPU wakes up and notices that IRR suddenly is not empty, > > and the VM comes back to life (and then hangs after a while again > > with the same problem....). > > > > As far as I see in the traces, the bit in IRR came from > > another VCPU who didn't respect the ir_running bit and didn't get > > AVIC_INCOMPLETE_IPI VMexit. > > I can't 100% prove it yet, but everything in the trace shows this. ... > I am now almost sure that this is errata #1235. > > I had attached a kvm-unit-test I wrote (patch against master of > https://gitlab.com/kvm-unit-tests/kvm-unit-tests.git/) which is able to > reproduce the issue on stock 5.15.0 kernel (*no patches applied at all*) > after just few seconds. If kvm is loaded without halt-polling (that is > halt_poll_ns=0 is used). > > Halt polling and/or Sean's patch are not to blame, it just changes timeing. > With Sean's patch I don't need to disable half polling. Hmm, that suggests the bug/erratum is due to the CPU consuming stale data from #4 for the IsRunning check in #5, or retiring uops for the IsRunning check before retiring the vIRR update. It would be helpful if the erratum actually provided info on the "highly specific and detailed set of internal timing conditions". :-/ 4. Lookup the vAPIC backing page address in the Physical APIC table using the guest physical APIC ID as an index into the table. 5. For every valid destination: - Atomically set the appropriate IRR bit in each of the destinations’ vAPIC backing page. - Check the IsRunning status of each destination. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6F443C433EF for ; Thu, 2 Dec 2021 02:00:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=LR1ldrjqC9WjK5YU1MyZBBt+r5lAeOPZ69sQcHiK6+k=; b=ON6Yd//7VRccLy Gn4CrwHDwhotuMVxFaFKLcSjQmV6IOSiXGmgeOVvWrFBIUDv4roLRsD3ZyxeErB7XDhped4Ogr3mB kQYpNRMgoUZSxkn8nH5r/RxzUSKK+9wmJiFdEnCD8yw9v8eKpirnGkleTKxrp+8WkEBxK5ThcfyCJ XyG1Vtvpa5GpGjgnGgBrEXqes5/p3ZYnR6hdxDBfoDgbjHS2mEMT36Ub5jSne0rBBTsjbsL6A/VOD jxp9Fp7bemo27DKp3H+MUZWaR6h/SOaEIy33BwYUwZ/q/due/Q3dj/CujOvLkhIbhca+tvN0biY2a /RbAooOohiE0Od1GfYPQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1msbOc-00AbC5-ST; Thu, 02 Dec 2021 02:00:26 +0000 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1msbOO-00Ab56-E8 for linux-riscv@lists.infradead.org; Thu, 02 Dec 2021 02:00:14 +0000 Received: by mail-pl1-x630.google.com with SMTP id u11so19131926plf.3 for ; Wed, 01 Dec 2021 18:00:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=ieez22Xn2l5HWg/32xD5LElmnAc6m+5OIzBSW88ykGA=; b=G0z4qsx02gTJpOX+id+WDt87iiCC68/pLc8/RHTHy93ZaRCC/cpz/VtsZ5QLq6NhsC pztYoE3cxmb1ab05i+mKIC8ML+IoYX2JvCedMYG/dA5g4rEg3w2gyuXKxfic5SWkfGb+ LTzmn0ERm4vLCwinV2Q7f64T7CvStCYLOXGIoBC/JED1+H3JdUB9Rafl3aySZq2PFK+D j8FA4sR8WNSfp7GYg67MnxS2CunppQgmHJnEXulsOfQJjagvmDJOLOMmlhUfNCfaq2x+ Msm/OAxbLxPfZ954U2c9p631E4TYd+VGgfnvhf+iALAZ45wlstnB6aDZPFFAYACiiRYn 9c3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=ieez22Xn2l5HWg/32xD5LElmnAc6m+5OIzBSW88ykGA=; b=3kk6Jm49C0ATuhYZpFBuSFxJeIIu93YJr34nD93UpFH7Zb9cpI13WFnHubfDnAvSkS VW1OipeQJ6B+8beg8s0hCDXinqzKaebxgyCw+rXLGV+Rm9MrYP+0YPnN90x2ukd3lrmF HGpbBASE3bvZ2Z0b+zvUeXR7m9bH/LhmCt9vkJfi2WxQ5aQYoDqNVESDaLHDzGFESmH7 roMt5JdkWMJVzcLSuRu/vC6ISeMAqE5uzbgiIiGCOjS+4mRTke8F33B97CvlmXqETU7T vdlchkh7fU6Xi/7MRo2jtmVCrycSxLlVHnsp3sZNvuPhSxnjxBu1rRH7S9NUhLY04wj/ biYw== X-Gm-Message-State: AOAM532ld2zax5PILDktC0TU2KrayioSvS//LBAWOxS4NWiQS1HTAf6Y +tg8IwdICWux2hM1HYbBTfxnMg== X-Google-Smtp-Source: ABdhPJxNBM72YGsKSZuE+5oJQdw89IebyEem9LDSzk1Pcg1GjafGCYFG2d6Z2Cymjn7sJ6Jwu52nlQ== X-Received: by 2002:a17:90b:3848:: with SMTP id nl8mr2408510pjb.221.1638410408016; Wed, 01 Dec 2021 18:00:08 -0800 (PST) Received: from google.com (157.214.185.35.bc.googleusercontent.com. [35.185.214.157]) by smtp.gmail.com with ESMTPSA id lr6sm550689pjb.0.2021.12.01.18.00.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Dec 2021 18:00:07 -0800 (PST) Date: Thu, 2 Dec 2021 02:00:03 +0000 From: Sean Christopherson To: Maxim Levitsky Cc: Paolo Bonzini , Marc Zyngier , Huacai Chen , Aleksandar Markovic , Paul Mackerras , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Christian Borntraeger , Janosch Frank , James Morse , Alexandru Elisei , Suzuki K Poulose , Atish Patra , David Hildenbrand , Cornelia Huck , Claudio Imbrenda , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, linux-mips@vger.kernel.org, kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, David Matlack , Oliver Upton , Jing Zhang , Wei Huang Subject: Re: [PATCH v2 11/43] KVM: Don't block+unblock when halt-polling is successful Message-ID: References: <20211009021236.4122790-1-seanjc@google.com> <20211009021236.4122790-12-seanjc@google.com> <4e883728e3e5201a94eb46b56315afca5e95ad9c.camel@redhat.com> <496c2fc6-26b0-9b5d-32f4-2f9e9dd6a064@redhat.com> <880a5727-69d1-72a1-b129-b053781625ad@redhat.com> <458c0819a578ba854f00089bc312c8faa177a81a.camel@redhat.com> <32eabe7d270e5a466ba2d9345b4270b8fe27700c.camel@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <32eabe7d270e5a466ba2d9345b4270b8fe27700c.camel@redhat.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211201_180012_578791_C9771DE2 X-CRM114-Status: GOOD ( 25.52 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gVGh1LCBEZWMgMDIsIDIwMjEsIE1heGltIExldml0c2t5IHdyb3RlOgo+IE9uIFR1ZSwgMjAy MS0xMS0zMCBhdCAwMDo1MyArMDIwMCwgTWF4aW0gTGV2aXRza3kgd3JvdGU6Cj4gPiBPbiBNb24s IDIwMjEtMTEtMjkgYXQgMjA6MTggKzAxMDAsIFBhb2xvIEJvbnppbmkgd3JvdGU6Cj4gPiBCYXNp Y2FsbHkgd2hhdCBJIHNlZSB0aGF0Cj4gPiAgCj4gPiAxLiB2Q1BVMiBkaXNhYmxlcyBpc19ydW5u aW5nIGluIGF2aWMgcGh5c2ljYWwgaWQgY2FjaGUKPiA+IDIuIHZDUFUyIGNoZWNrcyB0aGF0IElS UiBpcyBlbXB0eSBhbmQgaXQgaXMKPiA+IDMuIHZDUFUyIGRvZXMgc2NoZWR1bGUoKTsKPiA+ICAK PiA+IGFuZCBpdCBrZWVwcyBvbiBzbGVlcGluZyBmb3JldmVyLiBJZiBJIGtpY2sgaXQgdmlhIHNp Z25hbCAKPiA+IChsaWtlIGp1c3QgZG9pbmcgJ2luZm8gcmVnaXN0ZXJzJyBxZW11IGhtcCBjb21t YW5kCj4gPiBvciBqdXN0IHN0b3AvY29udCBvbiB0aGUgc2FtZSBobXAgaW50ZXJmYWNlLCB0aGUK PiA+IHZDUFUgd2FrZXMgdXAgYW5kIG5vdGljZXMgdGhhdCBJUlIgc3VkZGVubHkgaXMgbm90IGVt cHR5LAo+ID4gYW5kIHRoZSBWTSBjb21lcyBiYWNrIHRvIGxpZmUgKGFuZCB0aGVuIGhhbmdzIGFm dGVyIGEgd2hpbGUgYWdhaW4KPiA+IHdpdGggdGhlIHNhbWUgcHJvYmxlbS4uLi4pLgo+ID4gIAo+ ID4gQXMgZmFyIGFzIEkgc2VlIGluIHRoZSB0cmFjZXMsIHRoZSBiaXQgaW4gSVJSIGNhbWUgZnJv bQo+ID4gYW5vdGhlciBWQ1BVIHdobyBkaWRuJ3QgcmVzcGVjdCB0aGUgaXJfcnVubmluZyBiaXQg YW5kIGRpZG4ndCBnZXQgCj4gPiBBVklDX0lOQ09NUExFVEVfSVBJIFZNZXhpdC4KPiA+IEkgY2Fu J3QgMTAwJSBwcm92ZSBpdCB5ZXQsIGJ1dCBldmVyeXRoaW5nIGluIHRoZSB0cmFjZSBzaG93cyB0 aGlzLgoKLi4uCgo+IEkgYW0gbm93IGFsbW9zdCBzdXJlIHRoYXQgdGhpcyBpcyBlcnJhdGEgIzEy MzUuCj4gCj4gSSBoYWQgYXR0YWNoZWQgYSBrdm0tdW5pdC10ZXN0IEkgd3JvdGUgKHBhdGNoIGFn YWluc3QgbWFzdGVyIG9mCj4gaHR0cHM6Ly9naXRsYWIuY29tL2t2bS11bml0LXRlc3RzL2t2bS11 bml0LXRlc3RzLmdpdC8pIHdoaWNoIGlzIGFibGUgdG8KPiByZXByb2R1Y2UgdGhlIGlzc3VlIG9u IHN0b2NrIDUuMTUuMCBrZXJuZWwgKCpubyBwYXRjaGVzIGFwcGxpZWQgYXQgYWxsKikKPiBhZnRl ciBqdXN0IGZldyBzZWNvbmRzLiAgSWYga3ZtIGlzIGxvYWRlZCB3aXRob3V0IGhhbHQtcG9sbGlu ZyAodGhhdCBpcwo+IGhhbHRfcG9sbF9ucz0wIGlzIHVzZWQpLgo+IAo+IEhhbHQgcG9sbGluZyBh bmQvb3IgU2VhbidzIHBhdGNoIGFyZSBub3QgdG8gYmxhbWUsIGl0IGp1c3QgY2hhbmdlcyB0aW1l aW5nLgo+IFdpdGggU2VhbidzIHBhdGNoIEkgZG9uJ3QgbmVlZCB0byBkaXNhYmxlIGhhbGYgcG9s bGluZy4KCkhtbSwgdGhhdCBzdWdnZXN0cyB0aGUgYnVnL2VycmF0dW0gaXMgZHVlIHRvIHRoZSBD UFUgY29uc3VtaW5nIHN0YWxlIGRhdGEgZnJvbSAjNApmb3IgdGhlIElzUnVubmluZyBjaGVjayBp biAjNSwgb3IgcmV0aXJpbmcgdW9wcyBmb3IgdGhlIElzUnVubmluZyBjaGVjayBiZWZvcmUKcmV0 aXJpbmcgdGhlIHZJUlIgdXBkYXRlLiAgSXQgd291bGQgYmUgaGVscGZ1bCBpZiB0aGUgZXJyYXR1 bSBhY3R1YWxseSBwcm92aWRlZAppbmZvIG9uIHRoZSAiaGlnaGx5IHNwZWNpZmljIGFuZCBkZXRh aWxlZCBzZXQgb2YgaW50ZXJuYWwgdGltaW5nIGNvbmRpdGlvbnMiLiA6LS8KCiAgNC4gTG9va3Vw IHRoZSB2QVBJQyBiYWNraW5nIHBhZ2UgYWRkcmVzcyBpbiB0aGUgUGh5c2ljYWwgQVBJQyB0YWJs ZSB1c2luZyB0aGUKICAgICBndWVzdCBwaHlzaWNhbCBBUElDIElEIGFzIGFuIGluZGV4IGludG8g dGhlIHRhYmxlLgogIDUuIEZvciBldmVyeSB2YWxpZCBkZXN0aW5hdGlvbjoKICAgICAtIEF0b21p Y2FsbHkgc2V0IHRoZSBhcHByb3ByaWF0ZSBJUlIgYml0IGluIGVhY2ggb2YgdGhlIGRlc3RpbmF0 aW9uc+KAmSB2QVBJQwogICAgICAgYmFja2luZyBwYWdlLgogICAgIC0gQ2hlY2sgdGhlIElzUnVu bmluZyBzdGF0dXMgb2YgZWFjaCBkZXN0aW5hdGlvbi4KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1y aXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtcmlzY3YK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3F3C3C433EF for ; Thu, 2 Dec 2021 02:00:14 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 8D2E54B230; Wed, 1 Dec 2021 21:00:13 -0500 (EST) X-Virus-Scanned: at lists.cs.columbia.edu Authentication-Results: mm01.cs.columbia.edu (amavisd-new); dkim=softfail (fail, message has been altered) header.i=@google.com Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0qW++1VsW+Mn; Wed, 1 Dec 2021 21:00:12 -0500 (EST) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 3E7404B1F3; Wed, 1 Dec 2021 21:00:12 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id C07BE4B1A3 for ; Wed, 1 Dec 2021 21:00:10 -0500 (EST) X-Virus-Scanned: at lists.cs.columbia.edu Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 007KfwfnKRYz for ; Wed, 1 Dec 2021 21:00:09 -0500 (EST) Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id 1AB0D4B0B3 for ; Wed, 1 Dec 2021 21:00:09 -0500 (EST) Received: by mail-pj1-f51.google.com with SMTP id fv9-20020a17090b0e8900b001a6a5ab1392so3349973pjb.1 for ; Wed, 01 Dec 2021 18:00:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=ieez22Xn2l5HWg/32xD5LElmnAc6m+5OIzBSW88ykGA=; b=G0z4qsx02gTJpOX+id+WDt87iiCC68/pLc8/RHTHy93ZaRCC/cpz/VtsZ5QLq6NhsC pztYoE3cxmb1ab05i+mKIC8ML+IoYX2JvCedMYG/dA5g4rEg3w2gyuXKxfic5SWkfGb+ LTzmn0ERm4vLCwinV2Q7f64T7CvStCYLOXGIoBC/JED1+H3JdUB9Rafl3aySZq2PFK+D j8FA4sR8WNSfp7GYg67MnxS2CunppQgmHJnEXulsOfQJjagvmDJOLOMmlhUfNCfaq2x+ Msm/OAxbLxPfZ954U2c9p631E4TYd+VGgfnvhf+iALAZ45wlstnB6aDZPFFAYACiiRYn 9c3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=ieez22Xn2l5HWg/32xD5LElmnAc6m+5OIzBSW88ykGA=; b=kqrDEgbenzcyD4NgXygLiBBYnWl17P5X+KFGkzBqyJCm7hzWax2bo8CPBAaURySxL4 Ci61PdL+ejQ8fKp7pmAq52ICSNIl052gC5iCdqNd5ylEsZ6sxIaK59+mJgP02PxdC4or /2bJNm+iENLFo4TihlSOBqZiFmFH6I9hnt6ZEQWlmU8vJ7xAAUwYdfBg8Ltze56m0tsF md278BWPuaOB3oySMRcdknrZkQf/Mw62JE86+xzM5KY/ExQoTy9xy7ztde+RCNsiaUz+ 6ltNX0Dmr9AF0+gh1CEyoQpg5qEEzs/rskj9QwR82dydqdSyyDoG2uLZa85Sdl366U6d KBBQ== X-Gm-Message-State: AOAM5331J1Ii9su/2ydPl315vQaEetTjQmYaCPyOxJ/M31vt2C5t0lSw nzlQv+OJWFUv18MVzlAM0QA/1Q== X-Google-Smtp-Source: ABdhPJxNBM72YGsKSZuE+5oJQdw89IebyEem9LDSzk1Pcg1GjafGCYFG2d6Z2Cymjn7sJ6Jwu52nlQ== X-Received: by 2002:a17:90b:3848:: with SMTP id nl8mr2408510pjb.221.1638410408016; Wed, 01 Dec 2021 18:00:08 -0800 (PST) Received: from google.com (157.214.185.35.bc.googleusercontent.com. [35.185.214.157]) by smtp.gmail.com with ESMTPSA id lr6sm550689pjb.0.2021.12.01.18.00.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Dec 2021 18:00:07 -0800 (PST) Date: Thu, 2 Dec 2021 02:00:03 +0000 From: Sean Christopherson To: Maxim Levitsky Subject: Re: [PATCH v2 11/43] KVM: Don't block+unblock when halt-polling is successful Message-ID: References: <20211009021236.4122790-1-seanjc@google.com> <20211009021236.4122790-12-seanjc@google.com> <4e883728e3e5201a94eb46b56315afca5e95ad9c.camel@redhat.com> <496c2fc6-26b0-9b5d-32f4-2f9e9dd6a064@redhat.com> <880a5727-69d1-72a1-b129-b053781625ad@redhat.com> <458c0819a578ba854f00089bc312c8faa177a81a.camel@redhat.com> <32eabe7d270e5a466ba2d9345b4270b8fe27700c.camel@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <32eabe7d270e5a466ba2d9345b4270b8fe27700c.camel@redhat.com> Cc: Cornelia Huck , Wanpeng Li , kvm@vger.kernel.org, David Hildenbrand , linux-kernel@vger.kernel.org, Paul Mackerras , Atish Patra , linux-riscv@lists.infradead.org, Claudio Imbrenda , kvmarm@lists.cs.columbia.edu, Janosch Frank , Marc Zyngier , Joerg Roedel , Huacai Chen , Christian Borntraeger , Aleksandar Markovic , Albert Ou , Wei Huang , kvm-ppc@vger.kernel.org, Paul Walmsley , David Matlack , linux-arm-kernel@lists.infradead.org, Jim Mattson , Anup Patel , linux-mips@vger.kernel.org, Palmer Dabbelt , kvm-riscv@lists.infradead.org, Paolo Bonzini , Vitaly Kuznetsov X-BeenThere: kvmarm@lists.cs.columbia.edu X-Mailman-Version: 2.1.14 Precedence: list List-Id: Where KVM/ARM decisions are made List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu T24gVGh1LCBEZWMgMDIsIDIwMjEsIE1heGltIExldml0c2t5IHdyb3RlOgo+IE9uIFR1ZSwgMjAy MS0xMS0zMCBhdCAwMDo1MyArMDIwMCwgTWF4aW0gTGV2aXRza3kgd3JvdGU6Cj4gPiBPbiBNb24s IDIwMjEtMTEtMjkgYXQgMjA6MTggKzAxMDAsIFBhb2xvIEJvbnppbmkgd3JvdGU6Cj4gPiBCYXNp Y2FsbHkgd2hhdCBJIHNlZSB0aGF0Cj4gPiAgCj4gPiAxLiB2Q1BVMiBkaXNhYmxlcyBpc19ydW5u aW5nIGluIGF2aWMgcGh5c2ljYWwgaWQgY2FjaGUKPiA+IDIuIHZDUFUyIGNoZWNrcyB0aGF0IElS UiBpcyBlbXB0eSBhbmQgaXQgaXMKPiA+IDMuIHZDUFUyIGRvZXMgc2NoZWR1bGUoKTsKPiA+ICAK PiA+IGFuZCBpdCBrZWVwcyBvbiBzbGVlcGluZyBmb3JldmVyLiBJZiBJIGtpY2sgaXQgdmlhIHNp Z25hbCAKPiA+IChsaWtlIGp1c3QgZG9pbmcgJ2luZm8gcmVnaXN0ZXJzJyBxZW11IGhtcCBjb21t YW5kCj4gPiBvciBqdXN0IHN0b3AvY29udCBvbiB0aGUgc2FtZSBobXAgaW50ZXJmYWNlLCB0aGUK PiA+IHZDUFUgd2FrZXMgdXAgYW5kIG5vdGljZXMgdGhhdCBJUlIgc3VkZGVubHkgaXMgbm90IGVt cHR5LAo+ID4gYW5kIHRoZSBWTSBjb21lcyBiYWNrIHRvIGxpZmUgKGFuZCB0aGVuIGhhbmdzIGFm dGVyIGEgd2hpbGUgYWdhaW4KPiA+IHdpdGggdGhlIHNhbWUgcHJvYmxlbS4uLi4pLgo+ID4gIAo+ ID4gQXMgZmFyIGFzIEkgc2VlIGluIHRoZSB0cmFjZXMsIHRoZSBiaXQgaW4gSVJSIGNhbWUgZnJv bQo+ID4gYW5vdGhlciBWQ1BVIHdobyBkaWRuJ3QgcmVzcGVjdCB0aGUgaXJfcnVubmluZyBiaXQg YW5kIGRpZG4ndCBnZXQgCj4gPiBBVklDX0lOQ09NUExFVEVfSVBJIFZNZXhpdC4KPiA+IEkgY2Fu J3QgMTAwJSBwcm92ZSBpdCB5ZXQsIGJ1dCBldmVyeXRoaW5nIGluIHRoZSB0cmFjZSBzaG93cyB0 aGlzLgoKLi4uCgo+IEkgYW0gbm93IGFsbW9zdCBzdXJlIHRoYXQgdGhpcyBpcyBlcnJhdGEgIzEy MzUuCj4gCj4gSSBoYWQgYXR0YWNoZWQgYSBrdm0tdW5pdC10ZXN0IEkgd3JvdGUgKHBhdGNoIGFn YWluc3QgbWFzdGVyIG9mCj4gaHR0cHM6Ly9naXRsYWIuY29tL2t2bS11bml0LXRlc3RzL2t2bS11 bml0LXRlc3RzLmdpdC8pIHdoaWNoIGlzIGFibGUgdG8KPiByZXByb2R1Y2UgdGhlIGlzc3VlIG9u IHN0b2NrIDUuMTUuMCBrZXJuZWwgKCpubyBwYXRjaGVzIGFwcGxpZWQgYXQgYWxsKikKPiBhZnRl ciBqdXN0IGZldyBzZWNvbmRzLiAgSWYga3ZtIGlzIGxvYWRlZCB3aXRob3V0IGhhbHQtcG9sbGlu ZyAodGhhdCBpcwo+IGhhbHRfcG9sbF9ucz0wIGlzIHVzZWQpLgo+IAo+IEhhbHQgcG9sbGluZyBh bmQvb3IgU2VhbidzIHBhdGNoIGFyZSBub3QgdG8gYmxhbWUsIGl0IGp1c3QgY2hhbmdlcyB0aW1l aW5nLgo+IFdpdGggU2VhbidzIHBhdGNoIEkgZG9uJ3QgbmVlZCB0byBkaXNhYmxlIGhhbGYgcG9s bGluZy4KCkhtbSwgdGhhdCBzdWdnZXN0cyB0aGUgYnVnL2VycmF0dW0gaXMgZHVlIHRvIHRoZSBD UFUgY29uc3VtaW5nIHN0YWxlIGRhdGEgZnJvbSAjNApmb3IgdGhlIElzUnVubmluZyBjaGVjayBp biAjNSwgb3IgcmV0aXJpbmcgdW9wcyBmb3IgdGhlIElzUnVubmluZyBjaGVjayBiZWZvcmUKcmV0 aXJpbmcgdGhlIHZJUlIgdXBkYXRlLiAgSXQgd291bGQgYmUgaGVscGZ1bCBpZiB0aGUgZXJyYXR1 bSBhY3R1YWxseSBwcm92aWRlZAppbmZvIG9uIHRoZSAiaGlnaGx5IHNwZWNpZmljIGFuZCBkZXRh aWxlZCBzZXQgb2YgaW50ZXJuYWwgdGltaW5nIGNvbmRpdGlvbnMiLiA6LS8KCiAgNC4gTG9va3Vw IHRoZSB2QVBJQyBiYWNraW5nIHBhZ2UgYWRkcmVzcyBpbiB0aGUgUGh5c2ljYWwgQVBJQyB0YWJs ZSB1c2luZyB0aGUKICAgICBndWVzdCBwaHlzaWNhbCBBUElDIElEIGFzIGFuIGluZGV4IGludG8g dGhlIHRhYmxlLgogIDUuIEZvciBldmVyeSB2YWxpZCBkZXN0aW5hdGlvbjoKICAgICAtIEF0b21p Y2FsbHkgc2V0IHRoZSBhcHByb3ByaWF0ZSBJUlIgYml0IGluIGVhY2ggb2YgdGhlIGRlc3RpbmF0 aW9uc+KAmSB2QVBJQwogICAgICAgYmFja2luZyBwYWdlLgogICAgIC0gQ2hlY2sgdGhlIElzUnVu bmluZyBzdGF0dXMgb2YgZWFjaCBkZXN0aW5hdGlvbi4KX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18Ka3ZtYXJtIG1haWxpbmcgbGlzdAprdm1hcm1AbGlzdHMu Y3MuY29sdW1iaWEuZWR1Cmh0dHBzOi8vbGlzdHMuY3MuY29sdW1iaWEuZWR1L21haWxtYW4vbGlz dGluZm8va3ZtYXJtCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4C071C433EF for ; Thu, 2 Dec 2021 02:01:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=DDQpUQJdGM6fABVhzdXM1iDlPgSR/5Bi3ow7JHrixYI=; b=4PxmSuhjYspOlJ JkYqeh2ySPPtetWINKaQY/mKPOB0/8t7oMEKU7FBSUD6KuFgw80+6417IOEC1O726ZAz8gBNnuvsE D8QR7KWEh9sAdztyBn50y7BJTH6oNjdpEJeBUxa4tx95H1uiya4QAFfxu9j5FSj93FB4YmP2hoL++ fnBpswNtvSv9BKQJdUiBfpPKfdGEYQWkplz/IrzeJRIur+OhrJ1ptpT/cM/yMkqfCqRDb0t2L1bzF QEmTc8GN6Qm9Q7aqybXBT7EOBDriSk+islT3xdvWbYaHS8qmo7vDZnchuscadbNaLPwd0uOxF7QSm ywKuJopw63dC5CoaUmng==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1msbOS-00Ab7j-Jw; Thu, 02 Dec 2021 02:00:16 +0000 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1msbOO-00Ab54-FP for linux-arm-kernel@lists.infradead.org; Thu, 02 Dec 2021 02:00:14 +0000 Received: by mail-pl1-x629.google.com with SMTP id b13so19138286plg.2 for ; Wed, 01 Dec 2021 18:00:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=ieez22Xn2l5HWg/32xD5LElmnAc6m+5OIzBSW88ykGA=; b=G0z4qsx02gTJpOX+id+WDt87iiCC68/pLc8/RHTHy93ZaRCC/cpz/VtsZ5QLq6NhsC pztYoE3cxmb1ab05i+mKIC8ML+IoYX2JvCedMYG/dA5g4rEg3w2gyuXKxfic5SWkfGb+ LTzmn0ERm4vLCwinV2Q7f64T7CvStCYLOXGIoBC/JED1+H3JdUB9Rafl3aySZq2PFK+D j8FA4sR8WNSfp7GYg67MnxS2CunppQgmHJnEXulsOfQJjagvmDJOLOMmlhUfNCfaq2x+ Msm/OAxbLxPfZ954U2c9p631E4TYd+VGgfnvhf+iALAZ45wlstnB6aDZPFFAYACiiRYn 9c3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=ieez22Xn2l5HWg/32xD5LElmnAc6m+5OIzBSW88ykGA=; b=VK+WvRVoEi1qGJ1oYG5fV2q9KEvKZwzUuO3jF/tFyaMNPeR0ANevLsN6zx4CZ18EMm dRN24Z53FsLqjRjbbbwWjV/A98N9HA1UcoJuOY0KtLVJ/vyMnHEj8epimw/K0NFPJI38 kGbYyGPG8Ra+Gr6iK95DoYzQM6Xs5UotNXjMzz8DPuvH8ptDvH0hN6nQ95wUTuFqfSFt noL3o+hRibPXWAB60h2+TDtDjFDbl6a9E0GxytwURK9Torvfgcue6W7RIAspqDAl3NAL o5X0kDMKp3kDGF39W+su9E5/ovg4NoJtwBgZZlJb3xNZVlo9b/4y4y8/yEbyumIjDl5k KHng== X-Gm-Message-State: AOAM533I2hqxOxUfCXI+49zOSfjmCKkCYXNxTKjldZEl3ZkDof/1FQa2 VYGFsrY/0H0fU6TA1cLE+kRfZg== X-Google-Smtp-Source: ABdhPJxNBM72YGsKSZuE+5oJQdw89IebyEem9LDSzk1Pcg1GjafGCYFG2d6Z2Cymjn7sJ6Jwu52nlQ== X-Received: by 2002:a17:90b:3848:: with SMTP id nl8mr2408510pjb.221.1638410408016; Wed, 01 Dec 2021 18:00:08 -0800 (PST) Received: from google.com (157.214.185.35.bc.googleusercontent.com. [35.185.214.157]) by smtp.gmail.com with ESMTPSA id lr6sm550689pjb.0.2021.12.01.18.00.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Dec 2021 18:00:07 -0800 (PST) Date: Thu, 2 Dec 2021 02:00:03 +0000 From: Sean Christopherson To: Maxim Levitsky Cc: Paolo Bonzini , Marc Zyngier , Huacai Chen , Aleksandar Markovic , Paul Mackerras , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Christian Borntraeger , Janosch Frank , James Morse , Alexandru Elisei , Suzuki K Poulose , Atish Patra , David Hildenbrand , Cornelia Huck , Claudio Imbrenda , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, linux-mips@vger.kernel.org, kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, David Matlack , Oliver Upton , Jing Zhang , Wei Huang Subject: Re: [PATCH v2 11/43] KVM: Don't block+unblock when halt-polling is successful Message-ID: References: <20211009021236.4122790-1-seanjc@google.com> <20211009021236.4122790-12-seanjc@google.com> <4e883728e3e5201a94eb46b56315afca5e95ad9c.camel@redhat.com> <496c2fc6-26b0-9b5d-32f4-2f9e9dd6a064@redhat.com> <880a5727-69d1-72a1-b129-b053781625ad@redhat.com> <458c0819a578ba854f00089bc312c8faa177a81a.camel@redhat.com> <32eabe7d270e5a466ba2d9345b4270b8fe27700c.camel@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <32eabe7d270e5a466ba2d9345b4270b8fe27700c.camel@redhat.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211201_180012_581246_BF83D668 X-CRM114-Status: GOOD ( 27.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBEZWMgMDIsIDIwMjEsIE1heGltIExldml0c2t5IHdyb3RlOgo+IE9uIFR1ZSwgMjAy MS0xMS0zMCBhdCAwMDo1MyArMDIwMCwgTWF4aW0gTGV2aXRza3kgd3JvdGU6Cj4gPiBPbiBNb24s IDIwMjEtMTEtMjkgYXQgMjA6MTggKzAxMDAsIFBhb2xvIEJvbnppbmkgd3JvdGU6Cj4gPiBCYXNp Y2FsbHkgd2hhdCBJIHNlZSB0aGF0Cj4gPiAgCj4gPiAxLiB2Q1BVMiBkaXNhYmxlcyBpc19ydW5u aW5nIGluIGF2aWMgcGh5c2ljYWwgaWQgY2FjaGUKPiA+IDIuIHZDUFUyIGNoZWNrcyB0aGF0IElS UiBpcyBlbXB0eSBhbmQgaXQgaXMKPiA+IDMuIHZDUFUyIGRvZXMgc2NoZWR1bGUoKTsKPiA+ICAK PiA+IGFuZCBpdCBrZWVwcyBvbiBzbGVlcGluZyBmb3JldmVyLiBJZiBJIGtpY2sgaXQgdmlhIHNp Z25hbCAKPiA+IChsaWtlIGp1c3QgZG9pbmcgJ2luZm8gcmVnaXN0ZXJzJyBxZW11IGhtcCBjb21t YW5kCj4gPiBvciBqdXN0IHN0b3AvY29udCBvbiB0aGUgc2FtZSBobXAgaW50ZXJmYWNlLCB0aGUK PiA+IHZDUFUgd2FrZXMgdXAgYW5kIG5vdGljZXMgdGhhdCBJUlIgc3VkZGVubHkgaXMgbm90IGVt cHR5LAo+ID4gYW5kIHRoZSBWTSBjb21lcyBiYWNrIHRvIGxpZmUgKGFuZCB0aGVuIGhhbmdzIGFm dGVyIGEgd2hpbGUgYWdhaW4KPiA+IHdpdGggdGhlIHNhbWUgcHJvYmxlbS4uLi4pLgo+ID4gIAo+ ID4gQXMgZmFyIGFzIEkgc2VlIGluIHRoZSB0cmFjZXMsIHRoZSBiaXQgaW4gSVJSIGNhbWUgZnJv bQo+ID4gYW5vdGhlciBWQ1BVIHdobyBkaWRuJ3QgcmVzcGVjdCB0aGUgaXJfcnVubmluZyBiaXQg YW5kIGRpZG4ndCBnZXQgCj4gPiBBVklDX0lOQ09NUExFVEVfSVBJIFZNZXhpdC4KPiA+IEkgY2Fu J3QgMTAwJSBwcm92ZSBpdCB5ZXQsIGJ1dCBldmVyeXRoaW5nIGluIHRoZSB0cmFjZSBzaG93cyB0 aGlzLgoKLi4uCgo+IEkgYW0gbm93IGFsbW9zdCBzdXJlIHRoYXQgdGhpcyBpcyBlcnJhdGEgIzEy MzUuCj4gCj4gSSBoYWQgYXR0YWNoZWQgYSBrdm0tdW5pdC10ZXN0IEkgd3JvdGUgKHBhdGNoIGFn YWluc3QgbWFzdGVyIG9mCj4gaHR0cHM6Ly9naXRsYWIuY29tL2t2bS11bml0LXRlc3RzL2t2bS11 bml0LXRlc3RzLmdpdC8pIHdoaWNoIGlzIGFibGUgdG8KPiByZXByb2R1Y2UgdGhlIGlzc3VlIG9u IHN0b2NrIDUuMTUuMCBrZXJuZWwgKCpubyBwYXRjaGVzIGFwcGxpZWQgYXQgYWxsKikKPiBhZnRl ciBqdXN0IGZldyBzZWNvbmRzLiAgSWYga3ZtIGlzIGxvYWRlZCB3aXRob3V0IGhhbHQtcG9sbGlu ZyAodGhhdCBpcwo+IGhhbHRfcG9sbF9ucz0wIGlzIHVzZWQpLgo+IAo+IEhhbHQgcG9sbGluZyBh bmQvb3IgU2VhbidzIHBhdGNoIGFyZSBub3QgdG8gYmxhbWUsIGl0IGp1c3QgY2hhbmdlcyB0aW1l aW5nLgo+IFdpdGggU2VhbidzIHBhdGNoIEkgZG9uJ3QgbmVlZCB0byBkaXNhYmxlIGhhbGYgcG9s bGluZy4KCkhtbSwgdGhhdCBzdWdnZXN0cyB0aGUgYnVnL2VycmF0dW0gaXMgZHVlIHRvIHRoZSBD UFUgY29uc3VtaW5nIHN0YWxlIGRhdGEgZnJvbSAjNApmb3IgdGhlIElzUnVubmluZyBjaGVjayBp biAjNSwgb3IgcmV0aXJpbmcgdW9wcyBmb3IgdGhlIElzUnVubmluZyBjaGVjayBiZWZvcmUKcmV0 aXJpbmcgdGhlIHZJUlIgdXBkYXRlLiAgSXQgd291bGQgYmUgaGVscGZ1bCBpZiB0aGUgZXJyYXR1 bSBhY3R1YWxseSBwcm92aWRlZAppbmZvIG9uIHRoZSAiaGlnaGx5IHNwZWNpZmljIGFuZCBkZXRh aWxlZCBzZXQgb2YgaW50ZXJuYWwgdGltaW5nIGNvbmRpdGlvbnMiLiA6LS8KCiAgNC4gTG9va3Vw IHRoZSB2QVBJQyBiYWNraW5nIHBhZ2UgYWRkcmVzcyBpbiB0aGUgUGh5c2ljYWwgQVBJQyB0YWJs ZSB1c2luZyB0aGUKICAgICBndWVzdCBwaHlzaWNhbCBBUElDIElEIGFzIGFuIGluZGV4IGludG8g dGhlIHRhYmxlLgogIDUuIEZvciBldmVyeSB2YWxpZCBkZXN0aW5hdGlvbjoKICAgICAtIEF0b21p Y2FsbHkgc2V0IHRoZSBhcHByb3ByaWF0ZSBJUlIgYml0IGluIGVhY2ggb2YgdGhlIGRlc3RpbmF0 aW9uc+KAmSB2QVBJQwogICAgICAgYmFja2luZyBwYWdlLgogICAgIC0gQ2hlY2sgdGhlIElzUnVu bmluZyBzdGF0dXMgb2YgZWFjaCBkZXN0aW5hdGlvbi4KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cmxp bnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Christopherson Date: Thu, 02 Dec 2021 01:59:42 +0000 Subject: Re: [PATCH v2 11/43] KVM: Don't block+unblock when halt-polling is successful Message-Id: List-Id: References: <20211009021236.4122790-1-seanjc@google.com> <20211009021236.4122790-12-seanjc@google.com> <4e883728e3e5201a94eb46b56315afca5e95ad9c.camel@redhat.com> <496c2fc6-26b0-9b5d-32f4-2f9e9dd6a064@redhat.com> <880a5727-69d1-72a1-b129-b053781625ad@redhat.com> <458c0819a578ba854f00089bc312c8faa177a81a.camel@redhat.com> <32eabe7d270e5a466ba2d9345b4270b8fe27700c.camel@redhat.com> In-Reply-To: <32eabe7d270e5a466ba2d9345b4270b8fe27700c.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable To: Maxim Levitsky Cc: Paolo Bonzini , Marc Zyngier , Huacai Chen , Aleksandar Markovic , Paul Mackerras , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Christian Borntraeger , Janosch Frank , James Morse , Alexandru Elisei , Suzuki K Poulose , Atish Patra , David Hildenbrand , Cornelia Huck , Claudio Imbrenda , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, linux-mips@vger.kernel.org, kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, David Matlack , Oliver Upton , Jing Zhang , Wei Huang On Thu, Dec 02, 2021, Maxim Levitsky wrote: > On Tue, 2021-11-30 at 00:53 +0200, Maxim Levitsky wrote: > > On Mon, 2021-11-29 at 20:18 +0100, Paolo Bonzini wrote: > > Basically what I see that > > =20 > > 1. vCPU2 disables is_running in avic physical id cache > > 2. vCPU2 checks that IRR is empty and it is > > 3. vCPU2 does schedule(); > > =20 > > and it keeps on sleeping forever. If I kick it via signal=20 > > (like just doing 'info registers' qemu hmp command > > or just stop/cont on the same hmp interface, the > > vCPU wakes up and notices that IRR suddenly is not empty, > > and the VM comes back to life (and then hangs after a while again > > with the same problem....). > > =20 > > As far as I see in the traces, the bit in IRR came from > > another VCPU who didn't respect the ir_running bit and didn't get=20 > > AVIC_INCOMPLETE_IPI VMexit. > > I can't 100% prove it yet, but everything in the trace shows this. ... > I am now almost sure that this is errata #1235. >=20 > I had attached a kvm-unit-test I wrote (patch against master of > https://gitlab.com/kvm-unit-tests/kvm-unit-tests.git/) which is able to > reproduce the issue on stock 5.15.0 kernel (*no patches applied at all*) > after just few seconds. If kvm is loaded without halt-polling (that is > halt_poll_ns=3D0 is used). >=20 > Halt polling and/or Sean's patch are not to blame, it just changes timein= g. > With Sean's patch I don't need to disable half polling. Hmm, that suggests the bug/erratum is due to the CPU consuming stale data f= rom #4 for the IsRunning check in #5, or retiring uops for the IsRunning check bef= ore retiring the vIRR update. It would be helpful if the erratum actually prov= ided info on the "highly specific and detailed set of internal timing conditions= ". :-/ 4. Lookup the vAPIC backing page address in the Physical APIC table using= the guest physical APIC ID as an index into the table. 5. For every valid destination: - Atomically set the appropriate IRR bit in each of the destinations= =E2=80=99 vAPIC backing page. - Check the IsRunning status of each destination.