kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@redhat.com>
To: "Lan, Tianyu" <tianyu.lan@intel.com>
Cc: aik@ozlabs.ru, amit.shah@redhat.com, anthony@codemonkey.ws,
	ard.biesheuvel@linaro.org, blauwirbel@gmail.com,
	cornelia.huck@de.ibm.com, eddie.dong@intel.com,
	nrupal.jani@intel.com, agraf@suse.de, kvm@vger.kernel.org,
	pbonzini@redhat.com, qemu-devel@nongnu.org,
	emil.s.tantilov@intel.com, gerlitz.or@gmail.com,
	donald.c.skidmore@intel.com, mark.d.rustad@intel.com,
	mst@redhat.com, kraxel@redhat.com, lcapitulino@redhat.com,
	quintela@redhat.com
Subject: Re: [RFC PATCH V2 02/10] Qemu/VFIO: Add new VFIO_GET_PCI_CAP_INFO ioctl cmd definition
Date: Thu, 03 Dec 2015 08:26:53 -0700	[thread overview]
Message-ID: <1449156413.15753.153.camel@redhat.com> (raw)
In-Reply-To: <5660000E.8020008@intel.com>

On Thu, 2015-12-03 at 16:40 +0800, Lan, Tianyu wrote:
> On 12/3/2015 6:25 AM, Alex Williamson wrote:
> > I didn't seen a matching kernel patch series for this, but why is the
> > kernel more capable of doing this than userspace is already?
> The following link is the kernel patch.
> http://marc.info/?l=kvm&m=144837328920989&w=2
> 
> > These seem
> > like pointless ioctls, we're creating a purely virtual PCI capability,
> > the kernel doesn't really need to participate in that.
> 
> VFIO kernel driver has pci_config_map which indicates the PCI capability 
> position and length which helps to find free PCI config regs. Qemu side 
> doesn't have such info and can't get the exact table size of PCI 
> capability. If we want to add such support in the Qemu, needs duplicates 
> a lot of code of vfio_pci_configs.c in the Qemu.

That's an internal implementation detail of the kernel, not motivation
for creating a new userspace ABI.  QEMU can recreate this data on its
own.  The kernel is in no more of an authoritative position to determine
capability extents than userspace.

> > Also, why are we
> > restricting ourselves to standard capabilities?
> 
> This version is to check whether it's on the right way and We can extend
> this to pci extended capability later.
> 
> > That's often a crowded
> > space and we can't always know whether an area is free or not based only
> > on it being covered by a capability.  Some capabilities can also appear
> > more than once, so there's context that isn't being passed to the kernel
> > here.  Thanks,
> 
> The region outside of PCI capability are not passed to kernel or used by 
> Qemu for MSI/MSIX . It's possible to use these places for new 
> capability. One concerns is that guest driver may abuse them and quirk 
> of masking some special regs outside of capability maybe helpful.

That's not correct, see kernel commit
a7d1ea1c11b33bda2691f3294b4d735ed635535a.  Gaps between capabilities are
exposed with raw read-write access from the kernel and some drivers and
devices depend on this.  There's also no guarantee that there's a
sufficiently sized gap in conventional space.  Thanks,

Alex


  reply	other threads:[~2015-12-03 15:26 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-24 13:35 [RFC PATCH V2 00/10] Qemu: Add live migration support for SRIOV NIC Lan Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 01/10] Qemu/VFIO: Create head file pci.h to share data struct Lan Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 02/10] Qemu/VFIO: Add new VFIO_GET_PCI_CAP_INFO ioctl cmd definition Lan Tianyu
