From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH 0/16 v5] Device assignment improvement in userspace Date: Tue, 17 Mar 2009 11:40:31 +0200 Message-ID: <49BF700F.9050600@redhat.com> References: <1236865019-30321-1-git-send-email-sheng@linux.intel.com> <49BE1797.4010305@redhat.com> <20090316181211.GA3783@amt.cnet> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Sheng Yang , Anthony Liguori , kvm@vger.kernel.org To: Marcelo Tosatti Return-path: Received: from mx1.redhat.com ([66.187.233.31]:33773 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757861AbZCQJkh (ORCPT ); Tue, 17 Mar 2009 05:40:37 -0400 In-Reply-To: <20090316181211.GA3783@amt.cnet> Sender: kvm-owner@vger.kernel.org List-ID: Marcelo Tosatti wrote: > Looks good to me, ready to be applied. > > There is one pending detail in the ioctl interface. Its a minor issue, > but might become troublesome later (and can be fixed after the patchset > has been applied). > > The unassign ioctl takes "struct kvm_assigned_irq" and parses its flags > to decide what to do, in this way: > > - If any bit is set in the guest mask (GUEST_INTX, GUEST_MSI, > GUEST_MSIX), we disable guest-side interrupt. > - Likewise for host, disabling host-side interrupt. > > host_irq_type = irq_requested_type & KVM_DEV_IRQ_HOST_MASK; > guest_irq_type = irq_requested_type & KVM_DEV_IRQ_GUEST_MASK; > > if (host_irq_type) > deassign_host_irq(kvm, assigned_dev); > if (guest_irq_type) > deassign_guest_irq(kvm, assigned_dev); > > This is a little confusing. If we simply want to disable > _whatever is assigned_ in either guest or host side, we want a > UNASSIGN_GUEST/UNASSIGN_HOST pair of flags (this is how the ioctl > behaves, but we pass more flags and don't use them effectively). > > Or, if the unassign ioctl continues to receive guest/host flags with > interrupt type detail, it should error out if userspace passed a type > that does not match what is currently assigned. > > The current behaviour is simpler for userspace, but then we'd need not > to pass "struct kvm_assigned_irq". > > Sheng, what do you say? > > Maybe we want different ioctl pairs for guest and host? -- error compiling committee.c: too many arguments to function