public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Avi Kivity <avi@redhat.com>
Cc: Sheng Yang <sheng@linux.intel.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	kvm@vger.kernel.org, Alex Williamson <alex.williamson@redhat.com>
Subject: Re: [PATCH 6/6] KVM: assigned dev: MSI-X mask support
Date: Thu, 18 Nov 2010 11:37:37 +0200	[thread overview]
Message-ID: <20101118093737.GI16832@redhat.com> (raw)
In-Reply-To: <4CE4F1A2.9010604@redhat.com>

On Thu, Nov 18, 2010 at 11:28:02AM +0200, Avi Kivity wrote:
> On 11/18/2010 03:58 AM, Sheng Yang wrote:
> >On Wednesday 17 November 2010 21:58:00 Avi Kivity wrote:
> >>  On 11/15/2010 11:15 AM, Sheng Yang wrote:
> >>  >  This patch enable per-vector mask for assigned devices using MSI-X.
> >>  >
> >>  >  This patch provided two new APIs: one is for guest to specific device's
> >>  >  MSI-X table address in MMIO, the other is for userspace to get
> >>  >  information about mask bit.
> >>  >
> >>  >  All the mask bit operation are kept in kernel, in order to accelerate.
> >>  >  Userspace shouldn't access the device MMIO directly for the information,
> >>  >  instead it should uses provided API to do so.
> >>  >
> >>  >  Signed-off-by: Sheng Yang<sheng@linux.intel.com>
> >>  >  ---
> >>  >
> >>  >    arch/x86/kvm/x86.c       |    1 +
> >>  >    include/linux/kvm.h      |   32 +++++
> >>  >    include/linux/kvm_host.h |    5 +
> >>  >    virt/kvm/assigned-dev.c  |  318
> >>  >    +++++++++++++++++++++++++++++++++++++++++++++- 4 files changed,
> >355
> >>  >    insertions(+), 1 deletions(-)
> >>
> >>  Documentation?
> >
> >For we are keeping changing the API for last several versions, I'd like to settle
> >down the API first. Would bring back the document after API was agreed.
> 
> Maybe for APIs we should start with only the documentation patch,
> agree on that, and move on to the implementation.
> 
> >>  What if it's a 64-bit write on a 32-bit host?
> >
> >In fact we haven't support QWORD(64bit) accessing now. The reason is we haven't
> >seen any OS is using it in this way now, so I think we can leave it later.
> >
> >Also seems QEmu doesn't got the way to handle 64bit MMIO.
> 
> There's a difference, if the API doesn't support it, we can't add it
> later without changing both kernel and userspace.
> 
> >>
> >>  That's not very good.  We should do the entire thing in the kernel or in
> >>  userspace.  We can have a new EXIT_REASON to let userspace know an msix
> >>  entry changed, and it should read it from the kernel.
> >
> >If you look it in this way:
> >1. Mask bit owned by kernel.
> >2. Routing owned by userspace.
> >3. Read the routing in kernel is an speed up for normal operation - because kernel
> >can read from them.
> >
> >So I think the logic here is clear to understand.
> 
> Still, it's complicated and the state is split across multiple components.
> 
> >But if we can modify the routing in kernel, it would be raise some sync issues due
> >to both kernel and userspace own routing. So maybe the better solution is move the
> >routing to kernel.
> 
> That may work, but I don't think we can do this for vfio.

Actually, if done right it might work for VFIO: we would need
2 eventfds to notify it that it has to mask/unmask entries.
The interface would need to be careful to keep programming of the guest
side emulation and the masking in the backend device completely
separate.

> -- 
> error compiling committee.c: too many arguments to function

  reply	other threads:[~2010-11-18  9:37 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-15  9:15 [PATCH 0/6 v5] MSI-X mask support for assigned device Sheng Yang
2010-11-15  9:15 ` [PATCH 1/6] PCI: MSI: Move MSI-X entry definition to pci_regs.h Sheng Yang
2010-11-15  9:15 ` [PATCH 2/6] PCI: Add mask bit definition for MSI-X table Sheng Yang
2010-11-15  9:15 ` [PATCH 3/6] KVM: Move struct kvm_io_device to kvm_host.h Sheng Yang
2010-11-15  9:15 ` [PATCH 4/6] KVM: Add kvm_get_irq_routing_entry() func Sheng Yang
2010-11-17 14:01   ` Avi Kivity
2010-11-18  2:22     ` Sheng Yang
2010-11-18  9:30       ` Avi Kivity
2010-11-18  9:41         ` Michael S. Tsirkin
2010-11-18 11:59           ` Sheng Yang
2010-11-18 12:33             ` Michael S. Tsirkin
2010-11-18 12:40               ` Sheng Yang
2010-11-15  9:15 ` [PATCH 5/6] KVM: assigned dev: Clean up assigned_device's flag Sheng Yang
2010-11-15  9:15 ` [PATCH 6/6] KVM: assigned dev: MSI-X mask support Sheng Yang
2010-11-15  9:27   ` [PATCH 6/6 v5 updated] " Sheng Yang
2010-11-16 19:45   ` [PATCH 6/6] " Marcelo Tosatti
2010-11-17  1:29     ` Sheng Yang
2010-11-17 13:35       ` Marcelo Tosatti
2010-11-18  9:43       ` Michael S. Tsirkin
2010-11-17 13:58   ` Avi Kivity
2010-11-18  1:58     ` Sheng Yang
2010-11-18  6:21       ` Michael S. Tsirkin
2010-11-18  6:39         ` Sheng Yang
2010-11-18  9:28       ` Avi Kivity
2010-11-18  9:37         ` Michael S. Tsirkin [this message]
2010-11-18 12:08         ` 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=20101118093737.GI16832@redhat.com \
    --to=mst@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=sheng@linux.intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox