qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Hong Bo Li <lihbbj@linux.vnet.ibm.com>
Cc: cornelia.huck@de.ibm.com, borntraeger@de.ibm.com,
	sebott@linux.vnet.ibm.com, qemu-devel@nongnu.org, agraf@suse.de
Subject: Re: [Qemu-devel] [PATCH v2 1/1] KVM s390	pci	infrastructure	modelling
Date: Mon, 6 Jul 2015 13:56:56 +0300	[thread overview]
Message-ID: <20150706135503-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <5599E2BA.4020601@linux.vnet.ibm.com>

On Mon, Jul 06, 2015 at 10:06:50AM +0800, Hong Bo Li wrote:
> 
> 
> On 7/5/2015 2:25, Michael S. Tsirkin wrote:
> >On Fri, Jul 03, 2015 at 07:09:59PM +0800, Hong Bo Li wrote:
> >>>But I would like to note that pci device drivers require driver handshake
> >>>before device goes away.
> >>>IIUC s390 hotplug is immediate, which is a problem.
> >>>Maybe doing the change will help make sure device removal is acked
> >>>by guest before it happens?
> >>>
> >>I did some prototype today. If define zpci first, the progress of unplug
> >>will get complicated.
> >The point is that you don't have to remove the zpci device at all.
> >Remove pci device from zpci.
> >
> >I think the complication you refer to is the guest ack of
> >the removal, isn't it?
> >It's complicated, but it has a chance to actually work with
> >pci device drivers.
> >
> >This, as opposed to just removing the device whenever host
> >tells us to.
> 
> This patch supports the ack in this way:
> After unplugging, the guest will do some cleanup work and disable the zpci device.
> The "is_unplugged" flag in this patch is used to do this ack. Only after the device
> be disabled, we can remove the zpci device from list and do unparent.
> 
> The complication I mean is:
> 1. If we define zpci first, the user can unplug a s390 pci device in two ways:
>     a) unplug the vfio pci device first, unplug the zpci device second.
>         If the user only tell us to unplug the vfio pci, after the ack, we will
> 	still need to wait for the unplug zpci cmd from user,  before that,
> 	we have to maintain a useless zpci in list.
> 
>     b) Unplug the zpci device directly. This will cause the unplugging of vfio pci
> 	automatically. Then on s390, we have a different unplug cmd comparing to
> 	other platform.
> 
> 2. If we define vfio pci first,  the user can unplug a s390 pci device in two ways:
>     a) Unplug the zpci first, unplug the vfio pci device second.
>        We don't need to maintain the extra s390 zpci structure, after ack, we can
> 	remove the zpci from list and do unparent.
>     b) Unplug the vfio pci directly. This will cause the unplugging of zpci
>        automatically.  Then on s390, we have a same unplug cmd comparing to
>        other platform.

You can do the automatic unplug of zpci in 1 as well, can you not?


> The ack of these two methods are the same.
> 
> 
> >>So I prefer defining vfio pci first.
> >>And it looks like the vfio pci is the basic device, if we want this
> >>vfio pci to work on s390, we have to define a zpci device to give some
> >>additional information to it.
> >if vfio connects to the bus internal to zpci, it can get
> >things from the bus in a natural way.
> >
> >If zpci is connected to vfio, it becomes much messier.
> >
> 
> For these two ways, the vfio pci both connect to the s390 pci root bus.
> And zpci devices connect to the s390-pci-fac-bus, there is no difference.

What if you don't specify zpci? Does vfio still work?
If no then we have to conclude that vfio is connected through
zpci not alongside it.

-- 
MST

  reply	other threads:[~2015-07-06 10:57 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-29  9:24 [Qemu-devel] [PATCH v2 0/1] s390 pci infrastructure modelling Hong Bo Li
2015-06-29  9:24 ` [Qemu-devel] [PATCH v2 1/1] KVM " Hong Bo Li
2015-06-29 10:01   ` Michael S. Tsirkin
2015-06-30  6:16     ` Hong Bo Li
2015-07-01  6:22       ` Michael S. Tsirkin
2015-07-01  7:56         ` Hong Bo Li
2015-07-01  8:05           ` Michael S. Tsirkin
2015-07-01  9:13             ` Hong Bo Li
2015-07-01  9:22               ` Michael S. Tsirkin
2015-07-01 10:04                 ` Hong Bo Li
2015-07-01 10:36                   ` Michael S. Tsirkin
2015-07-01 11:11                     ` Hong Bo Li
2015-07-01 11:23                       ` Michael S. Tsirkin
2015-07-01 11:46                         ` Hong Bo Li
2015-07-01 11:57                           ` Michael S. Tsirkin
2015-07-01 12:30                             ` Hong Bo Li
2015-07-01 12:42                             ` Hong Bo Li
2015-07-01 13:37                               ` Michael S. Tsirkin
2015-07-02  2:57                                 ` Hong Bo Li
2015-07-02  5:13                                   ` Michael S. Tsirkin
2015-07-02  5:26                                     ` Hong Bo Li
2015-07-03 11:09                                     ` Hong Bo Li
2015-07-04 18:25                                       ` Michael S. Tsirkin
2015-07-06  2:06                                         ` Hong Bo Li
2015-07-06 10:56                                           ` Michael S. Tsirkin [this message]
2015-07-06 12:09                                             ` Hong Bo Li

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=20150706135503-mutt-send-email-mst@redhat.com \
    --to=mst@redhat.com \
    --cc=agraf@suse.de \
    --cc=borntraeger@de.ibm.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=lihbbj@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=sebott@linux.vnet.ibm.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).