From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752870AbcGMKPU (ORCPT ); Wed, 13 Jul 2016 06:15:20 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:36721 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750739AbcGMKPJ (ORCPT ); Wed, 13 Jul 2016 06:15:09 -0400 Subject: Re: [PATCH v3 12/14] KVM: x86: add a flag to disable KVM x2apic broadcast quirk To: =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , linux-kernel@vger.kernel.org, kvm@vger.kernel.org References: <20160712200930.32143-1-rkrcmar@redhat.com> <20160712200930.32143-13-rkrcmar@redhat.com> Cc: "Lan, Tianyu" , Igor Mammedov , Jan Kiszka , Peter Xu , Yang Zhang From: Paolo Bonzini Message-ID: <10fcb396-853f-e08b-48d9-c2e69189798d@redhat.com> Date: Wed, 13 Jul 2016 12:15:03 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: <20160712200930.32143-13-rkrcmar@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/07/2016 22:09, Radim Krčmář wrote: > +static bool kvm_apic_map_need_slowpath(struct kvm *kvm, struct kvm_lapic **src, > + struct kvm_lapic_irq *irq, struct kvm_apic_map *map) > +{ > + if (!map) > + return true; > + > + if (kvm->arch.x2apic_broadcast_quirk_disabled) { > + if ((irq->dest_id == APIC_BROADCAST && > + map->mode != KVM_APIC_MODE_X2APIC)) > + return true; > + if (irq->dest_id == X2APIC_BROADCAST) > + return true; > + } else { > + bool x2apic_ipi = src && *src && apic_x2apic_mode(*src); > + if (irq->dest_id == (x2apic_ipi ? > + X2APIC_BROADCAST : APIC_BROADCAST)) > + return true; > + } > + > + return false; > +} This isn't the only case where you go through the slowpath. What about renaming to kvm_apic_dest_is_broadcast? Paolo