All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: David Hildenbrand <david@redhat.com>
Cc: Collin Walling <walling@linux.ibm.com>,
	qemu-devel@nongnu.org, Thomas Huth <thuth@redhat.com>,
	Pierre Morel <pmorel@linux.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	qemu-s390x@nongnu.org, Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [qemu-s390x] [PATCH v2 3/6] s390x/pci: Warn when adding PCI devices without the 'zpci' feature
Date: Tue, 5 Feb 2019 10:32:16 +0100	[thread overview]
Message-ID: <20190205103216.449d5ec3.cohuck@redhat.com> (raw)
In-Reply-To: <e59ccaf4-8df4-f8da-0682-4d388fab672e@redhat.com>

On Mon, 4 Feb 2019 23:45:35 +0100
David Hildenbrand <david@redhat.com> wrote:

> On 04.02.19 23:42, Collin Walling wrote:
> > On 2/4/19 4:54 PM, David Hildenbrand wrote:  
> >> On 04.02.19 21:19, Collin Walling wrote:  
> >>> On 1/30/19 10:57 AM, David Hildenbrand wrote:  
> >>>> We decided to always create the PCI host bridge, even if 'zpci' is not
> >>>> enabled (due to migration compatibility). This however right now allows
> >>>> to add zPCI/PCI devices to a VM although the guest will never actually see
> >>>> them, confusing people that are using a simple CPU model that has no
> >>>> 'zpci' enabled - "Why isn't this working" (David Hildenbrand)
> >>>>
> >>>> Let's check for 'zpci' and at least print a warning that this will not
> >>>> work as expected. We could also bail out, however that might break
> >>>> existing QEMU commandlines.
> >>>>
> >>>> Reviewed-by: Thomas Huth <thuth@redhat.com>
> >>>> Signed-off-by: David Hildenbrand <david@redhat.com>
> >>>> ---
> >>>>    hw/s390x/s390-pci-bus.c | 5 +++++
> >>>>    1 file changed, 5 insertions(+)
> >>>>
> >>>> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
> >>>> index 9b5c5fff60..2efd9186c2 100644
> >>>> --- a/hw/s390x/s390-pci-bus.c
> >>>> +++ b/hw/s390x/s390-pci-bus.c
> >>>> @@ -826,6 +826,11 @@ static void s390_pcihost_pre_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
> >>>>    {
> >>>>        S390pciState *s = S390_PCI_HOST_BRIDGE(hotplug_dev);
> >>>>    
> >>>> +    if (!s390_has_feat(S390_FEAT_ZPCI)) {
> >>>> +        warn_report("PCI/zPCI device without the 'zpci' CPU feature."
> >>>> +                    " The guest will not be able to see/use this device");
> >>>> +    }
> >>>> +
> >>>>        if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) {
> >>>>            PCIDevice *pdev = PCI_DEVICE(dev);
> >>>>    
> >>>>  
> >>>
> >>> I wonder if someone might misconstrue this as "the _PCI device_ needs
> >>> the zpci feature." I think "'zpci' CPU feature required to support
> >>> PCI/zPCI devices." reads better. The last sentence is fine to me.
> >>>  
> >>
> >> Well, the guest needs the 'zpci' feature to see the device. And that's
> >> what that message says in my opinion. Not that a device needs to have a
> >> feature (I added "CPU feature" for this reason).
> >>
> >> "required to support" does it not make very clear what we actually want
> >> to say.
> >>
> >> Thanks!
> >>  
> > 
> > I see your point. We can still plug in the device without the CPU
> > feature, but the device will ultimately be useless to the guest. Thanks
> > for clearing that up.
> > 
> > Still, the wording reads strangely to me. I read it as the PCI device
> > itself requires a "zpci CPU feature" which of course does not make sense
> > (and I fully understand that's not what you mean here).
> > 
> > What do you think about:
> > 
> > "PCI/zPCI device plugging without 'zpci' CPU feature enabled." along
> > with your second sentence, of course.  
> 
> "Plugging a PCI/zPCI device without the 'zpci' CPU feature enabled. The
> guest will not be able to see/use this device."
> 
> would make sense to me!

Ok, I have now

        warn_report("Plugging a PCI/zPCI device without the 'zpci' CPU "
                    "feature enabled; the guest will not be able to see/use "
                    "this device");

> 
> > 
> > Either way you decide, it's still a good idea to have this warning in
> > here. I'm really just debating syntax and not semantics, so it's not
> > really important. I won't impede this patch over a differing opinion of
> > a small rewording. :)
> > 
> > Reviewed-by: Collin Walling <walling@linux.ibm.com>
> >   
> 
> Thanks!
> 

  reply	other threads:[~2019-02-05  9:32 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-30 15:57 [Qemu-devel] [PATCH v2 0/6] s390x/pci: remaining hot/un)plug patches David Hildenbrand
2019-01-30 15:57 ` [Qemu-devel] [PATCH v2 1/6] s390x/pci: Fix primary bus number for PCI bridges David Hildenbrand
2019-02-04 22:58   ` Collin Walling
2019-01-30 15:57 ` [Qemu-devel] [PATCH v2 2/6] s390x/pci: Fix hotplugging of " David Hildenbrand
2019-02-04 22:48   ` [Qemu-devel] [qemu-s390x] " Collin Walling
2019-02-04 23:43     ` David Hildenbrand
2019-02-05  9:24       ` Cornelia Huck
2019-01-30 15:57 ` [Qemu-devel] [PATCH v2 3/6] s390x/pci: Warn when adding PCI devices without the 'zpci' feature David Hildenbrand
2019-02-04 20:19   ` [Qemu-devel] [qemu-s390x] " Collin Walling
2019-02-04 21:54     ` David Hildenbrand
2019-02-04 22:42       ` Collin Walling
2019-02-04 22:45         ` David Hildenbrand
2019-02-05  9:32           ` Cornelia Huck [this message]
2019-01-30 15:57 ` [Qemu-devel] [PATCH v2 4/6] s390x/pci: Introduce unplug requests and split unplug handler David Hildenbrand
2019-01-31 20:40   ` Collin Walling
2019-01-31 21:11     ` David Hildenbrand
2019-02-01 10:38   ` Cornelia Huck
2019-01-30 15:57 ` [Qemu-devel] [PATCH v2 5/6] s390x/pci: Drop release timer and replace it with a flag David Hildenbrand
2019-01-31 20:33   ` [Qemu-devel] [qemu-s390x] " Collin Walling
2019-01-31 21:12     ` David Hildenbrand
2019-01-31 21:21   ` [Qemu-devel] " David Hildenbrand
2019-02-01 10:08     ` Cornelia Huck
2019-02-01 10:37       ` David Hildenbrand
2019-02-01 10:42         ` Cornelia Huck
2019-02-01 10:39   ` Cornelia Huck
2019-01-30 15:57 ` [Qemu-devel] [PATCH v2 6/6] s390x/pci: Unplug remaining requested devices on pcihost reset David Hildenbrand
2019-01-31 20:26   ` Collin Walling
2019-01-31 21:13     ` David Hildenbrand
2019-02-01 10:19   ` Cornelia Huck
2019-02-01 15:06     ` David Hildenbrand
2019-02-05  9:35       ` Cornelia Huck
2019-01-30 16:27 ` [Qemu-devel] [PATCH v2 0/6] s390x/pci: remaining hot/un)plug patches Cornelia Huck
2019-01-31 20:43 ` [Qemu-devel] [qemu-s390x] " Collin Walling
2019-01-31 21:21   ` David Hildenbrand
2019-02-01  8:35   ` Cornelia Huck
2019-02-01  9:18     ` David Hildenbrand
2019-02-01 15:44       ` Collin Walling
2019-02-05  9:55 ` [Qemu-devel] " Cornelia Huck
2019-02-05  9:55   ` David Hildenbrand

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=20190205103216.449d5ec3.cohuck@redhat.com \
    --to=cohuck@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=david@redhat.com \
    --cc=pmorel@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=rth@twiddle.net \
    --cc=thuth@redhat.com \
    --cc=walling@linux.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 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.