RE: [PATCH 0/3] PCI: hv: clean-up and 2 fixes to the hot-remove case

2016-11-16 Thread KY Srinivasan


> -Original Message-
> From: Bjorn Helgaas [mailto:helg...@kernel.org]
> Sent: Wednesday, November 16, 2016 2:49 PM
> To: Dexuan Cui <de...@microsoft.com>
> Cc: Bjorn Helgaas <bhelg...@google.com>; linux-...@vger.kernel.org;
> de...@linuxdriverproject.org; gre...@linuxfoundation.org; KY Srinivasan
> <k...@microsoft.com>; Haiyang Zhang <haiya...@microsoft.com>; Stephen
> Hemminger <sthem...@microsoft.com>; Jake Oshins
> <ja...@microsoft.com>; Hadden Hoppert <hadd...@microsoft.com>;
> Vitaly Kuznetsov <vkuzn...@redhat.com>; jasow...@redhat.com;
> a...@canonical.com; o...@aepfle.de; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH 0/3] PCI: hv: clean-up and 2 fixes to the hot-remove case
> 
> On Thu, Nov 10, 2016 at 07:16:22AM +, Dexuan Cui wrote:
> > PATCH 1 is just a clean-up. There should be no functional change.
> >
> > PATCH 2 and 3 are for device hot-remove case.
> > Currently the driver will stop working or even cause panic, if we do
> > hot add/remove quickly a few times. With the 2 patches, everything works
> > reliably in my tests now.
> >
> > There can be still a potential issue with hot-remove when we unload
> > the driver at the same time. That would require more work of proper
> > synchronization among the 3 paths: the .probe/.remove, the channel
> callback,
> > and the offloaded hv_pci_devices_present()/hv_eject_device_work().
> >
> > But for now, PATCH 2 and 3 do improve the situation a lot.
> >
> > Dexuan Cui (3):
> >   PCI: hv: use the correct buffer size in new_pcichild_device()
> >   PCI: hv: fix hv_pci_remove() for hot-remove
> >   PCI: hv: delete the device earlier from hbus->children for hot-remove
> >
> >  drivers/pci/host/pci-hyperv.c | 67 ++---
> --
> >  1 file changed, 40 insertions(+), 27 deletions(-)
> 
> I applied all three of these to pci/host-hv for v4.10, thanks!
> 
> Jake, I converted your "looks good to me" to Reviewed-by tags.
> 
> K. Y., I added your acks on 2 & 3.  If you acked 1, I missed it.

Thanks Bjorn; I thought I had acked all three, but that is ok.

K. Y


RE: [PATCH 0/3] PCI: hv: clean-up and 2 fixes to the hot-remove case

2016-11-16 Thread KY Srinivasan


> -Original Message-
> From: Bjorn Helgaas [mailto:helg...@kernel.org]
> Sent: Wednesday, November 16, 2016 2:49 PM
> To: Dexuan Cui 
> Cc: Bjorn Helgaas ; linux-...@vger.kernel.org;
> de...@linuxdriverproject.org; gre...@linuxfoundation.org; KY Srinivasan
> ; Haiyang Zhang ; Stephen
> Hemminger ; Jake Oshins
> ; Hadden Hoppert ;
> Vitaly Kuznetsov ; jasow...@redhat.com;
> a...@canonical.com; o...@aepfle.de; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH 0/3] PCI: hv: clean-up and 2 fixes to the hot-remove case
> 
> On Thu, Nov 10, 2016 at 07:16:22AM +, Dexuan Cui wrote:
> > PATCH 1 is just a clean-up. There should be no functional change.
> >
> > PATCH 2 and 3 are for device hot-remove case.
> > Currently the driver will stop working or even cause panic, if we do
> > hot add/remove quickly a few times. With the 2 patches, everything works
> > reliably in my tests now.
> >
> > There can be still a potential issue with hot-remove when we unload
> > the driver at the same time. That would require more work of proper
> > synchronization among the 3 paths: the .probe/.remove, the channel
> callback,
> > and the offloaded hv_pci_devices_present()/hv_eject_device_work().
> >
> > But for now, PATCH 2 and 3 do improve the situation a lot.
> >
> > Dexuan Cui (3):
> >   PCI: hv: use the correct buffer size in new_pcichild_device()
> >   PCI: hv: fix hv_pci_remove() for hot-remove
> >   PCI: hv: delete the device earlier from hbus->children for hot-remove
> >
> >  drivers/pci/host/pci-hyperv.c | 67 ++---
> --
> >  1 file changed, 40 insertions(+), 27 deletions(-)
> 
> I applied all three of these to pci/host-hv for v4.10, thanks!
> 
> Jake, I converted your "looks good to me" to Reviewed-by tags.
> 
> K. Y., I added your acks on 2 & 3.  If you acked 1, I missed it.

Thanks Bjorn; I thought I had acked all three, but that is ok.

K. Y


Re: [PATCH 0/3] PCI: hv: clean-up and 2 fixes to the hot-remove case

