All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v1] s390x/pci: Send correct event on hotplug.
@ 2019-01-10 21:03 David Hildenbrand
  2019-01-11  7:16 ` David Hildenbrand
  2019-01-15  9:27 ` [Qemu-devel] " Cornelia Huck
  0 siblings, 2 replies; 9+ messages in thread
From: David Hildenbrand @ 2019-01-10 21:03 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-s390x, Collin Walling, Thomas Huth, Christian Borntraeger,
	Cornelia Huck, Richard Henderson, David Hildenbrand

Comit 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
changed the initial state of zPCI devices from ZPCI_FS_STANDBY to
ZPCI_FS_DISABLED (a.k.a. configured). However we still only send a
HP_EVENT_RESERVED_TO_STANDBY event to the guest, indicating a wrong
state.

Let's send a HP_EVENT_TO_CONFIGURED event instead, to match the actual
state the device is in.

This fixes hotplugged devices having to be enabled explicitly in the
guest e.g. via echo 1 > /sys/bus/pci/slots/00000000/power.

Fixes: 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
Report-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
---
 hw/s390x/s390-pci-bus.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index 15759b6514..7f911b216a 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -899,7 +899,7 @@ static void s390_pcihost_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
         }
 
         if (dev->hotplugged) {
-            s390_pci_generate_plug_event(HP_EVENT_RESERVED_TO_STANDBY,
+            s390_pci_generate_plug_event(HP_EVENT_TO_CONFIGURED ,
                                          pbdev->fh, pbdev->fid);
         }
     } else if (object_dynamic_cast(OBJECT(dev), TYPE_S390_PCI_DEVICE)) {
-- 
2.17.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v1] s390x/pci: Send correct event on hotplug.
  2019-01-10 21:03 [Qemu-devel] [PATCH v1] s390x/pci: Send correct event on hotplug David Hildenbrand
@ 2019-01-11  7:16 ` David Hildenbrand
  2019-01-11  9:38   ` Cornelia Huck
  2019-01-15  9:27 ` [Qemu-devel] " Cornelia Huck
  1 sibling, 1 reply; 9+ messages in thread
From: David Hildenbrand @ 2019-01-11  7:16 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-s390x, Collin Walling, Thomas Huth, Christian Borntraeger,
	Cornelia Huck, Richard Henderson

On 10.01.19 22:03, David Hildenbrand wrote:
> Comit 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
> changed the initial state of zPCI devices from ZPCI_FS_STANDBY to
> ZPCI_FS_DISABLED (a.k.a. configured). However we still only send a
> HP_EVENT_RESERVED_TO_STANDBY event to the guest, indicating a wrong
> state.
> 
> Let's send a HP_EVENT_TO_CONFIGURED event instead, to match the actual
> state the device is in.
> 
> This fixes hotplugged devices having to be enabled explicitly in the
> guest e.g. via echo 1 > /sys/bus/pci/slots/00000000/power.
> 
> Fixes: 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
> Report-by: Cornelia Huck <cohuck@redhat.com>

If this patch is the right thing to do, then

1. s/Report-by/Reported-by/
2. Dropping the "." from the subject

(yes, it was late)

I wonder if we should do both events sequentially, but as I don't have
access to the architecture I have to rely on that this works :)

> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
>  hw/s390x/s390-pci-bus.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
> index 15759b6514..7f911b216a 100644
> --- a/hw/s390x/s390-pci-bus.c
> +++ b/hw/s390x/s390-pci-bus.c
> @@ -899,7 +899,7 @@ static void s390_pcihost_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
>          }
>  
>          if (dev->hotplugged) {
> -            s390_pci_generate_plug_event(HP_EVENT_RESERVED_TO_STANDBY,
> +            s390_pci_generate_plug_event(HP_EVENT_TO_CONFIGURED ,
>                                           pbdev->fh, pbdev->fid);
>          }
>      } else if (object_dynamic_cast(OBJECT(dev), TYPE_S390_PCI_DEVICE)) {
> 


-- 

Thanks,

David / dhildenb

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v1] s390x/pci: Send correct event on hotplug.
  2019-01-11  7:16 ` David Hildenbrand
@ 2019-01-11  9:38   ` Cornelia Huck
  2019-01-14 10:06     ` Pierre Morel
  0 siblings, 1 reply; 9+ messages in thread
