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 1E86BC433FE for ; Thu, 2 Dec 2021 10:31:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1357019AbhLBKfM (ORCPT ); Thu, 2 Dec 2021 05:35:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38054 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345364AbhLBKfD (ORCPT ); Thu, 2 Dec 2021 05:35:03 -0500 Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 52202C06174A; Thu, 2 Dec 2021 02:31:41 -0800 (PST) Received: by mail-ed1-x532.google.com with SMTP id o20so113322176eds.10; Thu, 02 Dec 2021 02:31:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=N6k1dm8k+AuxT/kkINJ2uWzQD41QhKsh8yex3G7gZCI=; b=G/KcWY4NdiSiLbGwFVbMpplGKklwuLS8kzHzGur5jlThpat8rYTmvJEuvKnby0ikS5 iMXoT3JaN8/6uGdTfqTV64IRpBhuVbTwgoqPRIuAnlOPg4YXFHbD8LSvudKuqUlIFuXo 1B6vYQLwbiH5PukJHZ2d+B/hG4wyhNqTRUH+WJYFxX/aAnWG5ofBg3HiNT96ZFyJ9nM8 RMfYqLt3L+O6eWXJQeNtUQxDFA97RXOHZgU97mHvKCkbWJ/oRSQWohVhbpxKbOUFzh4K /WIYiCEYMqmZsjs0IaWV39/CdP/UEiDeWQkZevioyJUXTo+ileWjeLZdsdLPjDzl5ytc MDlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:message-id:date:mime-version:user-agent :subject:content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=N6k1dm8k+AuxT/kkINJ2uWzQD41QhKsh8yex3G7gZCI=; b=twvXtUdIwkILd2xrQxPd9DPruPJA0dpSSN3tSW2MwuSx3QBRkxX97vOLq1Ha28eEKm L78MWX0ObGBoo9H6MI0Sq2PSTITgP0BV0pUG9cHn24+MKTIXAqGV4Ke6O2amqRS2Z2nY IWSB6QBDmdOske8WwHnXmCKcMAQucr8t7h7a3DJUIl9LWcg8WjX8p41YjmCt/VXgLnt4 MI5ARoPGw769IZgKyxQExoqEPA8IO8/kKwkkvSu/OPI0d75rDv8YyMwmPISwNE8aDENT LCiUXOJkDKNA/62eI6t0mcG0iE4XfcnLf/hwY4xLz70eCYPfI6Rlyx7fdow/bsA402Kx NjXw== X-Gm-Message-State: AOAM530SX4EYKO9elhcLLD0QD7ZMWoUpEUyN0SzbJjbx0PJn/QGEH0jf d0ThYDvbcA+4l1KbZ/UR8Gg= X-Google-Smtp-Source: ABdhPJwhpBxx1yFRODBtJrFnn3nCW7H/sTu+w+jLDDEQAemKg7xUPHKBK5f7DJw2WZKCGsUGKU9xRg== X-Received: by 2002:a17:906:ce2a:: with SMTP id sd10mr14431289ejb.154.1638441099804; Thu, 02 Dec 2021 02:31:39 -0800 (PST) Received: from ?IPV6:2001:b07:add:ec09:c399:bc87:7b6c:fb2a? ([2001:b07:add:ec09:c399:bc87:7b6c:fb2a]) by smtp.googlemail.com with ESMTPSA id w5sm1912110edc.58.2021.12.02.02.31.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Dec 2021 02:31:39 -0800 (PST) Sender: Paolo Bonzini Message-ID: <6200f141-8e6f-fe68-9539-22aa68559cb7@redhat.com> Date: Thu, 2 Dec 2021 11:31:28 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 Subject: Re: [PATCH v2 11/43] KVM: Don't block+unblock when halt-polling is successful Content-Language: en-US To: Sean Christopherson , Maxim Levitsky Cc: 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 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> From: Paolo Bonzini In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/2/21 03:00, Sean Christopherson wrote: > 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. Yes, this seems to be an error in the implementation of step 5. In assembly, atomic operations have implicit memory barriers, but who knows what's going on in microcode. So either it's the former, or something is going on that's specific to the microcode sequencer, or it's a more mundane implementation bug. In any case, AVIC is disabled for now and will need a list of model where it works, so I'll go on and queue the first part of this series. Paolo > 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 mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by smtp.lore.kernel.org (Postfix) with ESMTP id EA60DC433F5 for ; Thu, 2 Dec 2021 10:31:44 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 5CB4C4B1AC; Thu, 2 Dec 2021 05:31:44 -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=@gmail.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 Hqs7qRtMq2+n; Thu, 2 Dec 2021 05:31:43 -0500 (EST) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 2958B4B13D; Thu, 2 Dec 2021 05:31:43 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 777E64B08E for ; Thu, 2 Dec 2021 05:31:42 -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 zyQtJOZGoLkJ for ; Thu, 2 Dec 2021 05:31:41 -0500 (EST) Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id DD76940256 for ; Thu, 2 Dec 2021 05:31:40 -0500 (EST) Received: by mail-ed1-f44.google.com with SMTP id z5so49005068edd.3 for ; Thu, 02 Dec 2021 02:31:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=N6k1dm8k+AuxT/kkINJ2uWzQD41QhKsh8yex3G7gZCI=; b=G/KcWY4NdiSiLbGwFVbMpplGKklwuLS8kzHzGur5jlThpat8rYTmvJEuvKnby0ikS5 iMXoT3JaN8/6uGdTfqTV64IRpBhuVbTwgoqPRIuAnlOPg4YXFHbD8LSvudKuqUlIFuXo 1B6vYQLwbiH5PukJHZ2d+B/hG4wyhNqTRUH+WJYFxX/aAnWG5ofBg3HiNT96ZFyJ9nM8 RMfYqLt3L+O6eWXJQeNtUQxDFA97RXOHZgU97mHvKCkbWJ/oRSQWohVhbpxKbOUFzh4K /WIYiCEYMqmZsjs0IaWV39/CdP/UEiDeWQkZevioyJUXTo+ileWjeLZdsdLPjDzl5ytc MDlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:message-id:date:mime-version:user-agent :subject:content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=N6k1dm8k+AuxT/kkINJ2uWzQD41QhKsh8yex3G7gZCI=; b=Q7iNMXYcDJhniIcwlDSL4+md/Van9NkTnyfFVuK4dHn7dWiQI8EF1VCA+YC7gDD/a4 pWf6XroyR/9RzAqRhAa6EzZkN/GngFWQH902qgJXVY77OacjIZKDbbWh7axZEmZN0NHi ZzpFR5EWeEtZ792aNJ+8y5A9SC/d4TKPSt8Sn/MDSn2DWjof9cMEdUas8QgBeqQoDIX9 087uC8xszjHz2XVzBy154wuArECaY/eYBQUYT72cp2zcgLq8+6MZfkOCoCNZAIzXCiZF BaibE7bdqnaZn8wetiXA8CJ6+Pv9eZEq9ldrDwUZNmULyIEzsTynKaerb9vqAXv3Bt4Q labA== X-Gm-Message-State: AOAM533QE08P23G5pvGWBUHL0/1chRgoTsOFOjPBuiTkHKvXYXOCiN4Q RnhfF4rbsnkjrydUQDpZ//4= X-Google-Smtp-Source: ABdhPJwhpBxx1yFRODBtJrFnn3nCW7H/sTu+w+jLDDEQAemKg7xUPHKBK5f7DJw2WZKCGsUGKU9xRg== X-Received: by 2002:a17:906:ce2a:: with SMTP id sd10mr14431289ejb.154.1638441099804; Thu, 02 Dec 2021 02:31:39 -0800 (PST) Received: from ?IPV6:2001:b07:add:ec09:c399:bc87:7b6c:fb2a? ([2001:b07:add:ec09:c399:bc87:7b6c:fb2a]) by smtp.googlemail.com with ESMTPSA id w5sm1912110edc.58.2021.12.02.02.31.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Dec 2021 02:31:39 -0800 (PST) Message-ID: <6200f141-8e6f-fe68-9539-22aa68559cb7@redhat.com> Date: Thu, 2 Dec 2021 11:31:28 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 Subject: Re: [PATCH v2 11/43] KVM: Don't block+unblock when halt-polling is successful Content-Language: en-US To: Sean Christopherson , Maxim Levitsky 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> From: Paolo Bonzini In-Reply-To: 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, 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu T24gMTIvMi8yMSAwMzowMCwgU2VhbiBDaHJpc3RvcGhlcnNvbiB3cm90ZToKPiBIbW0sIHRoYXQg c3VnZ2VzdHMgdGhlIGJ1Zy9lcnJhdHVtIGlzIGR1ZSB0byB0aGUgQ1BVIGNvbnN1bWluZyBzdGFs ZSBkYXRhIGZyb20gIzQKPiBmb3IgdGhlIElzUnVubmluZyBjaGVjayBpbiAjNSwgb3IgcmV0aXJp bmcgdW9wcyBmb3IgdGhlIElzUnVubmluZyBjaGVjayBiZWZvcmUKPiByZXRpcmluZyB0aGUgdklS UiB1cGRhdGUuCgpZZXMsIHRoaXMgc2VlbXMgdG8gYmUgYW4gZXJyb3IgaW4gdGhlIGltcGxlbWVu dGF0aW9uIG9mIHN0ZXAgNS4gIEluIAphc3NlbWJseSwgYXRvbWljIG9wZXJhdGlvbnMgaGF2ZSBp bXBsaWNpdCBtZW1vcnkgYmFycmllcnMsIGJ1dCB3aG8ga25vd3MgCndoYXQncyBnb2luZyBvbiBp biBtaWNyb2NvZGUuICBTbyBlaXRoZXIgaXQncyB0aGUgZm9ybWVyLCBvciBzb21ldGhpbmcgCmlz IGdvaW5nIG9uIHRoYXQncyBzcGVjaWZpYyB0byB0aGUgbWljcm9jb2RlIHNlcXVlbmNlciwgb3Ig aXQncyBhIG1vcmUgCm11bmRhbmUgaW1wbGVtZW50YXRpb24gYnVnLgoKSW4gYW55IGNhc2UsIEFW SUMgaXMgZGlzYWJsZWQgZm9yIG5vdyBhbmQgd2lsbCBuZWVkIGEgbGlzdCBvZiBtb2RlbCAKd2hl cmUgaXQgd29ya3MsIHNvIEknbGwgZ28gb24gYW5kIHF1ZXVlIHRoZSBmaXJzdCBwYXJ0IG9mIHRo aXMgc2VyaWVzLgoKUGFvbG8KCj4gSXQgd291bGQgYmUgaGVscGZ1bCBpZiB0aGUgZXJyYXR1bSBh Y3R1YWxseSBwcm92aWRlZAo+IGluZm8gb24gdGhlICJoaWdobHkgc3BlY2lmaWMgYW5kIGRldGFp bGVkIHNldCBvZiBpbnRlcm5hbCB0aW1pbmcgY29uZGl0aW9ucyIuIDotLwo+IAo+ICAgIDQuIExv b2t1cCB0aGUgdkFQSUMgYmFja2luZyBwYWdlIGFkZHJlc3MgaW4gdGhlIFBoeXNpY2FsIEFQSUMg dGFibGUgdXNpbmcgdGhlCj4gICAgICAgZ3Vlc3QgcGh5c2ljYWwgQVBJQyBJRCBhcyBhbiBpbmRl eCBpbnRvIHRoZSB0YWJsZS4KPiAgICA1LiBGb3IgZXZlcnkgdmFsaWQgZGVzdGluYXRpb246Cj4g ICAgICAgLSBBdG9taWNhbGx5IHNldCB0aGUgYXBwcm9wcmlhdGUgSVJSIGJpdCBpbiBlYWNoIG9m IHRoZSBkZXN0aW5hdGlvbnPigJkgdkFQSUMKPiAgICAgICAgIGJhY2tpbmcgcGFnZS4KPiAgICAg ICAtIENoZWNrIHRoZSBJc1J1bm5pbmcgc3RhdHVzIG9mIGVhY2ggZGVzdGluYXRpb24uCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwprdm1hcm0gbWFpbGlu ZyBsaXN0Cmt2bWFybUBsaXN0cy5jcy5jb2x1bWJpYS5lZHUKaHR0cHM6Ly9saXN0cy5jcy5jb2x1 bWJpYS5lZHUvbWFpbG1hbi9saXN0aW5mby9rdm1hcm0K 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 3F8E2C433EF for ; Thu, 2 Dec 2021 10:32:05 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ndgXJ4R5cfAhy4RRf9k0sx8/EG5GgwY1tqx4OKtm8J4=; b=NWvPwjtWZWrSQM IcbNharNWWtnQ9z2ggazodLGTyWOPxtinIw0CW7Bz5InNFeOehlmFBf/d2wLjryTwHKiNtCAXvAKw AK1EJcrlVpIy9sbiODqRdG3lEdd64Z77gwEbxxGFQ4WznNREYTJyd6bYuLGfBIB8yhyJDzZixl6SX PuaFL++B4+vsMz1MBy+PofbnI288rihrJOZCFHCdBRh6k4UBazfSw96E576NzOzkppVUIEHFcJcyC C7zS2dCXggXE0bPLvYV36vgtej6xO8IbwUoZdp5F/v8H9EYbjmpAc4zZzZ+WjFUJv5C1Ho8Bl86rv kkCgXb9y60FXMUVL5ocQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1msjNe-00Bq6c-EP; Thu, 02 Dec 2021 10:31:58 +0000 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1msjNO-00Bq0v-Ab; Thu, 02 Dec 2021 10:31:43 +0000 Received: by mail-ed1-x52e.google.com with SMTP id l25so113865695eda.11; Thu, 02 Dec 2021 02:31:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=N6k1dm8k+AuxT/kkINJ2uWzQD41QhKsh8yex3G7gZCI=; b=G/KcWY4NdiSiLbGwFVbMpplGKklwuLS8kzHzGur5jlThpat8rYTmvJEuvKnby0ikS5 iMXoT3JaN8/6uGdTfqTV64IRpBhuVbTwgoqPRIuAnlOPg4YXFHbD8LSvudKuqUlIFuXo 1B6vYQLwbiH5PukJHZ2d+B/hG4wyhNqTRUH+WJYFxX/aAnWG5ofBg3HiNT96ZFyJ9nM8 RMfYqLt3L+O6eWXJQeNtUQxDFA97RXOHZgU97mHvKCkbWJ/oRSQWohVhbpxKbOUFzh4K /WIYiCEYMqmZsjs0IaWV39/CdP/UEiDeWQkZevioyJUXTo+ileWjeLZdsdLPjDzl5ytc MDlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:message-id:date:mime-version:user-agent :subject:content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=N6k1dm8k+AuxT/kkINJ2uWzQD41QhKsh8yex3G7gZCI=; b=bWKIdJz1Vvsykprv9OOgOEkCYWeaNTg2ih9AexZ1CLJSYrpewzSQ6gkBuhhkV8gLsf FUMEvGTowmplr/Jz+LgzyYiRpz3FL5EUEX+s8KJVNTOarWnh1IAEtDX/U1+yZAblISfn ioR1Gu68urjY1wNmRAptIGh0ncFBp9g/2DUYmHbDkNuF24dfzUS8vbw0hnxoHRrL2hb6 WlBFViAcm6omCsY1xevH8enZ+KDnY5NpVnonkxrRXLeOAi+3fxVPxQIyAQK7+PoU0QAx u/CkPK0u5FxcWv2wiabdKvbnAnuqOpzowkJ3zFC57jTI70ZQcwLN5Exs40WRFxTNYlaQ /AVA== X-Gm-Message-State: AOAM5328fj6R0W4VcBVNlQRVBX62AKubqiGrPlhhrjQukUyIxYYHtoDY y+M7xNxCxq1ksjyfKX9fM0s= X-Google-Smtp-Source: ABdhPJwhpBxx1yFRODBtJrFnn3nCW7H/sTu+w+jLDDEQAemKg7xUPHKBK5f7DJw2WZKCGsUGKU9xRg== X-Received: by 2002:a17:906:ce2a:: with SMTP id sd10mr14431289ejb.154.1638441099804; Thu, 02 Dec 2021 02:31:39 -0800 (PST) Received: from ?IPV6:2001:b07:add:ec09:c399:bc87:7b6c:fb2a? ([2001:b07:add:ec09:c399:bc87:7b6c:fb2a]) by smtp.googlemail.com with ESMTPSA id w5sm1912110edc.58.2021.12.02.02.31.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Dec 2021 02:31:39 -0800 (PST) Message-ID: <6200f141-8e6f-fe68-9539-22aa68559cb7@redhat.com> Date: Thu, 2 Dec 2021 11:31:28 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 Subject: Re: [PATCH v2 11/43] KVM: Don't block+unblock when halt-polling is successful Content-Language: en-US To: Sean Christopherson , Maxim Levitsky Cc: 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 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> From: Paolo Bonzini In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211202_023142_415023_36028864 X-CRM114-Status: GOOD ( 14.20 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gMTIvMi8yMSAwMzowMCwgU2VhbiBDaHJpc3RvcGhlcnNvbiB3cm90ZToKPiBIbW0sIHRoYXQg c3VnZ2VzdHMgdGhlIGJ1Zy9lcnJhdHVtIGlzIGR1ZSB0byB0aGUgQ1BVIGNvbnN1bWluZyBzdGFs ZSBkYXRhIGZyb20gIzQKPiBmb3IgdGhlIElzUnVubmluZyBjaGVjayBpbiAjNSwgb3IgcmV0aXJp bmcgdW9wcyBmb3IgdGhlIElzUnVubmluZyBjaGVjayBiZWZvcmUKPiByZXRpcmluZyB0aGUgdklS UiB1cGRhdGUuCgpZZXMsIHRoaXMgc2VlbXMgdG8gYmUgYW4gZXJyb3IgaW4gdGhlIGltcGxlbWVu dGF0aW9uIG9mIHN0ZXAgNS4gIEluIAphc3NlbWJseSwgYXRvbWljIG9wZXJhdGlvbnMgaGF2ZSBp bXBsaWNpdCBtZW1vcnkgYmFycmllcnMsIGJ1dCB3aG8ga25vd3MgCndoYXQncyBnb2luZyBvbiBp biBtaWNyb2NvZGUuICBTbyBlaXRoZXIgaXQncyB0aGUgZm9ybWVyLCBvciBzb21ldGhpbmcgCmlz IGdvaW5nIG9uIHRoYXQncyBzcGVjaWZpYyB0byB0aGUgbWljcm9jb2RlIHNlcXVlbmNlciwgb3Ig aXQncyBhIG1vcmUgCm11bmRhbmUgaW1wbGVtZW50YXRpb24gYnVnLgoKSW4gYW55IGNhc2UsIEFW SUMgaXMgZGlzYWJsZWQgZm9yIG5vdyBhbmQgd2lsbCBuZWVkIGEgbGlzdCBvZiBtb2RlbCAKd2hl cmUgaXQgd29ya3MsIHNvIEknbGwgZ28gb24gYW5kIHF1ZXVlIHRoZSBmaXJzdCBwYXJ0IG9mIHRo aXMgc2VyaWVzLgoKUGFvbG8KCj4gSXQgd291bGQgYmUgaGVscGZ1bCBpZiB0aGUgZXJyYXR1bSBh Y3R1YWxseSBwcm92aWRlZAo+IGluZm8gb24gdGhlICJoaWdobHkgc3BlY2lmaWMgYW5kIGRldGFp bGVkIHNldCBvZiBpbnRlcm5hbCB0aW1pbmcgY29uZGl0aW9ucyIuIDotLwo+IAo+ICAgIDQuIExv b2t1cCB0aGUgdkFQSUMgYmFja2luZyBwYWdlIGFkZHJlc3MgaW4gdGhlIFBoeXNpY2FsIEFQSUMg dGFibGUgdXNpbmcgdGhlCj4gICAgICAgZ3Vlc3QgcGh5c2ljYWwgQVBJQyBJRCBhcyBhbiBpbmRl eCBpbnRvIHRoZSB0YWJsZS4KPiAgICA1LiBGb3IgZXZlcnkgdmFsaWQgZGVzdGluYXRpb246Cj4g ICAgICAgLSBBdG9taWNhbGx5IHNldCB0aGUgYXBwcm9wcmlhdGUgSVJSIGJpdCBpbiBlYWNoIG9m IHRoZSBkZXN0aW5hdGlvbnPigJkgdkFQSUMKPiAgICAgICAgIGJhY2tpbmcgcGFnZS4KPiAgICAg ICAtIENoZWNrIHRoZSBJc1J1bm5pbmcgc3RhdHVzIG9mIGVhY2ggZGVzdGluYXRpb24uCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3Yg bWFpbGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo= 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 89C58C433F5 for ; Thu, 2 Dec 2021 10:33:08 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=d0N8hSB6UNPmbKLE/HEg0MIZSgUJ78H3vU8sqCvW0O0=; b=PDOIdIgHUUeZ1z rxHEtq83NjaQvvzpjWHGr7RrIQNDdPpJV6l/5sf2dRyjmaiMjhlnFTpMYf4ZP/z51aVHr7vIFhXGc n7kVp+B6EAoBPrs4tRbpojgFN2KxPzlLYesGiu/gD5E08XmfcdGxcbO/5g7q8tth9LVZFv0wT+xF5 Q+CPR/7KIcLooakDocV6RBEEafW9yS1FoF/Lwb9IRvUTeDN0IWQQP4QkIdT5Qd8Ecwk0BepRkyGic 0j4Lra56dYqu/JWEW5xtMhz568QVoya9qRtZwTQaYt2ELfuR8NVrXi1w1hgKByJmrMopokxvZ3sC5 gRI5I5FYsWRffzqS+PnA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1msjNS-00Bq2l-Di; Thu, 02 Dec 2021 10:31:46 +0000 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1msjNO-00Bq0v-Ab; Thu, 02 Dec 2021 10:31:43 +0000 Received: by mail-ed1-x52e.google.com with SMTP id l25so113865695eda.11; Thu, 02 Dec 2021 02:31:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=N6k1dm8k+AuxT/kkINJ2uWzQD41QhKsh8yex3G7gZCI=; b=G/KcWY4NdiSiLbGwFVbMpplGKklwuLS8kzHzGur5jlThpat8rYTmvJEuvKnby0ikS5 iMXoT3JaN8/6uGdTfqTV64IRpBhuVbTwgoqPRIuAnlOPg4YXFHbD8LSvudKuqUlIFuXo 1B6vYQLwbiH5PukJHZ2d+B/hG4wyhNqTRUH+WJYFxX/aAnWG5ofBg3HiNT96ZFyJ9nM8 RMfYqLt3L+O6eWXJQeNtUQxDFA97RXOHZgU97mHvKCkbWJ/oRSQWohVhbpxKbOUFzh4K /WIYiCEYMqmZsjs0IaWV39/CdP/UEiDeWQkZevioyJUXTo+ileWjeLZdsdLPjDzl5ytc MDlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:message-id:date:mime-version:user-agent :subject:content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=N6k1dm8k+AuxT/kkINJ2uWzQD41QhKsh8yex3G7gZCI=; b=bWKIdJz1Vvsykprv9OOgOEkCYWeaNTg2ih9AexZ1CLJSYrpewzSQ6gkBuhhkV8gLsf FUMEvGTowmplr/Jz+LgzyYiRpz3FL5EUEX+s8KJVNTOarWnh1IAEtDX/U1+yZAblISfn ioR1Gu68urjY1wNmRAptIGh0ncFBp9g/2DUYmHbDkNuF24dfzUS8vbw0hnxoHRrL2hb6 WlBFViAcm6omCsY1xevH8enZ+KDnY5NpVnonkxrRXLeOAi+3fxVPxQIyAQK7+PoU0QAx u/CkPK0u5FxcWv2wiabdKvbnAnuqOpzowkJ3zFC57jTI70ZQcwLN5Exs40WRFxTNYlaQ /AVA== X-Gm-Message-State: AOAM5328fj6R0W4VcBVNlQRVBX62AKubqiGrPlhhrjQukUyIxYYHtoDY y+M7xNxCxq1ksjyfKX9fM0s= X-Google-Smtp-Source: ABdhPJwhpBxx1yFRODBtJrFnn3nCW7H/sTu+w+jLDDEQAemKg7xUPHKBK5f7DJw2WZKCGsUGKU9xRg== X-Received: by 2002:a17:906:ce2a:: with SMTP id sd10mr14431289ejb.154.1638441099804; Thu, 02 Dec 2021 02:31:39 -0800 (PST) Received: from ?IPV6:2001:b07:add:ec09:c399:bc87:7b6c:fb2a? ([2001:b07:add:ec09:c399:bc87:7b6c:fb2a]) by smtp.googlemail.com with ESMTPSA id w5sm1912110edc.58.2021.12.02.02.31.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Dec 2021 02:31:39 -0800 (PST) Message-ID: <6200f141-8e6f-fe68-9539-22aa68559cb7@redhat.com> Date: Thu, 2 Dec 2021 11:31:28 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 Subject: Re: [PATCH v2 11/43] KVM: Don't block+unblock when halt-polling is successful Content-Language: en-US To: Sean Christopherson , Maxim Levitsky Cc: 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 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> From: Paolo Bonzini In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211202_023142_415023_36028864 X-CRM114-Status: GOOD ( 14.20 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMTIvMi8yMSAwMzowMCwgU2VhbiBDaHJpc3RvcGhlcnNvbiB3cm90ZToKPiBIbW0sIHRoYXQg c3VnZ2VzdHMgdGhlIGJ1Zy9lcnJhdHVtIGlzIGR1ZSB0byB0aGUgQ1BVIGNvbnN1bWluZyBzdGFs ZSBkYXRhIGZyb20gIzQKPiBmb3IgdGhlIElzUnVubmluZyBjaGVjayBpbiAjNSwgb3IgcmV0aXJp bmcgdW9wcyBmb3IgdGhlIElzUnVubmluZyBjaGVjayBiZWZvcmUKPiByZXRpcmluZyB0aGUgdklS UiB1cGRhdGUuCgpZZXMsIHRoaXMgc2VlbXMgdG8gYmUgYW4gZXJyb3IgaW4gdGhlIGltcGxlbWVu dGF0aW9uIG9mIHN0ZXAgNS4gIEluIAphc3NlbWJseSwgYXRvbWljIG9wZXJhdGlvbnMgaGF2ZSBp bXBsaWNpdCBtZW1vcnkgYmFycmllcnMsIGJ1dCB3aG8ga25vd3MgCndoYXQncyBnb2luZyBvbiBp biBtaWNyb2NvZGUuICBTbyBlaXRoZXIgaXQncyB0aGUgZm9ybWVyLCBvciBzb21ldGhpbmcgCmlz IGdvaW5nIG9uIHRoYXQncyBzcGVjaWZpYyB0byB0aGUgbWljcm9jb2RlIHNlcXVlbmNlciwgb3Ig aXQncyBhIG1vcmUgCm11bmRhbmUgaW1wbGVtZW50YXRpb24gYnVnLgoKSW4gYW55IGNhc2UsIEFW SUMgaXMgZGlzYWJsZWQgZm9yIG5vdyBhbmQgd2lsbCBuZWVkIGEgbGlzdCBvZiBtb2RlbCAKd2hl cmUgaXQgd29ya3MsIHNvIEknbGwgZ28gb24gYW5kIHF1ZXVlIHRoZSBmaXJzdCBwYXJ0IG9mIHRo aXMgc2VyaWVzLgoKUGFvbG8KCj4gSXQgd291bGQgYmUgaGVscGZ1bCBpZiB0aGUgZXJyYXR1bSBh Y3R1YWxseSBwcm92aWRlZAo+IGluZm8gb24gdGhlICJoaWdobHkgc3BlY2lmaWMgYW5kIGRldGFp bGVkIHNldCBvZiBpbnRlcm5hbCB0aW1pbmcgY29uZGl0aW9ucyIuIDotLwo+IAo+ICAgIDQuIExv b2t1cCB0aGUgdkFQSUMgYmFja2luZyBwYWdlIGFkZHJlc3MgaW4gdGhlIFBoeXNpY2FsIEFQSUMg dGFibGUgdXNpbmcgdGhlCj4gICAgICAgZ3Vlc3QgcGh5c2ljYWwgQVBJQyBJRCBhcyBhbiBpbmRl eCBpbnRvIHRoZSB0YWJsZS4KPiAgICA1LiBGb3IgZXZlcnkgdmFsaWQgZGVzdGluYXRpb246Cj4g ICAgICAgLSBBdG9taWNhbGx5IHNldCB0aGUgYXBwcm9wcmlhdGUgSVJSIGJpdCBpbiBlYWNoIG9m IHRoZSBkZXN0aW5hdGlvbnPigJkgdkFQSUMKPiAgICAgICAgIGJhY2tpbmcgcGFnZS4KPiAgICAg ICAtIENoZWNrIHRoZSBJc1J1bm5pbmcgc3RhdHVzIG9mIGVhY2ggZGVzdGluYXRpb24uCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtl cm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5l bAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Date: Thu, 02 Dec 2021 10:31:28 +0000 Subject: Re: [PATCH v2 11/43] KVM: Don't block+unblock when halt-polling is successful Message-Id: <6200f141-8e6f-fe68-9539-22aa68559cb7@redhat.com> 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: MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable To: Sean Christopherson , Maxim Levitsky Cc: 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 12/2/21 03:00, Sean Christopherson wrote: > 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 b= efore > retiring the vIRR update. Yes, this seems to be an error in the implementation of step 5. In=20 assembly, atomic operations have implicit memory barriers, but who knows=20 what's going on in microcode. So either it's the former, or something=20 is going on that's specific to the microcode sequencer, or it's a more=20 mundane implementation bug. In any case, AVIC is disabled for now and will need a list of model=20 where it works, so I'll go on and queue the first part of this series. Paolo > It would be helpful if the erratum actually provided > info on the "highly specific and detailed set of internal timing conditio= ns". :-/ >=20 > 4. Lookup the vAPIC backing page address in the Physical APIC table us= ing 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 destination= s=E2=80=99 vAPIC > backing page. > - Check the IsRunning status of each destination.