* [PATCH] powerpc/pci: remove pci device on a bus in reverse order
@ 2014-12-04 3:04 Wei Yang
2014-12-04 3:24 ` Wei Yang
2014-12-04 3:26 ` [PATCH] " Wei Yang
0 siblings, 2 replies; 7+ messages in thread
From: Wei Yang @ 2014-12-04 3:04 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Wei Yang, gwshan
As in commit ac205b7b (PCI: make sriov work with hotplug remove) indicates,
when removing pci devices on a bus which has VFs, we need to remove them in
the reverse order.
This patch applies this patten on the hotplug remove patch on powerpc arch.
Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.com>
---
arch/powerpc/kernel/pci-hotplug.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/pci-hotplug.c b/arch/powerpc/kernel/pci-hotplug.c
index 5b78917..f0f00d9 100644
--- a/arch/powerpc/kernel/pci-hotplug.c
+++ b/arch/powerpc/kernel/pci-hotplug.c
@@ -50,7 +50,7 @@ void pcibios_remove_pci_devices(struct pci_bus *bus)
pr_debug("PCI: Removing devices on bus %04x:%02x\n",
pci_domain_nr(bus), bus->number);
- list_for_each_entry_safe(dev, tmp, &bus->devices, bus_list) {
+ list_for_each_entry_safe_reverse(dev, tmp, &bus->devices, bus_list) {
pr_debug(" Removing %s...\n", pci_name(dev));
pci_stop_and_remove_bus_device(dev);
}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH] powerpc/pci: remove pci device on a bus in reverse order
2014-12-04 3:04 [PATCH] powerpc/pci: remove pci device on a bus in reverse order Wei Yang
@ 2014-12-04 3:24 ` Wei Yang
2014-12-04 5:40 ` Michael Ellerman
2014-12-04 3:26 ` [PATCH] " Wei Yang
1 sibling, 1 reply; 7+ messages in thread
From: Wei Yang @ 2014-12-04 3:24 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Wei Yang, gwshan
As in commit ac205b7b (PCI: make sriov work with hotplug remove) indicates,
when removing pci devices on a bus which has VFs, we need to remove them in
the reverse order.
This patch applies this pattern on the hotplug remove path on powerpc arch.
Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.com>
Acked-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
---
arch/powerpc/kernel/pci-hotplug.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/pci-hotplug.c b/arch/powerpc/kernel/pci-hotplug.c
index 5b78917..f0f00d9 100644
--- a/arch/powerpc/kernel/pci-hotplug.c
+++ b/arch/powerpc/kernel/pci-hotplug.c
@@ -50,7 +50,7 @@ void pcibios_remove_pci_devices(struct pci_bus *bus)
pr_debug("PCI: Removing devices on bus %04x:%02x\n",
pci_domain_nr(bus), bus->number);
- list_for_each_entry_safe(dev, tmp, &bus->devices, bus_list) {
+ list_for_each_entry_safe_reverse(dev, tmp, &bus->devices, bus_list) {
pr_debug(" Removing %s...\n", pci_name(dev));
pci_stop_and_remove_bus_device(dev);
}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: powerpc/pci: remove pci device on a bus in reverse order
2014-12-04 3:24 ` Wei Yang
@ 2014-12-04 5:40 ` Michael Ellerman
2014-12-04 7:21 ` Wei Yang
0 siblings, 1 reply; 7+ messages in thread
From: Michael Ellerman @ 2014-12-04 5:40 UTC (permalink / raw)
To: Wei Yang, linuxppc-dev; +Cc: Wei Yang, gwshan
On Thu, 2014-04-12 at 03:24:37 UTC, Wei Yang wrote:
> As in commit ac205b7b (PCI: make sriov work with hotplug remove) indicates,
> when removing pci devices on a bus which has VFs, we need to remove them in
> the reverse order.
>
> This patch applies this pattern on the hotplug remove path on powerpc arch.
So is this is a bug fix?
Where/how have you tested this?
cheers
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: powerpc/pci: remove pci device on a bus in reverse order
2014-12-04 5:40 ` Michael Ellerman
@ 2014-12-04 7:21 ` Wei Yang
2014-12-04 22:48 ` Gavin Shan
0 siblings, 1 reply; 7+ messages in thread
From: Wei Yang @ 2014-12-04 7:21 UTC (permalink / raw)
To: Michael Ellerman; +Cc: Wei Yang, linuxppc-dev, gwshan
On Thu, Dec 04, 2014 at 04:40:35PM +1100, Michael Ellerman wrote:
>On Thu, 2014-04-12 at 03:24:37 UTC, Wei Yang wrote:
>> As in commit ac205b7b (PCI: make sriov work with hotplug remove) indicates,
>> when removing pci devices on a bus which has VFs, we need to remove them in
>> the reverse order.
>>
>> This patch applies this pattern on the hotplug remove path on powerpc arch.
>
>So is this is a bug fix?
It hasn't trigger a bug yet. I found this issue during the code reading. When
VFs are enabled and try to remove a bus with VFs, it will face a problem. So I
port the change in commit ac205b7b here.
>
>Where/how have you tested this?
I have tested after change on Power8, the EEH hotplug path works fine for PFs
now. Will test this when EEH for VFs are ready.
Suggest me to keep it untill EEH for VFs are ready?
>
>cheers
--
Richard Yang
Help you, Help me
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: powerpc/pci: remove pci device on a bus in reverse order
2014-12-04 7:21 ` Wei Yang
@ 2014-12-04 22:48 ` Gavin Shan
2014-12-05 1:40 ` Wei Yang
0 siblings, 1 reply; 7+ messages in thread
From: Gavin Shan @ 2014-12-04 22:48 UTC (permalink / raw)
To: Wei Yang; +Cc: linuxppc-dev, gwshan
On Thu, Dec 04, 2014 at 03:21:18PM +0800, Wei Yang wrote:
>On Thu, Dec 04, 2014 at 04:40:35PM +1100, Michael Ellerman wrote:
>>On Thu, 2014-04-12 at 03:24:37 UTC, Wei Yang wrote:
>>> As in commit ac205b7b (PCI: make sriov work with hotplug remove) indicates,
>>> when removing pci devices on a bus which has VFs, we need to remove them in
>>> the reverse order.
>>>
>>> This patch applies this pattern on the hotplug remove path on powerpc arch.
>>
>>So is this is a bug fix?
>
>It hasn't trigger a bug yet. I found this issue during the code reading. When
>VFs are enabled and try to remove a bus with VFs, it will face a problem. So I
>port the change in commit ac205b7b here.
>
>>
>>Where/how have you tested this?
>
>I have tested after change on Power8, the EEH hotplug path works fine for PFs
>now. Will test this when EEH for VFs are ready.
>
>Suggest me to keep it untill EEH for VFs are ready?
>
Please keep it and resend it (with typo fixed as I pointed) after SRIOV patchset
gets merged. If SRIOV isn't enabled, we don't need the code change.
By the way, it's something related to EEH for PFs. When PF and its VFs seat on
same PCI bus, we should remove VFs before putting PF offline in the reversed
order as you did in your code change. Otherwise, PF is put into offline and
its driver disables VFs. We try redoing the removal for VFs in hotplug path,
which would cause race condition. If VFs aren't existing, until your SRIOV
patchset is merged, we don't have this problem. Please correct me if I
understood things wrongly.
Thanks,
Gavin
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: powerpc/pci: remove pci device on a bus in reverse order
2014-12-04 22:48 ` Gavin Shan
@ 2014-12-05 1:40 ` Wei Yang
0 siblings, 0 replies; 7+ messages in thread
From: Wei Yang @ 2014-12-05 1:40 UTC (permalink / raw)
To: Gavin Shan; +Cc: Wei Yang, linuxppc-dev
On Fri, Dec 05, 2014 at 09:48:13AM +1100, Gavin Shan wrote:
>On Thu, Dec 04, 2014 at 03:21:18PM +0800, Wei Yang wrote:
>>On Thu, Dec 04, 2014 at 04:40:35PM +1100, Michael Ellerman wrote:
>>>On Thu, 2014-04-12 at 03:24:37 UTC, Wei Yang wrote:
>>>> As in commit ac205b7b (PCI: make sriov work with hotplug remove) indicates,
>>>> when removing pci devices on a bus which has VFs, we need to remove them in
>>>> the reverse order.
>>>>
>>>> This patch applies this pattern on the hotplug remove path on powerpc arch.
>>>
>>>So is this is a bug fix?
>>
>>It hasn't trigger a bug yet. I found this issue during the code reading. When
>>VFs are enabled and try to remove a bus with VFs, it will face a problem. So I
>>port the change in commit ac205b7b here.
>>
>>>
>>>Where/how have you tested this?
>>
>>I have tested after change on Power8, the EEH hotplug path works fine for PFs
>>now. Will test this when EEH for VFs are ready.
>>
>>Suggest me to keep it untill EEH for VFs are ready?
>>
>
>Please keep it and resend it (with typo fixed as I pointed) after SRIOV patchset
>gets merged. If SRIOV isn't enabled, we don't need the code change.
>
>By the way, it's something related to EEH for PFs. When PF and its VFs seat on
>same PCI bus, we should remove VFs before putting PF offline in the reversed
>order as you did in your code change. Otherwise, PF is put into offline and
>its driver disables VFs. We try redoing the removal for VFs in hotplug path,
>which would cause race condition. If VFs aren't existing, until your SRIOV
>patchset is merged, we don't have this problem. Please correct me if I
>understood things wrongly.
>
Current code is fine until VF is introduced. Yes, your understanding is
correct.
>Thanks,
>Gavin
--
Richard Yang
Help you, Help me
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] powerpc/pci: remove pci device on a bus in reverse order
2014-12-04 3:04 [PATCH] powerpc/pci: remove pci device on a bus in reverse order Wei Yang
2014-12-04 3:24 ` Wei Yang
@ 2014-12-04 3:26 ` Wei Yang
1 sibling, 0 replies; 7+ messages in thread
From: Wei Yang @ 2014-12-04 3:26 UTC (permalink / raw)
To: Wei Yang; +Cc: linuxppc-dev, gwshan
Please ignore this one, I create an old version of the patch.
The new one is sent.
On Thu, Dec 04, 2014 at 11:04:32AM +0800, Wei Yang wrote:
>As in commit ac205b7b (PCI: make sriov work with hotplug remove) indicates,
>when removing pci devices on a bus which has VFs, we need to remove them in
>the reverse order.
>
>This patch applies this patten on the hotplug remove patch on powerpc arch.
>
>Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.com>
>---
> arch/powerpc/kernel/pci-hotplug.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/arch/powerpc/kernel/pci-hotplug.c b/arch/powerpc/kernel/pci-hotplug.c
>index 5b78917..f0f00d9 100644
>--- a/arch/powerpc/kernel/pci-hotplug.c
>+++ b/arch/powerpc/kernel/pci-hotplug.c
>@@ -50,7 +50,7 @@ void pcibios_remove_pci_devices(struct pci_bus *bus)
>
> pr_debug("PCI: Removing devices on bus %04x:%02x\n",
> pci_domain_nr(bus), bus->number);
>- list_for_each_entry_safe(dev, tmp, &bus->devices, bus_list) {
>+ list_for_each_entry_safe_reverse(dev, tmp, &bus->devices, bus_list) {
> pr_debug(" Removing %s...\n", pci_name(dev));
> pci_stop_and_remove_bus_device(dev);
> }
>--
>1.7.9.5
--
Richard Yang
Help you, Help me
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-12-05 1:40 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-04 3:04 [PATCH] powerpc/pci: remove pci device on a bus in reverse order Wei Yang
2014-12-04 3:24 ` Wei Yang
2014-12-04 5:40 ` Michael Ellerman
2014-12-04 7:21 ` Wei Yang
2014-12-04 22:48 ` Gavin Shan
2014-12-05 1:40 ` Wei Yang
2014-12-04 3:26 ` [PATCH] " Wei Yang
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).