2016-11-16 Thread Bjorn Helgaas
On Thu, Nov 10, 2016 at 07:16:22AM +, Dexuan Cui wrote:
> PATCH 1 is just a clean-up. There should be no functional change.
> 
> PATCH 2 and 3 are for device hot-remove case. 
> Currently the driver will stop working or even cause panic, if we do
> hot add/remove quickly a few times. With the 2 patches, everything works
> reliably in my tests now.
> 
> There can be still a potential issue with hot-remove when we unload 
> the driver at the same time. That would require more work of proper
> synchronization among the 3 paths: the .probe/.remove, the channel callback,
> and the offloaded hv_pci_devices_present()/hv_eject_device_work().
> 
> But for now, PATCH 2 and 3 do improve the situation a lot.
> 
> Dexuan Cui (3):
>   PCI: hv: use the correct buffer size in new_pcichild_device()
>   PCI: hv: fix hv_pci_remove() for hot-remove
>   PCI: hv: delete the device earlier from hbus->children for hot-remove
> 
>  drivers/pci/host/pci-hyperv.c | 67 
> ++-
>  1 file changed, 40 insertions(+), 27 deletions(-)

I applied all three of these to pci/host-hv for v4.10, thanks!

Jake, I converted your "looks good to me" to Reviewed-by tags.

K. Y., I added your acks on 2 & 3.  If you acked 1, I missed it.


Re: [PATCH 0/3] PCI: hv: clean-up and 2 fixes to the hot-remove case

2016-11-16 Thread Bjorn Helgaas
On Thu, Nov 10, 2016 at 07:16:22AM +, Dexuan Cui wrote:
> PATCH 1 is just a clean-up. There should be no functional change.
> 
> PATCH 2 and 3 are for device hot-remove case. 
> Currently the driver will stop working or even cause panic, if we do
> hot add/remove quickly a few times. With the 2 patches, everything works
> reliably in my tests now.
> 
> There can be still a potential issue with hot-remove when we unload 
> the driver at the same time. That would require more work of proper
> synchronization among the 3 paths: the .probe/.remove, the channel callback,
> and the offloaded hv_pci_devices_present()/hv_eject_device_work().
> 
> But for now, PATCH 2 and 3 do improve the situation a lot.
> 
> Dexuan Cui (3):
>   PCI: hv: use the correct buffer size in new_pcichild_device()
>   PCI: hv: fix hv_pci_remove() for hot-remove
>   PCI: hv: delete the device earlier from hbus->children for hot-remove
> 
>  drivers/pci/host/pci-hyperv.c | 67 
> ++-
>  1 file changed, 40 insertions(+), 27 deletions(-)

I applied all three of these to pci/host-hv for v4.10, thanks!

Jake, I converted your "looks good to me" to Reviewed-by tags.

K. Y., I added your acks on 2 & 3.  If you acked 1, I missed it.


[PATCH 0/3] PCI: hv: clean-up and 2 fixes to the hot-remove case

2016-11-09 Thread Dexuan Cui
PATCH 1 is just a clean-up. There should be no functional change.

PATCH 2 and 3 are for device hot-remove case. 
Currently the driver will stop working or even cause panic, if we do
hot add/remove quickly a few times. With the 2 patches, everything works
reliably in my tests now.

There can be still a potential issue with hot-remove when we unload 
the driver at the same time. That would require more work of proper
synchronization among the 3 paths: the .probe/.remove, the channel callback,
and the offloaded hv_pci_devices_present()/hv_eject_device_work().

But for now, PATCH 2 and 3 do improve the situation a lot.

Dexuan Cui (3):
  PCI: hv: use the correct buffer size in new_pcichild_device()
  PCI: hv: fix hv_pci_remove() for hot-remove
  PCI: hv: delete the device earlier from hbus->children for hot-remove

 drivers/pci/host/pci-hyperv.c | 67 ++-
 1 file changed, 40 insertions(+), 27 deletions(-)

-- 
2.7.4



[PATCH 0/3] PCI: hv: clean-up and 2 fixes to the hot-remove case

2016-11-09 Thread Dexuan Cui
PATCH 1 is just a clean-up. There should be no functional change.

PATCH 2 and 3 are for device hot-remove case. 
Currently the driver will stop working or even cause panic, if we do
hot add/remove quickly a few times. With the 2 patches, everything works
reliably in my tests now.

There can be still a potential issue with hot-remove when we unload 
the driver at the same time. That would require more work of proper
synchronization among the 3 paths: the .probe/.remove, the channel callback,
and the offloaded hv_pci_devices_present()/hv_eject_device_work().

But for now, PATCH 2 and 3 do improve the situation a lot.

Dexuan Cui (3):
  PCI: hv: use the correct buffer size in new_pcichild_device()
  PCI: hv: fix hv_pci_remove() for hot-remove
  PCI: hv: delete the device earlier from hbus->children for hot-remove

 drivers/pci/host/pci-hyperv.c | 67 ++-
 1 file changed, 40 insertions(+), 27 deletions(-)

-- 
2.7.4