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
next prev parent 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).