Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp1119389ybb; Wed, 1 Apr 2020 16:16:15 -0700 (PDT) X-Google-Smtp-Source: APiQypLM7Bj86+GDD8bJg6t+6CY7BMhGs9eg8lOK7yVKpl1r0MRlBLs6ewPaOWgOuViLCSr5bFZh X-Received: by 2002:a9d:68d0:: with SMTP id i16mr186561oto.291.1585782975046; Wed, 01 Apr 2020 16:16:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585782975; cv=none; d=google.com; s=arc-20160816; b=ijx7lbk1fzNrb2pqg7ntprd0k7Gia8CqG3byyPmxQx7K3QhYfxoT41CCJVynUHhpmn 0DRgfYveR51+SjuEEE6QiW/cFIJeC30snwGvehUWr1FESoVEmWYoQQ7+X3rFyejHP0ze 6KX6WCLHoIsAK6HzYvEP0Jl+IaJQH+FgX87KSvmDJ+1g7AMi4rDQh3VR0DmLIw9gv0S9 UsmWDsfuiAUJ/RyRRQPIo/sirm7NptKblZnieZjBySN5rn7afV49Q+yqQjuu1nA/gSbs Xn7mXWZdl5LKuIrJWgQM929puFAotvLklAd0jIr/SmKRKeQqlPSwwwiG2VBAjuJV9/dI 5G2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:ironport-sdr:ironport-sdr; bh=6iolyk4TeGnqOY4U+cB9c4m8Od5b4tvkNHui1oDqNYY=; b=f3FjLNVLeXizeqUob6bJNWMq3MdCiLlZH4ExohjXYPWPMU75FbOlSFV/Dix+W9K331 +QZLq9Eni20hpWe2NN5KUAQEjvjFRJbvunC8P6HqQhfBfjo1SvoHPdisvoakwuqk0PFD TBSVm0SSlDIzOCiaOYaviVlIekWRYaTM6uY6wQOAUob5TbJ+AkYCb18ANHA2gCowqz0P 1Ha58+SuRvfu/Z6HUX28G9/NEHJysu7t4EgJ5vsT4TUkOzELNKmPslISE8jszJ53CA2O 8oYFBMN1NuH3ZpZuF6tXgTbp9OacWFj4qXIQpasyN3XwDZl30r3E0ysff4eikM2xquJo I6eA== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l25si1474239otb.234.2020.04.01.16.16.00; Wed, 01 Apr 2020 16:16:15 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733300AbgDAXBI (ORCPT + 99 others); Wed, 1 Apr 2020 19:01:08 -0400 Received: from mga17.intel.com ([192.55.52.151]:34041 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732537AbgDAXBI (ORCPT ); Wed, 1 Apr 2020 19:01:08 -0400 IronPort-SDR: e1DY0cHw2HDK5Ow55JQY8vbOpoPaCZbUJFdLDD0/GF4ONuMXPhD9Xe1Hy+RASb3CPo2OUd95Pt dRbxnzCnCsPg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Apr 2020 16:01:07 -0700 IronPort-SDR: c8aegkgBR93uXjxZA+7OGa8JwuBeJpCRXw6HLauhJt8LJ7ID7HNB1NmEbLhnFS9NYUIF/3zPKE KAwKlAdc/UdQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,333,1580803200"; d="scan'208";a="396156610" Received: from sjchrist-coffee.jf.intel.com (HELO linux.intel.com) ([10.54.74.202]) by orsmga004.jf.intel.com with ESMTP; 01 Apr 2020 16:01:00 -0700 Date: Wed, 1 Apr 2020 16:01:00 -0700 From: Sean Christopherson To: Nadav Amit Cc: Wanpeng Li , Paolo Bonzini , LKML , kvm , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel Subject: Re: [PATCH v2 2/2] KVM: LAPIC: Don't need to clear IPI delivery status in x2apic mode Message-ID: <20200401230100.GE9603@linux.intel.com> 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> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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.