All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sheng Yang <sheng@linux.intel.com>
To: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Avi Kivity <avi@redhat.com>, kvm@vger.kernel.org
Subject: Re: [PATCH 1/8] KVM: Add MSI_ACTION flag for assigned irq
Date: Wed, 24 Dec 2008 10:24:34 +0800	[thread overview]
Message-ID: <200812241024.35361.sheng@linux.intel.com> (raw)
In-Reply-To: <20081223173224.GA5449@amt.cnet>

On Wednesday 24 December 2008 01:32:24 Marcelo Tosatti wrote:
> On Tue, Dec 23, 2008 at 04:00:24PM +0800, Sheng Yang wrote:
> > For MSI disable feature later.
> >
> > Notice I changed ABI here, but due to no userspace patch, I think it's
> > OK.
> >
> > Signed-off-by: Sheng Yang <sheng@linux.intel.com>
> > ---
> >  include/linux/kvm.h |    3 ++-
> >  1 files changed, 2 insertions(+), 1 deletions(-)
> >
> > diff --git a/include/linux/kvm.h b/include/linux/kvm.h
> > index ef7f98e..5b965f6 100644
> > --- a/include/linux/kvm.h
> > +++ b/include/linux/kvm.h
> > @@ -544,6 +544,7 @@ struct kvm_assigned_irq {
> >
> >  #define KVM_DEV_ASSIGN_ENABLE_IOMMU	(1 << 0)
> >
> > -#define KVM_DEV_IRQ_ASSIGN_ENABLE_MSI	(1 << 0)
> > +#define KVM_DEV_IRQ_ASSIGN_MSI_ACTION	(1 << 0)
> > +#define KVM_DEV_IRQ_ASSIGN_ENABLE_MSI	(1 << 1)
>
> This is a little confusing. KVM_DEV_IRQ_ASSIGN_MSI_ACTION is assigned
> from userspace, and in the patchset used in conjunction with msi2intx
> which is a module parameter.
>
> Is there anything that blocks control of msi2intx translate behaviour
> from userspace?
>
> Perhaps add a KVM_DEV_IRQ_UNASSIGN ioctl, and pass the desired
> guest/host irq types on the IRQ_ASSIGN ioctl, thus removing some of the
> kernel complexity.

Marcelo, Thanks for reviewing.

msi2intx module parameter is mostly a debug assist rather than a real option, 
so we won't want this to be a real option controlled by userspace program. 

Another simple solution for the conjunction is:

diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index ffd261d..35bc81e 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -405,8 +405,7 @@ static int kvm_vm_ioctl_assign_irq(struct kvm *kvm,
                }
        }

-       if ((!msi2intx &&
-            (assigned_irq->flags & KVM_DEV_IRQ_ASSIGN_MSI_ACTION)) ||
+       if ((assigned_irq->flags & KVM_DEV_IRQ_ASSIGN_MSI_ACTION) ||
            (msi2intx && match->dev->msi_enabled)) {

So we wouldn't confusion in the semantic.

About MSI disable side, maybe leave some judgment to userspace can reduce the 
complexity, I will try it.

-- 
regards
Yang, Sheng

  reply	other threads:[~2008-12-24  2:24 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-23  8:00 [PATCH 0/8] MSI enhancement Sheng Yang
2008-12-23  8:00 ` [PATCH 1/8] KVM: Add MSI_ACTION flag for assigned irq Sheng Yang
2008-12-23 17:32   ` Marcelo Tosatti
2008-12-24  2:24     ` Sheng Yang [this message]
2008-12-27 19:24       ` Marcelo Tosatti
2008-12-23  8:00 ` [PATCH 2/8] KVM: Use kvm_free_assigned_irq() for free irq Sheng Yang
2008-12-23 15:18   ` Marcelo Tosatti
2008-12-25  8:42     ` Sheng Yang
2008-12-23  8:00 ` [PATCH 3/8] KVM: Add support to disable MSI for assigned device Sheng Yang
2008-12-23  8:00 ` [PATCH 4/8] KVM: Add a route layer to convert MSI message to GSI Sheng Yang
2008-12-23 17:55   ` Marcelo Tosatti
2008-12-24  2:31     ` Sheng Yang
2008-12-25  1:59       ` Sheng Yang
2008-12-27 19:27         ` Marcelo Tosatti
2008-12-28 11:14           ` Sheng Yang
2008-12-23  8:00 ` [PATCH 5/8] KVM: Using gsi_msg mapping for MSI device assignment Sheng Yang
2008-12-23 18:05   ` Marcelo Tosatti
2008-12-24  2:41     ` Sheng Yang
2008-12-23  8:00 ` [PATCH 6/8] KVM: Improve MSI dispatch function Sheng Yang
2008-12-23  8:00 ` [PATCH 7/8] KVM: Using ioapic_irqchip() macro for kvm_set_irq Sheng Yang
2008-12-23  8:00 ` [PATCH 8/8] KVM: Merge MSI handling to kvm_set_irq Sheng Yang
2008-12-23 18:10   ` Marcelo Tosatti
2008-12-24  2:44     ` Sheng Yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200812241024.35361.sheng@linux.intel.com \
    --to=sheng@linux.intel.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.