From: Cornelia Huck @ 2019-01-11  9:38 UTC (permalink / raw)
  To: David Hildenbrand
  Cc: qemu-devel, qemu-s390x, Collin Walling, Thomas Huth,
	Christian Borntraeger, Richard Henderson

On Fri, 11 Jan 2019 08:16:41 +0100
David Hildenbrand <david@redhat.com> wrote:

> On 10.01.19 22:03, David Hildenbrand wrote:
> > Comit 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
> > changed the initial state of zPCI devices from ZPCI_FS_STANDBY to
> > ZPCI_FS_DISABLED (a.k.a. configured). However we still only send a
> > HP_EVENT_RESERVED_TO_STANDBY event to the guest, indicating a wrong
> > state.
> > 
> > Let's send a HP_EVENT_TO_CONFIGURED event instead, to match the actual
> > state the device is in.
> > 
> > This fixes hotplugged devices having to be enabled explicitly in the
> > guest e.g. via echo 1 > /sys/bus/pci/slots/00000000/power.
> > 
> > Fixes: 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
> > Report-by: Cornelia Huck <cohuck@redhat.com>  

Cool, works for me as well.

Tested-by: Cornelia Huck <cohuck@redhat.com>

Do we want to cc:stable? Probably not, as it's more annoying than
critical, and pci hotplug does not seem to be much used on s390x.

> 
> If this patch is the right thing to do, then
> 
> 1. s/Report-by/Reported-by/
> 2. Dropping the "." from the subject
> 
> (yes, it was late)

:) Can do while applying.

> 
> I wonder if we should do both events sequentially, but as I don't have
> access to the architecture I have to rely on that this works :)

Yep, let's wait for feedback from folks with architecture access.

> 
> > Signed-off-by: David Hildenbrand <david@redhat.com>
> > ---
> >  hw/s390x/s390-pci-bus.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
> > index 15759b6514..7f911b216a 100644
> > --- a/hw/s390x/s390-pci-bus.c
> > +++ b/hw/s390x/s390-pci-bus.c
> > @@ -899,7 +899,7 @@ static void s390_pcihost_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
> >          }
> >  
> >          if (dev->hotplugged) {
> > -            s390_pci_generate_plug_event(HP_EVENT_RESERVED_TO_STANDBY,
> > +            s390_pci_generate_plug_event(HP_EVENT_TO_CONFIGURED ,
> >                                           pbdev->fh, pbdev->fid);
> >          }
> >      } else if (object_dynamic_cast(OBJECT(dev), TYPE_S390_PCI_DEVICE)) {
> >   
> 
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v1] s390x/pci: Send correct event on hotplug.
  2019-01-11  9:38   ` Cornelia Huck
@ 2019-01-14 10:06     ` Pierre Morel
  2019-01-14 17:44       ` Cornelia Huck
  0 siblings, 1 reply; 9+ messages in thread
From: Pierre Morel @ 2019-01-14 10:06 UTC (permalink / raw)
  To: qemu-devel

On 11/01/2019 10:38, Cornelia Huck wrote:
> On Fri, 11 Jan 2019 08:16:41 +0100
> David Hildenbrand <david@redhat.com> wrote:
> 
>> On 10.01.19 22:03, David Hildenbrand wrote:
>>> Comit 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
>>> changed the initial state of zPCI devices from ZPCI_FS_STANDBY to
>>> ZPCI_FS_DISABLED (a.k.a. configured). However we still only send a
>>> HP_EVENT_RESERVED_TO_STANDBY event to the guest, indicating a wrong
>>> state.
>>>
>>> Let's send a HP_EVENT_TO_CONFIGURED event instead, to match the actual
>>> state the device is in.
>>>
>>> This fixes hotplugged devices having to be enabled explicitly in the
>>> guest e.g. via echo 1 > /sys/bus/pci/slots/00000000/power.
>>>
>>> Fixes: 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
>>> Report-by: Cornelia Huck <cohuck@redhat.com>
> 
> Cool, works for me as well.
> 
> Tested-by: Cornelia Huck <cohuck@redhat.com>
> 
> Do we want to cc:stable? Probably not, as it's more annoying than
> critical, and pci hotplug does not seem to be much used on s390x.
> 
>>
>> If this patch is the right thing to do, then
>>
>> 1. s/Report-by/Reported-by/
>> 2. Dropping the "." from the subject
>>
>> (yes, it was late)
> 
> :) Can do while applying.
> 
>>
>> I wonder if we should do both events sequentially, but as I don't have
>> access to the architecture I have to rely on that this works :)
> 
> Yep, let's wait for feedback from folks with architecture access.
> 

Works fine on the architecture too.

Seems the logical thing to do for me.

Reviewed-by: Pierre Morel<pmorel@linux.ibm.com>


>>
>>> Signed-off-by: David Hildenbrand <david@redhat.com>
>>> ---
>>>   hw/s390x/s390-pci-bus.c | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
>>> index 15759b6514..7f911b216a 100644
>>> --- a/hw/s390x/s390-pci-bus.c
>>> +++ b/hw/s390x/s390-pci-bus.c
>>> @@ -899,7 +899,7 @@ static void s390_pcihost_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
>>>           }
>>>   
>>>           if (dev->hotplugged) {
>>> -            s390_pci_generate_plug_event(HP_EVENT_RESERVED_TO_STANDBY,
>>> +            s390_pci_generate_plug_event(HP_EVENT_TO_CONFIGURED ,
>>>                                            pbdev->fh, pbdev->fid);
>>>           }
>>>       } else if (object_dynamic_cast(OBJECT(dev), TYPE_S390_PCI_DEVICE)) {
>>>    
>>
>>
> 
> 


-- 
Pierre Morel
Linux/KVM/QEMU in Böblingen - Germany

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v1] s390x/pci: Send correct event on hotplug.
  2019-01-14 10:06     ` Pierre Morel
