On 1/14/19 12:44 PM, Cornelia Huck wrote:
> [restored cc:s]
> 
> On Mon, 14 Jan 2019 11:06:19 +0100
> Pierre Morel <pmo...@linux.ibm.com> wrote:
> 
>> On 11/01/2019 10:38, Cornelia Huck wrote:
>>> On Fri, 11 Jan 2019 08:16:41 +0100
>>> David Hildenbrand <da...@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 <coh...@redhat.com>  
>>>
>>> Cool, works for me as well.
>>>
>>> Tested-by: Cornelia Huck <coh...@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<pmo...@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 <wall...@linux.ibm.com>

>>
>>
>>>>  
>>>>> Signed-off-by: David Hildenbrand <da...@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


Reply via email to