Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp1161857ybb; Wed, 1 Apr 2020 17:15:51 -0700 (PDT) X-Google-Smtp-Source: APiQypK7YYW7RxCw11wJ9Kp4s0tsHxA+QbAyc0oFQL07h3IcCxrM1D6DEBX5jkxQulJooAJllhqA X-Received: by 2002:a05:6830:146:: with SMTP id j6mr361156otp.117.1585786551652; Wed, 01 Apr 2020 17:15:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585786551; cv=none; d=google.com; s=arc-20160816; b=nKvSCgBpDETsfu+A/wVEvBd98Hpd59f4T/cuc2DlbFVL7G82B1JVFf+ksVVcsE7HX9 s72kKBSTcy26gQGjjT5PAVde2lCcii9735eOvJEmINMH16WraEC4xJ79XbhI2trJR0JH E+VeTj0PPwMRHR5MZc94r0ZH0EFB+wBbdZtMd4C+4/hC89rVtnxsxccZ47a3puClEkbf Lti+SdupSz6syyDW3ZkNQX6MV1yyvE4c75SCLaCDF4IB6BQ4BhRil3aim0m6tsxXQmze 7u62nYDdUp5hJ85kh8Zj1NFd4ntNT7HERstDUA1xKqkkwevOELmuGM3gtHFlI+rzYURg 9ylQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=klVPjyyJRn9Ce0U12Zt30pNh36uPBeOjBoM8Z9HJi78=; b=uH1/sYc/z9lhhFqrrijlCv39x8H32UQK9lukIo24FwiXtzkJQFModXXXsX8flaeEzZ L0MVcExPN91DUjm6MEePFDok/QvS9zXOHHVezEhjC1RWO5S7Wp1e5I7qUq+iuGgDSkrM EQH4RXjcbCp54Jf3xIwTDeHiXtvCYDOIG0uVi8juQZdleIOMvRrgYn8dvMxlg/X236JK 3UWvSnp06tyzSaZdtpoZGDeQeSR7j1W2LzDedWOKPd2DrBMWcU681zaGjaB9EtS2LI88 CWGspbjTUEQ9ayOtl18s/oTpZRAL1Dc1+rmjgDBb/ZWeAessroztJGUPWqqbDqD/RREi 6puQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="SZ/onoFg"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 97si1419856oth.209.2020.04.01.17.15.39; Wed, 01 Apr 2020 17:15:51 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="SZ/onoFg"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733269AbgDBAOr (ORCPT + 99 others); Wed, 1 Apr 2020 20:14:47 -0400 Received: from mail-oi1-f196.google.com ([209.85.167.196]:42637 "EHLO mail-oi1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732527AbgDBAOr (ORCPT ); Wed, 1 Apr 2020 20:14:47 -0400 Received: by mail-oi1-f196.google.com with SMTP id e4so1244373oig.9; Wed, 01 Apr 2020 17:14:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=klVPjyyJRn9Ce0U12Zt30pNh36uPBeOjBoM8Z9HJi78=; b=SZ/onoFgFTgDMxXXOATDMWC5BsRg2I/S0kVdr0CKA0EKjlkrexnFLj4njG0QBw8qj1 sOdSwop/KvZ1hPcKDvrTppUF0AmRZzdEDPXsc8RkLpytRb7NYTaHuvu2UeHdE4iXCbfX qzwpdA7L8KAAI3tWtQzuUzdOk0tDCePEtUwC1aLMed4X4zRnI5G0f3QU7z0O9WGOySPi JHsqrE1bAh2x1rHC9ZuTGEufWwYK1yI1DyZeQnLEXDBVN+2/zeOJwq/KXuAkW39M3iAE S7jVKXLdS7DaKjfmNhNfejQGLnUz/rmefa94Vf9H7pq9VHEdk2MJnEW8h0npqs9g/UQh dXBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=klVPjyyJRn9Ce0U12Zt30pNh36uPBeOjBoM8Z9HJi78=; b=RSTpP3U/93ALPoX0jfIxPCu3YRX0YZDxe2ztMCT1q9Ediwp9HXUmCxEBp2CRkGEmJO HDa4oWJVPg+m0mnifX/Wq2NZMZBzjXHoBEeFZdk8tl8cztJqMvNbOVvz6vxkPP1uReEQ u8hWOZ64gBBsiUmhxnQmvDdDzOKahSqttEAcW1JVhOx+rWGFfRjNnt2p60H0Qgwf9QeA Q/CEu0lL+yttUPMXYN3/m1gbbs9TKQJxNfw1XFi3cFMlf/l6wQ5gNaX4nCiVlSlKbbNv eySh0Rlhttbjl/VBzPIhuAdOwL42apwvFktss1udexSkIkGwFOdD9Hvd0dcwWatwSbvj 0CCQ== X-Gm-Message-State: AGi0PubjA+UaKjWvdjorzhn1LH2+dqBs8gfGAxmSfYLJBF3wiWe7kfrg 3TVgC2MHLSZzJXOMn6pcU4471olHxHaQRIGcv04= X-Received: by 2002:a54:4094:: with SMTP id i20mr391678oii.141.1585786486773; Wed, 01 Apr 2020 17:14:46 -0700 (PDT) MIME-Version: 1.0 References: <1585700362-11892-1-git-send-email-wanpengli@tencent.com> <1585700362-11892-2-git-send-email-wanpengli@tencent.com> <6de1a454-60fc-2bda-841d-f9ceb606d4c6@redhat.com> <20200401230100.GE9603@linux.intel.com> In-Reply-To: <20200401230100.GE9603@linux.intel.com> From: Wanpeng Li Date: Thu, 2 Apr 2020 08:14:34 +0800 Message-ID: Subject: Re: [PATCH v2 2/2] KVM: LAPIC: Don't need to clear IPI delivery status in x2apic mode To: Sean Christopherson Cc: Nadav Amit , Paolo Bonzini , LKML , kvm , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2 Apr 2020 at 07:01, Sean Christopherson wrote: > > On Wed, Apr 01, 2020 at 05:40:03PM +0000, Nadav Amit wrote: > > > On Mar 31, 2020, at 11:46 PM, Wanpeng Li wrote: > > > > > > Cc more people, > > > On Wed, 1 Apr 2020 at 08:35, Paolo Bonzini wrote: > > >> On 01/04/20 02:19, Wanpeng Li wrote: > > >>> - /* No delay here, so we always clear the pending bit */ > > >>> - val &= ~(1 << 12); > > >>> + /* Immediately clear Delivery Status in xAPIC mode */ > > >>> + if (!apic_x2apic_mode(apic)) > > >>> + val &= ~(1 << 12); > > >> > > >> This adds a conditional, and the old behavior was valid according to the > > >> SDM: "software should not assume the value returned by reading the ICR > > >> is the last written value". > > > > > > Nadav, Sean, what do you think? > > > > I do not know. But if you write a KVM unit-test, I can run it on bare-metal > > and give you feedback about how it behaves. > > I agree with Paolo, clearing the bit doesn't violate the SDM. The > conditional is just as costly as the AND, if not more so, even for x2APIC. > > I would play it safe and clear the bit even in the x2APIC only path to > avoid tripping up guest kernels that loop on the delivery status even when > using x2APIC. Fair enough. Wanpeng