@ 2019-01-14 17:44       ` Cornelia Huck
  2019-01-14 20:00         ` [Qemu-devel] [qemu-s390x] " Collin Walling
  0 siblings, 1 reply; 9+ messages in thread
From: Cornelia Huck @ 2019-01-14 17:44 UTC (permalink / raw)
  To: Pierre Morel, Collin Walling
  Cc: qemu-devel, qemu-s390x, David Hildenbrand, Thomas Huth,
	Christian Borntraeger, Richard Henderson

[restored cc:s]

On Mon, 14 Jan 2019 11:06:19 +0100
Pierre Morel <pmorel@linux.ibm.com> wrote:

> On 11/01/2019 10:38, Cornelia Huck wrote:
> > On Fri, 11 Jan 2019 08:16:41 +0100
> > David Hildenbrand <david@redhat.com> wrote:
> >   
> >> On 10.01.19 22:03, David Hildenbrand wrote:  
> >>> Comit 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
> >>> changed the initial state of zPCI devices from ZPCI_FS_STANDBY to
> >>> ZPCI_FS_DISABLED (a.k.a. configured). However we still only send a
> >>> HP_EVENT_RESERVED_TO_STANDBY event to the guest, indicating a wrong
> >>> state.
> >>>
> >>> Let's send a HP_EVENT_TO_CONFIGURED event instead, to match the actual
> >>> state the device is in.
> >>>
> >>> This fixes hotplugged devices having to be enabled explicitly in the
> >>> guest e.g. via echo 1 > /sys/bus/pci/slots/00000000/power.
> >>>
> >>> Fixes: 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
> >>> Report-by: Cornelia Huck <cohuck@redhat.com>  
> > 
> > Cool, works for me as well.
> > 
> > Tested-by: Cornelia Huck <cohuck@redhat.com>
> > 
> > Do we want to cc:stable? Probably not, as it's more annoying than
> > critical, and pci hotplug does not seem to be much used on s390x.
> >   
> >>
> >> If this patch is the right thing to do, then
> >>
> >> 1. s/Report-by/Reported-by/
> >> 2. Dropping the "." from the subject
> >>
> >> (yes, it was late)  
> > 
> > :) Can do while applying.
> >   
> >>
> >> I wonder if we should do both events sequentially, but as I don't have
> >> access to the architecture I have to rely on that this works :)  
> > 
> > Yep, let's wait for feedback from folks with architecture access.
> >   
> 
> Works fine on the architecture too.
> 
> Seems the logical thing to do for me.
> 
> Reviewed-by: Pierre Morel<pmorel@linux.ibm.com>

