Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp475733ybc; Tue, 19 Nov 2019 04:28:36 -0800 (PST) X-Google-Smtp-Source: APXvYqyeVCYosrOO2mM+we9eHaKzTNFfjLy0Z4d1tpikvt4hukuUN8mtNRjAgV7usWYaqPnhrTwx X-Received: by 2002:adf:f489:: with SMTP id l9mr34679481wro.337.1574166515911; Tue, 19 Nov 2019 04:28:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574166515; cv=none; d=google.com; s=arc-20160816; b=mnqDHGHkxRdm9VAlpyji2FuxDLHyGQqicsBc2gbTPoup7T3LlLb7iOq83NZDvHTcLJ Y+2z+hEo/siiq9LWmn5b4aY8Cvh1bYkzIV61PEXdw7d+2EMW24tbVXz2zklrbpzkE34y CdNMGpFSZw5G+aCWYaGcX0UWVcESkZPa0tKUX7pM1GIBErUoioouXvW4AIT/GaR2P5Lh 66vR6NO9yTeKGBeDX5ajE8Tb1ertxpduOROLYdNMcEY3W3+5iAvXeGPXXFNfDCJ0tqwF dS5VKNOC7+LlnRjBeb3U0Zbvf0ulB5v6pvAVljEGcPTajMekXIb7wU7LGFU2zYk8xkWo KKlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:references:in-reply-to:subject:cc:to:from :dkim-signature; bh=J3mOxYKpBUtrD3Eqhq7wj1DaBWOdzGNG7B02AqP8/hk=; b=hRJJ01vLyNZL72GnKR/i5f4U3/aBbj4BGOp+3uLWCE9pcO1UGcaJyP/REZa4HZ6RZ+ F1qoE/pgbV9NkhDZOmj2T2cQ+4skoxP5w8R1Ak2iilAkJ3g62ikw2oiSOeCrpW1KM75j hTcVFyAZcRB7TZtBw1kQF/R756ynL1cHSIIlJsPwaQLalMmzpa//1sz2VPv0EUFd1E7A CjOiMiup1SKaKg03ZHkOzovBJ/QW7KHQPfwFvdEphthkVikXvaNHEzTI8ubWV7X7ueMr ffBYumQDcNC5px9rQ9EI2uF9NAlbFSLT5f0c+zCQnP0i6RgONprjc3kNFOj3JTBoBlUu HTyw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=NLkWeI8u; 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=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c11si14175641edb.425.2019.11.19.04.28.10; Tue, 19 Nov 2019 04:28:35 -0800 (PST) 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=@redhat.com header.s=mimecast20190719 header.b=NLkWeI8u; 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=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727963AbfKSM06 (ORCPT + 99 others); Tue, 19 Nov 2019 07:26:58 -0500 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:36480 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726555AbfKSM05 (ORCPT ); Tue, 19 Nov 2019 07:26:57 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1574166416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=J3mOxYKpBUtrD3Eqhq7wj1DaBWOdzGNG7B02AqP8/hk=; b=NLkWeI8ucX14T04b25xPQAKDIVsvWm9r1sJU41iuRVI49PqH1o5Ad4zOpTPB4kSmeM9SAX IBhDlH60NDojRgnI0GooYVT/1Dspzp9W36KkyyY1yj6iDGhsLvB3VeQjhmjtPXyRo20jUg NR8RdD0j920ad7nYgX41fxKb6tQKcbg= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-186--gp4uBufNUSA0e-H8apqKw-1; Tue, 19 Nov 2019 07:26:53 -0500 Received: by mail-wr1-f72.google.com with SMTP id p4so18100002wrw.15 for ; Tue, 19 Nov 2019 04:26:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version; bh=awmu6I9Y99dmJSWRPIQLmc8tQlVRK2cI0mOpA3pzvDw=; b=Zy+SYI1hkaWUcjnIOr2TN+QGkGx1tsC/91RKEgbpGkN502aX1wtLm3BNuoovfT1FYZ AeHnrmqWV7W7cvB6g30M/itRO6su6+1jMoGEPozcDbqFcZ5i64//blJYWlufG0Z21mAz obGZxOnQwRLKFJ6sMh4HcocS2piR2ArtHK9y+DqTdTIAY2PtiplVehE6FStVxcEgBNbY uvB/d7+ciWudLyoccw6PJY4bKckBJ4bRT3EHl2wgC2dA6x2eaSvEd3zzEBQTqIlGrCc1 1NEs86/WVM/8g6DsbXk63Sb3ZzbQO+nbw7ijvSNUMCT2A/OLTrQfXksllgRM4pWunkIg jBow== X-Gm-Message-State: APjAAAW1c6jAYuTUrtDu1i9Re8mCzuCFj7XjuFyWyISGIDDUxDUNNgAD M4RJStinFpA9Jpf3mENNG9CK0FtpTnfPTPKCEOXTyuAXUN78gF0HV2WFTouIHCnFPl5pH6hUJUR hvXQ8DSkY3evnqNgROcJtNhpw X-Received: by 2002:a5d:4ecd:: with SMTP id s13mr24376672wrv.216.1574166412579; Tue, 19 Nov 2019 04:26:52 -0800 (PST) X-Received: by 2002:a5d:4ecd:: with SMTP id s13mr24376651wrv.216.1574166412383; Tue, 19 Nov 2019 04:26:52 -0800 (PST) Received: from vitty.brq.redhat.com (nat-pool-brq-t.redhat.com. [213.175.37.10]) by smtp.gmail.com with ESMTPSA id n13sm2816854wmi.25.2019.11.19.04.26.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Nov 2019 04:26:51 -0800 (PST) From: Vitaly Kuznetsov To: Wanpeng Li Cc: LKML , kvm , Paolo Bonzini , Radim =?utf-8?B?S3LEjW3DocWZ?= , Sean Christopherson , Wanpeng Li , Jim Mattson , Joerg Roedel Subject: Re: [PATCH v2 1/2] KVM: VMX: FIXED+PHYSICAL mode single target IPI fastpath In-Reply-To: References: <1574145389-12149-1-git-send-email-wanpengli@tencent.com> <87r224gjyt.fsf@vitty.brq.redhat.com> Date: Tue, 19 Nov 2019 13:26:51 +0100 Message-ID: <87lfscgigk.fsf@vitty.brq.redhat.com> MIME-Version: 1.0 X-MC-Unique: -gp4uBufNUSA0e-H8apqKw-1 X-Mimecast-Spam-Score: 0 Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Wanpeng Li writes: > On Tue, 19 Nov 2019 at 19:54, Vitaly Kuznetsov wrot= e: >> >> Wanpeng Li writes: >> >> > From: Wanpeng Li >> > >> > + if (lapic_in_kernel(vcpu) && apic_x2apic_mode(vcpu->arch.apic)) = { >> > + /* >> > + * fastpath to IPI target, FIXED+PHYSICAL which is popul= ar >> > + */ >> > + index =3D kvm_rcx_read(vcpu); >> > + data =3D kvm_read_edx_eax(vcpu); >> > + >> > + if (((index - APIC_BASE_MSR) << 4 =3D=3D APIC_ICR) && >> >> What if index (RCX) is < APIC_BASE_MSR? > > How about if (index =3D=3D (APIC_BASE_MSR + 0x300) && > What about ' << 4', don't we still need it? :-) And better APIC_ICR instead of 0x300... Personally, I'd write something like if (index > APIC_BASE_MSR && (index - APIC_BASE_MSR) =3D=3D APIC_ICR >> 4) and let compiler optimize this, I bet it's going to be equally good. --=20 Vitaly