2015-12-02 22:25   ` Alex Williamson
2015-12-03  8:40     ` Lan, Tianyu
2015-12-03 15:26       ` Alex Williamson [this message]
2015-11-24 13:35 ` [RFC PATCH V2 03/10] Qemu/VFIO: Rework vfio_std_cap_max_size() function Lan Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 04/10] Qemu/VFIO: Add vfio_find_free_cfg_reg() to find free PCI config space regs Lan Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 05/10] Qemu/VFIO: Expose PCI config space read/write and msix functions Lan Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 06/10] Qemu/PCI: Add macros for faked PCI migration capability Lan Tianyu
2015-12-02 22:25   ` Alex Williamson
2015-12-03  8:57     ` Lan, Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 07/10] Qemu: Add post_load_state() to run after restoring CPU state Lan Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 08/10] Qemu: Add save_before_stop callback to run just before stopping VCPU during migration Lan Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 09/10] Qemu/VFIO: Add SRIOV VF migration support Lan Tianyu
2015-11-24 21:03   ` Michael S. Tsirkin
2015-11-25 15:32     ` Lan, Tianyu
2015-11-25 15:44       ` Michael S. Tsirkin
2015-12-02 22:25   ` Alex Williamson
2015-12-03  8:56     ` Lan, Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 10/10] Qemu/VFIO: Misc change for enable migration with VFIO Lan Tianyu
2015-11-30  8:01 ` [RFC PATCH V2 00/10] Qemu: Add live migration support for SRIOV NIC Michael S. Tsirkin
2015-12-01  6:26   ` Lan, Tianyu
2015-12-01 15:02     ` Michael S. Tsirkin
2015-12-02 14:08       ` Lan, Tianyu
2015-12-02 14:31         ` Michael S. Tsirkin
2015-12-03 14:53           ` Lan, Tianyu
2015-12-04  6:42           ` Lan, Tianyu
2015-12-04  8:05             ` Michael S. Tsirkin
2015-12-04 12:11               ` Lan, Tianyu
2015-12-03 18:32         ` Alexander Duyck
2015-12-07 16:50 ` live migration vs device assignment (was Re: [RFC PATCH V2 00/10] Qemu: Add live migration support for SRIOV NIC) Michael S. Tsirkin
2015-12-09 16:26   ` live migration vs device assignment (motivation) Lan, Tianyu
2015-12-09 17:14     ` Alexander Duyck
2015-12-10  3:15       ` Lan, Tianyu
2015-12-09 20:07     ` Michael S. Tsirkin
2015-12-10  3:04       ` Lan, Tianyu
2015-12-10  8:38         ` Michael S. Tsirkin
2015-12-10 14:23           ` Lan, Tianyu
2015-12-10 10:18     ` [Qemu-devel] " Dr. David Alan Gilbert
2015-12-10 11:28       ` Yang Zhang
2015-12-10 11:41         ` Dr. David Alan Gilbert
2015-12-10 13:07           ` Yang Zhang
2015-12-10 14:38           ` Lan, Tianyu
2015-12-10 16:11             ` [Qemu-devel] " Michael S. Tsirkin
2015-12-10 19:17               ` Alexander Duyck
2015-12-11  7:32               ` Lan, Tianyu
2015-12-14  9:12                 ` Michael S. Tsirkin
2015-12-10 16:23             ` Dr. David Alan Gilbert
2015-12-10 17:16             ` Alexander Duyck
2015-12-13 15:47               ` Lan, Tianyu
2015-12-13 19:30                 ` Alexander Duyck
2015-12-25  7:03                   ` Lan Tianyu
2015-12-25 12:11                     ` [Qemu-devel] " Michael S. Tsirkin
2015-12-28 17:42                       ` Lan, Tianyu
2015-12-29 16:46                         ` Michael S. Tsirkin
2015-12-29 17:04                           ` Alexander Duyck
2015-12-29 17:15                             ` Michael S. Tsirkin
2015-12-29 18:04                               ` [Qemu-devel] " Alexander Duyck
2016-01-04  2:15                           ` Lan Tianyu
2015-12-25 22:31                     ` Alexander Duyck
2015-12-27  9:21                       ` Michael S. Tsirkin
2015-12-27 21:45                         ` [Qemu-devel] " Alexander Duyck
2015-12-28  8:51                           ` Michael S. Tsirkin
2015-12-28  3:20                       ` Dong, Eddie
2015-12-28  4:26                         ` Alexander Duyck
2015-12-28 11:50                         ` [Qemu-devel] " Michael S. Tsirkin
2015-12-14  9:26                 ` Michael S. Tsirkin
2015-12-28  8:52                   ` Pavel Fedin
2015-12-28 11:51                     ` Michael S. Tsirkin
2016-03-17  9:15 ` [Qemu-devel] [RFC PATCH V2 00/10] Qemu: Add live migration support for SRIOV NIC Wei 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=1449156413.15753.153.camel@redhat.com \
    --to=alex.williamson@redhat.com \
    --cc=agraf@suse.de \
    --cc=aik@ozlabs.ru \
    --cc=amit.shah@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=ard.biesheuvel@linaro.org \
    --cc=blauwirbel@gmail.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=donald.c.skidmore@intel.com \
    --cc=eddie.dong@intel.com \
    --cc=emil.s.tantilov@intel.com \
    --cc=gerlitz.or@gmail.com \
    --cc=kraxel@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=lcapitulino@redhat.com \
    --cc=mark.d.rustad@intel.com \
    --cc=mst@redhat.com \
    --cc=nrupal.jani@intel.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=tianyu.lan@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;
as well as URLs for NNTP newsgroup(s).