Thanks for checking.

I'd like to queue this, but I'd like an ack from Collin as well.

> 
> 
> >>  
> >>> Signed-off-by: David Hildenbrand <david@redhat.com>
> >>> ---
> >>>   hw/s390x/s390-pci-bus.c | 2 +-
> >>>   1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
> >>> index 15759b6514..7f911b216a 100644
> >>> --- a/hw/s390x/s390-pci-bus.c
> >>> +++ b/hw/s390x/s390-pci-bus.c
> >>> @@ -899,7 +899,7 @@ static void s390_pcihost_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
> >>>           }
> >>>   
> >>>           if (dev->hotplugged) {
> >>> -            s390_pci_generate_plug_event(HP_EVENT_RESERVED_TO_STANDBY,
> >>> +            s390_pci_generate_plug_event(HP_EVENT_TO_CONFIGURED ,
> >>>                                            pbdev->fh, pbdev->fid);
> >>>           }
> >>>       } else if (object_dynamic_cast(OBJECT(dev), TYPE_S390_PCI_DEVICE)) {
> >>>      
> >>
> >>  
> > 
> >   
> 
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [qemu-s390x] [PATCH v1] s390x/pci: Send correct event on hotplug.
  2019-01-14 17:44       ` Cornelia Huck
@ 2019-01-14 20:00         ` Collin Walling
  2019-01-14 20:59           ` David Hildenbrand
  0 siblings, 1 reply; 9+ messages in thread
From: Collin Walling @ 2019-01-14 20:00 UTC (permalink / raw)
  To: Cornelia Huck, Pierre Morel
  Cc: Thomas Huth, David Hildenbrand, qemu-devel,
	Christian Borntraeger, qemu-s390x, Richard Henderson

On 1/14/19 12:44 PM, Cornelia Huck wrote:
> [restored cc:s]
> 
> On Mon, 14 Jan 2019 11:06:19 +0100
> Pierre Morel <pmorel@linux.ibm.com> wrote:
> 
>> On 11/01/2019 10:38, Cornelia Huck wrote:
>>> On Fri, 11 Jan 2019 08:16:41 +0100
>>> David Hildenbrand <david@redhat.com> wrote:
>>>   
>>>> On 10.01.19 22:03, David Hildenbrand wrote:  
>>>>> Comit 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
>>>>> changed the initial state of zPCI devices from ZPCI_FS_STANDBY to
>>>>> ZPCI_FS_DISABLED (a.k.a. configured). However we still only send a
>>>>> HP_EVENT_RESERVED_TO_STANDBY event to the guest, indicating a wrong
>>>>> state.
>>>>>
>>>>> Let's send a HP_EVENT_TO_CONFIGURED event instead, to match the actual
>>>>> state the device is in.
>>>>>
>>>>> This fixes hotplugged devices having to be enabled explicitly in the
>>>>> guest e.g. via echo 1 > /sys/bus/pci/slots/00000000/power.
>>>>>
>>>>> Fixes: 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
>>>>> Report-by: Cornelia Huck <cohuck@redhat.com>  
>>>
>>> Cool, works for me as well.
>>>
>>> Tested-by: Cornelia Huck <cohuck@redhat.com>
>>>
>>> Do we want to cc:stable? Probably not, as it's more annoying than
>>> critical, and pci hotplug does not seem to be much used on s390x.
>>>   
>>>>
>>>> If this patch is the right thing to do, then
>>>>
>>>> 1. s/Report-by/Reported-by/
>>>> 2. Dropping the "." from the subject
>>>>
>>>> (yes, it was late)  
>>>
>>> :) Can do while applying.
>>>   
>>>>
>>>> I wonder if we should do both events sequentially, but as I don't have
>>>> access to the architecture I have to rely on that this works :)  
>>>
>>> Yep, let's wait for feedback from folks with architecture access.
>>>   
>>
>> Works fine on the architecture too.
>>
>> Seems the logical thing to do for me.
>>
>> Reviewed-by: Pierre Morel<pmorel@linux.ibm.com>
> 
> Thanks for checking.
> 
> I'd like to queue this, but I'd like an ack from Collin as well.
> 

Would you mind adding a comment somewhere that states something like
"we can safely bypass the standby state when PCI hotplugging for a guest" 
just to be clear that QEMU is a bit different from how we handle it on the LPAR
level?

That comment would more-or-less clarify why we set the ZPCI_FS_<STATE> directly
to disabled instead of to standby when hotplugging (which, AFAIU, is the order 
how things occur at the LPAR level)

Otherwise,

Reviewed-by: Collin Walling <walling@linux.ibm.com>

>>
>>
>>>>  
>>>>> Signed-off-by: David Hildenbrand <david@redhat.com>
>>>>> ---
>>>>>   hw/s390x/s390-pci-bus.c | 2 +-
>>>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
>>>>> index 15759b6514..7f911b216a 100644
>>>>> --- a/hw/s390x/s390-pci-bus.c
>>>>> +++ b/hw/s390x/s390-pci-bus.c
>>>>> @@ -899,7 +899,7 @@ static void s390_pcihost_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
>>>>>           }
>>>>>   
>>>>>           if (dev->hotplugged) {
>>>>> -            s390_pci_generate_plug_event(HP_EVENT_RESERVED_TO_STANDBY,
>>>>> +            s390_pci_generate_plug_event(HP_EVENT_TO_CONFIGURED ,
>>>>>                                            pbdev->fh, pbdev->fid);
>>>>>           }
>>>>>       } else if (object_dynamic_cast(OBJECT(dev), TYPE_S390_PCI_DEVICE)) {
>>>>>      
>>>>
>>>>  
>>>
>>>   
>>
>>
> 
> 


-- 
Respectfully,
- Collin Walling

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [qemu-s390x] [PATCH v1] s390x/pci: Send correct event on hotplug.
  2019-01-14 20:00         ` [Qemu-devel] [qemu-s390x] " Collin Walling
@ 2019-01-14 20:59           ` David Hildenbrand
  2019-01-15  9:25             ` Cornelia Huck
  0 siblings, 1 reply; 9+ messages in thread
From: David Hildenbrand @ 2019-01-14 20:59 UTC (permalink / raw)
  To: Collin Walling, Cornelia Huck, Pierre Morel
  Cc: Thomas Huth, qemu-devel, Christian Borntraeger, qemu-s390x,
	Richard Henderson

On 14.01.19 21:00, Collin Walling wrote:
> On 1/14/19 12:44 PM, Cornelia Huck wrote:
>> [restored cc:s]
>>
>> On Mon, 14 Jan 2019 11:06:19 +0100
>> Pierre Morel <pmorel@linux.ibm.com> wrote:
>>
>>> On 11/01/2019 10:38, Cornelia Huck wrote:
>>>> On Fri, 11 Jan 2019 08:16:41 +0100
>>>> David Hildenbrand <david@redhat.com> wrote:
>>>>   
>>>>> On 10.01.19 22:03, David Hildenbrand wrote:  
>>>>>> Comit 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
>>>>>> changed the initial state of zPCI devices from ZPCI_FS_STANDBY to
>>>>>> ZPCI_FS_DISABLED (a.k.a. configured). However we still only send a
>>>>>> HP_EVENT_RESERVED_TO_STANDBY event to the guest, indicating a wrong
>>>>>> state.
>>>>>>
>>>>>> Let's send a HP_EVENT_TO_CONFIGURED event instead, to match the actual
>>>>>> state the device is in.
>>>>>>
>>>>>> This fixes hotplugged devices having to be enabled explicitly in the
>>>>>> guest e.g. via echo 1 > /sys/bus/pci/slots/00000000/power.
>>>>>>
>>>>>> Fixes: 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
>>>>>> Report-by: Cornelia Huck <cohuck@redhat.com>  
>>>>
>>>> Cool, works for me as well.
>>>>
>>>> Tested-by: Cornelia Huck <cohuck@redhat.com>
>>>>
>>>> Do we want to cc:stable? Probably not, as it's more annoying than
>>>> critical, and pci hotplug does not seem to be much used on s390x.
>>>>   
>>>>>
>>>>> If this patch is the right thing to do, then
>>>>>
>>>>> 1. s/Report-by/Reported-by/
>>>>> 2. Dropping the "." from the subject
>>>>>
>>>>> (yes, it was late)  
>>>>
>>>> :) Can do while applying.
>>>>   
>>>>>
>>>>> I wonder if we should do both events sequentially, but as I don't have
>>>>> access to the architecture I have to rely on that this works :)  
>>>>
>>>> Yep, let's wait for feedback from folks with architecture access.
>>>>   
>>>
>>> Works fine on the architecture too.
>>>
>>> Seems the logical thing to do for me.
>>>
>>> Reviewed-by: Pierre Morel<pmorel@linux.ibm.com>
>>
>> Thanks for checking.
>>
>> I'd like to queue this, but I'd like an ack from Collin as well.
>>
> 
> Would you mind adding a comment somewhere that states something like
> "we can safely bypass the standby state when PCI hotplugging for a guest" 
> just to be clear that QEMU is a bit different from how we handle it on the LPAR
> level?
> 
> That comment would more-or-less clarify why we set the ZPCI_FS_<STATE> directly
> to disabled instead of to standby when hotplugging (which, AFAIU, is the order 
> how things occur at the LPAR level)

