Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp4335315ybb; Tue, 7 Apr 2020 05:35:43 -0700 (PDT) X-Google-Smtp-Source: APiQypJVbYQdCEIZsDSq8xOso7xSJalFByBKl7o6gv+typAgzbka1jZIbRQwvlAX8AUG90C8Vng2 X-Received: by 2002:aca:bec1:: with SMTP id o184mr1431580oif.37.1586262943016; Tue, 07 Apr 2020 05:35:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586262943; cv=none; d=google.com; s=arc-20160816; b=dDCEKYz5podpt77CISA9vMFek+6Q/bT8LbcNi11GsShP9eXRhNMKC0DtTk2lYr2zGU tqFFAPM5zqAtLe7yY2+s8KQUuQNj2AWIlg19Dkht4Afqocz2JP1RzU9QuIYUICY1lGQW 5JwBQm/lc9UcefPBLnDc4m5eRZizAyRmAjcz77HyrkTHLfnQmPIfo+itSHu9VUvdktP0 M52ySORkk/0O90qLr5OVbYm0xT+OY7DtPQlM1oUGwlt0pIO/VLU05XM4xTVwWV00g3xa /fmx6EYYyO6ynQiqFNLnX2yLCqKZACDaO041FAZVZFsiIxGtOsxZm2D+xFoi2BEAIbUA y9Hw== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=TfvECcAWRcxfXpKI3PWwEQlcjFRStOQz8jHjDBJz+ic=; b=lvbnOUD2fMhmiXAZcm0b4BeMSwCMCKTeiqfZcNLOnCtJSUCLLrQiwj3vJZhVmsN+ur qnUqSQXJ69cY6sumdh96viiojxgZjdYUhK94EKNderEyA1ltg7VwNGMISUXdJlsJ62Mg W1nmpgXBWR1kuSPgoD51MM4DEvWpcO7Od5TgKrKx+XTKrXcLMMAJVZBYp+S7NI2BN9zz 2tTX2tOPVtHhzTol2XXvUrP4UT8qbUNSL4FY8kWIIfwPVfI/qys1Hw6TN/8p5lTaeoDv f+r+1Kt1p3wOvy62z2Gm0MLYJZ4iHpaD7FSOLreVK/Jmo/jqny2oWuhsLh3n+GtL9gIz 2ykQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=Hrg+Vqac; 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 x64si1046367oig.34.2020.04.07.05.35.30; Tue, 07 Apr 2020 05:35:42 -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=@redhat.com header.s=mimecast20190719 header.b=Hrg+Vqac; 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 S1728783AbgDGMee (ORCPT + 99 others); Tue, 7 Apr 2020 08:34:34 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:35637 "EHLO us-smtp-delivery-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728768AbgDGMed (ORCPT ); Tue, 7 Apr 2020 08:34:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1586262872; 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=TfvECcAWRcxfXpKI3PWwEQlcjFRStOQz8jHjDBJz+ic=; b=Hrg+Vqacu2A/ZdKLGrNUw2ytAt3nGi3iWZOfuqHH6ahxieYVz6GFduWGByEvmKlbORFECU U7XrVyqr1kYZw+xNTCgMX3CgA+G42HwQIhMwYenK7s+pMAdHHb68u4beW1wB0YvKr6/fy1 syCq2Mf1vxTWWlqH4Lr2OJUMfGVjrOI= 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-39-PiVNzPQtM6eKW61s9UXY-w-1; Tue, 07 Apr 2020 08:34:30 -0400 X-MC-Unique: PiVNzPQtM6eKW61s9UXY-w-1 Received: by mail-wr1-f72.google.com with SMTP id w12so1684687wrl.23 for ; Tue, 07 Apr 2020 05:34:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=TfvECcAWRcxfXpKI3PWwEQlcjFRStOQz8jHjDBJz+ic=; b=Uj95ffM7x8JGb7BL2Wab/AKwHggSmp8QkkYa6orGpoWVLon29sP1v7FAuUtCTrZvTj 3W1hb3z1eMfMm3f/naVFcuWk5e8cis2zRC1rJVBVjz3qBl4dMPPLxtTOYO+NTbibUZex HL6+v/h0vuI1pv6IRFe/peV8fgywypcEVZ6dudNbb8jhmGY7OwMHE0jzU8F+CKdDBile od6EEdBRk0whwiv3i0kQRMtpcOw73zb5jnksJcCRYI25g68sxaq+hhJvHGMcuTlcvCkJ SISCdVSvDswL5ZC8XdXxiYJ7mL13+p4YdNMXozMnaIyXg7h7onsScXKspe1vReGKllal W4oA== X-Gm-Message-State: AGi0PuZDvFMCM+xQ9xhaYy8Wci8nGkzvXsQ2hTEJVZrrXIXu/xJfErh/ 8S1gqqnwsWPKUgLxnyna7CH6l95WBGLuXsFvRrB6erbshD7CT2rXSkStBMtzoddxYorsTg+89bB Q8nAeajaEZR+fxXvlncyJZ8wX X-Received: by 2002:a7b:c157:: with SMTP id z23mr2168405wmi.178.1586262869153; Tue, 07 Apr 2020 05:34:29 -0700 (PDT) X-Received: by 2002:a7b:c157:: with SMTP id z23mr2168385wmi.178.1586262868931; Tue, 07 Apr 2020 05:34:28 -0700 (PDT) Received: from ?IPv6:2001:b07:6468:f312:bd61:914:5c2f:2580? ([2001:b07:6468:f312:bd61:914:5c2f:2580]) by smtp.gmail.com with ESMTPSA id o129sm2245808wma.20.2020.04.07.05.34.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 Apr 2020 05:34:28 -0700 (PDT) Subject: Re: [PATCH v3] KVM: X86: Filter out the broadcast dest for IPI fastpath To: Wanpeng Li , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: Sean Christopherson , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel References: <1585815626-28370-1-git-send-email-wanpengli@tencent.com> From: Paolo Bonzini Message-ID: <59287b27-188b-6c97-9e48-8362d655df68@redhat.com> Date: Tue, 7 Apr 2020 14:34:27 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <1585815626-28370-1-git-send-email-wanpengli@tencent.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/04/20 10:20, Wanpeng Li wrote: > From: Wanpeng Li > > Except destination shorthand, a destination value 0xffffffff is used to > broadcast interrupts, let's also filter out this for single target IPI > fastpath. > > Reviewed-by: Vitaly Kuznetsov > Signed-off-by: Wanpeng Li > --- > v1 -> v2: > * update subject and patch description > > arch/x86/kvm/lapic.c | 3 --- > arch/x86/kvm/lapic.h | 3 +++ > arch/x86/kvm/x86.c | 3 ++- > 3 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c > index e24d405..d528bed 100644 > --- a/arch/x86/kvm/lapic.c > +++ b/arch/x86/kvm/lapic.c > @@ -59,9 +59,6 @@ > #define MAX_APIC_VECTOR 256 > #define APIC_VECTORS_PER_REG 32 > > -#define APIC_BROADCAST 0xFF > -#define X2APIC_BROADCAST 0xFFFFFFFFul > - > static bool lapic_timer_advance_dynamic __read_mostly; > #define LAPIC_TIMER_ADVANCE_ADJUST_MIN 100 /* clock cycles */ > #define LAPIC_TIMER_ADVANCE_ADJUST_MAX 10000 /* clock cycles */ > diff --git a/arch/x86/kvm/lapic.h b/arch/x86/kvm/lapic.h > index bc76860..25b77a6 100644 > --- a/arch/x86/kvm/lapic.h > +++ b/arch/x86/kvm/lapic.h > @@ -17,6 +17,9 @@ > #define APIC_BUS_CYCLE_NS 1 > #define APIC_BUS_FREQUENCY (1000000000ULL / APIC_BUS_CYCLE_NS) > > +#define APIC_BROADCAST 0xFF > +#define X2APIC_BROADCAST 0xFFFFFFFFul > + > enum lapic_mode { > LAPIC_MODE_DISABLED = 0, > LAPIC_MODE_INVALID = X2APIC_ENABLE, > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index 5e95950..5a645df 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -1559,7 +1559,8 @@ static int handle_fastpath_set_x2apic_icr_irqoff(struct kvm_vcpu *vcpu, u64 data > > if (((data & APIC_SHORT_MASK) == APIC_DEST_NOSHORT) && > ((data & APIC_DEST_MASK) == APIC_DEST_PHYSICAL) && > - ((data & APIC_MODE_MASK) == APIC_DM_FIXED)) { > + ((data & APIC_MODE_MASK) == APIC_DM_FIXED) && > + ((u32)(data >> 32) != X2APIC_BROADCAST)) { > > data &= ~(1 << 12); > kvm_apic_send_ipi(vcpu->arch.apic, (u32)data, (u32)(data >> 32)); > Queued, thanks. Paolo