From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60661) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZlXwf-0006IN-Fk for qemu-devel@nongnu.org; Mon, 12 Oct 2015 03:54:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZlXwZ-0003ob-BS for qemu-devel@nongnu.org; Mon, 12 Oct 2015 03:54:54 -0400 Received: from e06smtp14.uk.ibm.com ([195.75.94.110]:45825) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZlXwZ-0003nm-1o for qemu-devel@nongnu.org; Mon, 12 Oct 2015 03:54:51 -0400 Received: from localhost by e06smtp14.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 12 Oct 2015 08:54:48 +0100 Received: from b06cxnps4075.portsmouth.uk.ibm.com (d06relay12.portsmouth.uk.ibm.com [9.149.109.197]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id 3E82E219005C for ; Mon, 12 Oct 2015 08:54:44 +0100 (BST) Received: from d06av04.portsmouth.uk.ibm.com (d06av04.portsmouth.uk.ibm.com [9.149.37.216]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t9C7sjaS38404182 for ; Mon, 12 Oct 2015 07:54:45 GMT Received: from d06av04.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av04.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t9C7sh23004607 for ; Mon, 12 Oct 2015 01:54:45 -0600 References: <1444397988-20167-1-git-send-email-den@openvz.org> <1444397988-20167-2-git-send-email-den@openvz.org> <5617D259.8070101@redhat.com> From: Christian Borntraeger Message-ID: <561B6741.8080309@de.ibm.com> Date: Mon, 12 Oct 2015 09:54:41 +0200 MIME-Version: 1.0 In-Reply-To: <5617D259.8070101@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , "Denis V. Lunev" Cc: Gleb Natapov , qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org, Cornelia Huck , Jens Freimann , rkagan@virtuozzo.com, Andrey Smetanin , Vitaly Kuznetsov , "K. Y. Srinivasan" Am 09.10.2015 um 16:42 schrieb Paolo Bonzini: > Christian, the question for you is towards the end... [....] > >> --- a/virt/kvm/irqchip.c >> +++ b/virt/kvm/irqchip.c >> @@ -144,11 +144,13 @@ static int setup_routing_entry(struct kvm_irq_routing_table *rt, >> >> /* >> * Do not allow GSI to be mapped to the same irqchip more than once. >> - * Allow only one to one mapping between GSI and MSI. >> + * Allow only one to one mapping between GSI and MSI/Hyper-V SINT. >> */ >> hlist_for_each_entry(ei, &rt->map[ue->gsi], link) >> if (ei->type == KVM_IRQ_ROUTING_MSI || >> ue->type == KVM_IRQ_ROUTING_MSI || >> + ei->type == KVM_IRQ_ROUTING_HV_SINT || >> + ue->type == KVM_IRQ_ROUTING_HV_SINT || >> ue->u.irqchip.irqchip == ei->irqchip.irqchip) >> return r; > > Christian, what's the desired behavior for s390 adapter interrupts here? > Should this actually become > > if (ei->type != KVM_IRQ_ROUTING_IRQCHIP || > ue->type != KVM_IRQ_ROUTING_IRQCHIP || > ue->u.irqchip.irqchip == ei->irqchip.irqchip) Hmm, this is the failure path if we already have one routing entry, Right? This will work with virtio ccw as we only setup one route, but I am not sure about the upcoming PCI irqfd support which might add a 2nd adapter route. Adding Conny, Jens,Not sure about PC, As soon as we wire up the PCI irgfd, we want to register a 2nd route for the same irqchip via flic, which will also be of type KVM_IRQ_ROUTING_S390_ADAPTER. Correct?