This patch relies on Christians patch, where the general concept was
explained. As we changed the initial state, we have to send a
corresponding hotplug event. But still we can add a comment to shine
some light on the general concept.

@Conny, can you add after the first paragraph: (or let me know if you
want a respin)

"On real HW, a PCI device always pops up in the STANDBY state. In QEMU,
we decided to let it show up directly in the configured state (as
configuring it is otherwise just an extra burden for the admin). We can
safely bypass the STANDBY state when hotplugging PCI devices to a guest."

> 
> Otherwise,
> 
> Reviewed-by: Collin Walling <walling@linux.ibm.com>

Thanks!

-- 

Thanks,

David / dhildenb

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [qemu-s390x] [PATCH v1] s390x/pci: Send correct event on hotplug.
  2019-01-14 20:59           ` David Hildenbrand
@ 2019-01-15  9:25             ` Cornelia Huck
  0 siblings, 0 replies; 9+ messages in thread
From: Cornelia Huck @ 2019-01-15  9:25 UTC (permalink / raw)
  To: David Hildenbrand
  Cc: Collin Walling, Pierre Morel, Thomas Huth, qemu-devel,
	Christian Borntraeger, qemu-s390x, Richard Henderson

On Mon, 14 Jan 2019 21:59:58 +0100
David Hildenbrand <david@redhat.com> wrote:

> On 14.01.19 21:00, Collin Walling wrote:
> > On 1/14/19 12:44 PM, Cornelia Huck wrote:  
> >> [restored cc:s]
> >>
> >> On Mon, 14 Jan 2019 11:06:19 +0100
> >> Pierre Morel <pmorel@linux.ibm.com> wrote:
> >>  
> >>> On 11/01/2019 10:38, Cornelia Huck wrote:  
> >>>> On Fri, 11 Jan 2019 08:16:41 +0100
> >>>> David Hildenbrand <david@redhat.com> wrote:
> >>>>     
> >>>>> On 10.01.19 22:03, David Hildenbrand wrote:    
> >>>>>> Comit 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
> >>>>>> changed the initial state of zPCI devices from ZPCI_FS_STANDBY to
> >>>>>> ZPCI_FS_DISABLED (a.k.a. configured). However we still only send a
> >>>>>> HP_EVENT_RESERVED_TO_STANDBY event to the guest, indicating a wrong
> >>>>>> state.
> >>>>>>
> >>>>>> Let's send a HP_EVENT_TO_CONFIGURED event instead, to match the actual
> >>>>>> state the device is in.
> >>>>>>
> >>>>>> This fixes hotplugged devices having to be enabled explicitly in the
> >>>>>> guest e.g. via echo 1 > /sys/bus/pci/slots/00000000/power.
> >>>>>>
> >>>>>> Fixes: 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
> >>>>>> Report-by: Cornelia Huck <cohuck@redhat.com>    
> >>>>
> >>>> Cool, works for me as well.
> >>>>
> >>>> Tested-by: Cornelia Huck <cohuck@redhat.com>
> >>>>
> >>>> Do we want to cc:stable? Probably not, as it's more annoying than
> >>>> critical, and pci hotplug does not seem to be much used on s390x.
> >>>>     
> >>>>>
> >>>>> If this patch is the right thing to do, then
> >>>>>
> >>>>> 1. s/Report-by/Reported-by/
> >>>>> 2. Dropping the "." from the subject
> >>>>>
> >>>>> (yes, it was late)    
> >>>>
> >>>> :) Can do while applying.
> >>>>     
> >>>>>
> >>>>> I wonder if we should do both events sequentially, but as I don't have
> >>>>> access to the architecture I have to rely on that this works :)    
> >>>>
> >>>> Yep, let's wait for feedback from folks with architecture access.
> >>>>     
> >>>
> >>> Works fine on the architecture too.
> >>>
> >>> Seems the logical thing to do for me.
> >>>
> >>> Reviewed-by: Pierre Morel<pmorel@linux.ibm.com>  
> >>
> >> Thanks for checking.
> >>
> >> I'd like to queue this, but I'd like an ack from Collin as well.
> >>  
> > 
> > Would you mind adding a comment somewhere that states something like
> > "we can safely bypass the standby state when PCI hotplugging for a guest" 
> > just to be clear that QEMU is a bit different from how we handle it on the LPAR
> > level?
> > 
> > That comment would more-or-less clarify why we set the ZPCI_FS_<STATE> directly
> > to disabled instead of to standby when hotplugging (which, AFAIU, is the order 
> > how things occur at the LPAR level)  
> 
> This patch relies on Christians patch, where the general concept was
> explained. As we changed the initial state, we have to send a
> corresponding hotplug event. But still we can add a comment to shine
> some light on the general concept.
> 
> @Conny, can you add after the first paragraph: (or let me know if you
> want a respin)
> 
> "On real HW, a PCI device always pops up in the STANDBY state. In QEMU,
> we decided to let it show up directly in the configured state (as
> configuring it is otherwise just an extra burden for the admin). We can
> safely bypass the STANDBY state when hotplugging PCI devices to a guest."

