From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
From: Alexey Kardashevskiy <redacted>
This updates the comment about creating a hole in /proc/iomem which
should not be normally happening but it does in the powernv platform
due the way MMIO M64 BARs are organised in the IODA2-capable hardware.
Signed-off-by: Alexey Kardashevskiy <redacted>
---
It has been mentioned multiple times (last one -
https://www.spinics.net/lists/linux-pci/msg64084.html ) that the comment
is not informative enough for people not particularly familiar with
the POWER8 IO hardware.
This attempt aims to:
1. explain why we shift the resource
2. explain why nothing can use that hole as a resource while it is "free"
(I am not sure that this is the case actually)
Please comment, everyone, let's have this very well documented while
I remember these bits :) Thanks.
---
arch/powerpc/platforms/powernv/pci-ioda.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Oops, this was not right :)
Anyway, Ben, please comment. Thanks.
quoted hunk
From: Alexey Kardashevskiy <redacted>
This updates the comment about creating a hole in /proc/iomem which
should not be normally happening but it does in the powernv platform
due the way MMIO M64 BARs are organised in the IODA2-capable hardware.
Signed-off-by: Alexey Kardashevskiy <redacted>
---
It has been mentioned multiple times (last one -
https://www.spinics.net/lists/linux-pci/msg64084.html ) that the comment
is not informative enough for people not particularly familiar with
the POWER8 IO hardware.
This attempt aims to:
1. explain why we shift the resource
2. explain why nothing can use that hole as a resource while it is "free"
(I am not sure that this is the case actually)
Please comment, everyone, let's have this very well documented while
I remember these bits :) Thanks.
---
arch/powerpc/platforms/powernv/pci-ioda.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: 2017-09-14 03:08:13
On Thu, 2017-09-14 at 12:45 +1000, Alexey Kardashevskiy wrote:
On 31/08/17 13:34, Alexey Kardashevskiy wrote:
quoted
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Oops, this was not right :)
Anyway, Ben, please comment. Thanks.
This is incorrect, we can do hotplug behind switches afaik.
quoted
From: Alexey Kardashevskiy <redacted>
This updates the comment about creating a hole in /proc/iomem which
should not be normally happening but it does in the powernv platform
due the way MMIO M64 BARs are organised in the IODA2-capable hardware.
Signed-off-by: Alexey Kardashevskiy <redacted>
---
It has been mentioned multiple times (last one -
https://www.spinics.net/lists/linux-pci/msg64084.html ) that the comment
is not informative enough for people not particularly familiar with
the POWER8 IO hardware.
This attempt aims to:
1. explain why we shift the resource
2. explain why nothing can use that hole as a resource while it is "free"
(I am not sure that this is the case actually)
Please comment, everyone, let's have this very well documented while
I remember these bits :) Thanks.
---
arch/powerpc/platforms/powernv/pci-ioda.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
On Thu, 2017-09-14 at 12:45 +1000, Alexey Kardashevskiy wrote:
quoted
On 31/08/17 13:34, Alexey Kardashevskiy wrote:
quoted
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Oops, this was not right :)
Anyway, Ben, please comment. Thanks.
This is incorrect, we can do hotplug behind switches afaik.
Do we have an actual system which allows this? Anyway, what we do now is
wrong and it needs what? Reserve that hole? I'd like to update the comment
for now, at least, and state what bad thing can happen and what we expect.
quoted
quoted
From: Alexey Kardashevskiy <redacted>
This updates the comment about creating a hole in /proc/iomem which
should not be normally happening but it does in the powernv platform
due the way MMIO M64 BARs are organised in the IODA2-capable hardware.
Signed-off-by: Alexey Kardashevskiy <redacted>
---
It has been mentioned multiple times (last one -
https://www.spinics.net/lists/linux-pci/msg64084.html ) that the comment
is not informative enough for people not particularly familiar with
the POWER8 IO hardware.
This attempt aims to:
1. explain why we shift the resource
2. explain why nothing can use that hole as a resource while it is "free"
(I am not sure that this is the case actually)
Please comment, everyone, let's have this very well documented while
I remember these bits :) Thanks.
---
arch/powerpc/platforms/powernv/pci-ioda.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: 2017-09-14 03:40:05
On Thu, 2017-09-14 at 13:18 +1000, Alexey Kardashevskiy wrote:
On 14/09/17 13:07, Benjamin Herrenschmidt wrote:
quoted
On Thu, 2017-09-14 at 12:45 +1000, Alexey Kardashevskiy wrote:
quoted
On 31/08/17 13:34, Alexey Kardashevskiy wrote:
quoted
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Oops, this was not right :)
Anyway, Ben, please comment. Thanks.
This is incorrect, we can do hotplug behind switches afaik.
Do we have an actual system which allows this?
Tuleta no ?
Anyway, what we do now is
wrong and it needs what? Reserve that hole? I'd like to update the comment
for now, at least, and state what bad thing can happen and what we expect.
The hole should be reserved unless another SR-IOV device can use it ...
quoted
quoted
quoted
From: Alexey Kardashevskiy <redacted>
This updates the comment about creating a hole in /proc/iomem which
should not be normally happening but it does in the powernv platform
due the way MMIO M64 BARs are organised in the IODA2-capable hardware.
Signed-off-by: Alexey Kardashevskiy <redacted>
---
It has been mentioned multiple times (last one -
https://www.spinics.net/lists/linux-pci/msg64084.html ) that the comment
is not informative enough for people not particularly familiar with
the POWER8 IO hardware.
This attempt aims to:
1. explain why we shift the resource
2. explain why nothing can use that hole as a resource while it is "free"
(I am not sure that this is the case actually)
Please comment, everyone, let's have this very well documented while
I remember these bits :) Thanks.
---
arch/powerpc/platforms/powernv/pci-ioda.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: 2017-09-14 10:07:16
On Thu, 2017-09-14 at 09:27 +0000, David Laight wrote:
You can logically 'hotplug' PCI(e) on any system [1].
The 'problem' is that whatever enumerates the PCI(e) at system
powerup doesn't normally assign extra resources to bridges to allow
for devices that aren't present at boot time.
So you can normally only replace cards with ones that use the same
(or less) resources, or that are not behind any bridges.
This is problematic if you have a docking station connected via
a bridge.
There's also the problem of Max Payload Size. If you can hotplug behind
a bridge then the standard algorithm of finding the max of all devices
behind a host bridge doesn't work anymore and you have to clamp
everybody to 128 bytes.
[1] Apart from some annoying x86 Dell servers we have which generate
an NMI when the PCIe link goes down (when we reprogram the fpga).
They also fail to boot if a link doesn't come up...
David