All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Sheng Yang <sheng@linux.intel.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>,
	"Michael S. Tsirkin" <mst@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:28:02 +0200	[thread overview]
Message-ID: <4CE4F1A2.9010604@redhat.com> (raw)
In-Reply-To: <201011180958.55773.sheng@linux.intel.com>

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.

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


  parent reply	other threads:[~2010-11-18  9:28 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 [this message]
2010-11-18  9:37         ` Michael S. Tsirkin
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=4CE4F1A2.9010604@redhat.com \
    --to=avi@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mst@redhat.com \
    --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 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.