Thread (6 messages) 6 messages, 3 authors, 2016-06-10

Re: powerpc/pseries: start rtasd before PCI probing

From: Greg Kurz <hidden>
Date: 2016-06-10 06:41:47
Also in: lkml

On Fri, 10 Jun 2016 15:18:32 +1000 (AEST)
Michael Ellerman [off-list ref] wrote:
On Mon, 2016-23-05 at 08:28:28 UTC, Greg Kurz wrote:
quoted
A strange behaviour is observed when comparing PCI hotplug in QEMU, between
x86 and pseries. If you consider the following steps:
- start a VM
- add a PCI device via the QEMU monitor before the rtasd has started (for
  example starting the VM in paused state, or hotplug during FW or boot
  loader)
- resume the VM execution

The x86 kernel detects the PCI device, but the pseries one does not.

This happens because the rtasd kernel worker is currently started under
device_initcall, while PCI probing happens earlier under subsys_initcall.

As a consequence, if we have a pending RTAS event at boot time, a message
is printed and the event is dropped.

This patch moves all the initialization of rtasd to arch_initcall, which is
run before subsys_call: this way, logging_enabled is true when the RTAS
event pops up and it is not lost anymore.

The proc fs bits stay at device_initcall because they cannot be run before
fs_initcall.

Signed-off-by: Greg Kurz <redacted>
Tested-by: Thomas Huth <redacted>  
Has this been tested on PowerVM ?

cheers
No but I shall do it.

Thanks for pointing this out.

--
Greg
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help