I'll just add that text.

> 
> > 
> > Otherwise,
> > 
> > Reviewed-by: Collin Walling <walling@linux.ibm.com>  
> 
> Thanks!
> 

Thanks!

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v1] s390x/pci: Send correct event on hotplug.
  2019-01-10 21:03 [Qemu-devel] [PATCH v1] s390x/pci: Send correct event on hotplug David Hildenbrand
  2019-01-11  7:16 ` David Hildenbrand
@ 2019-01-15  9:27 ` Cornelia Huck
  1 sibling, 0 replies; 9+ messages in thread
From: Cornelia Huck @ 2019-01-15  9:27 UTC (permalink / raw)
  To: David Hildenbrand
  Cc: qemu-devel, qemu-s390x, Collin Walling, Thomas Huth,
	Christian Borntraeger, Richard Henderson

On Thu, 10 Jan 2019 22:03:58 +0100
David Hildenbrand <david@redhat.com> wrote:

> Comit 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
> changed the initial state of zPCI devices from ZPCI_FS_STANDBY to
> ZPCI_FS_DISABLED (a.k.a. configured). However we still only send a
> HP_EVENT_RESERVED_TO_STANDBY event to the guest, indicating a wrong
> state.
> 
> Let's send a HP_EVENT_TO_CONFIGURED event instead, to match the actual
> state the device is in.
> 
> This fixes hotplugged devices having to be enabled explicitly in the
> guest e.g. via echo 1 > /sys/bus/pci/slots/00000000/power.
> 
> Fixes: 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
> Report-by: Cornelia Huck <cohuck@redhat.com>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
>  hw/s390x/s390-pci-bus.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Thanks, applied.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-01-15  9:27 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-10 21:03 [Qemu-devel] [PATCH v1] s390x/pci: Send correct event on hotplug David Hildenbrand
2019-01-11  7:16 ` David Hildenbrand
2019-01-11  9:38   ` Cornelia Huck
2019-01-14 10:06     ` Pierre Morel
2019-01-14 17:44       ` Cornelia Huck
2019-01-14 20:00         ` [Qemu-devel] [qemu-s390x] " Collin Walling
2019-01-14 20:59           ` David Hildenbrand
2019-01-15  9:25             ` Cornelia Huck
2019-01-15  9:27 ` [Qemu-devel] " Cornelia Huck

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.