aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorSaravana Kannan <[email protected]>2022-06-03 13:31:37 +0200
committerLinus Torvalds <[email protected]>2022-06-03 11:58:54 -0700
commit5ee76c256e928455212ab759c51d198fedbe7523 (patch)
tree6d9ddd3995ba15491eda673582dadf3a96f25b74 /tools/perf/scripts/python
parent500a434fc593f1fdb274c0e6fe09a0b9c0711a4b (diff)
driver core: Fix wait_for_device_probe() & deferred_probe_timeout interaction
Mounting NFS rootfs was timing out when deferred_probe_timeout was non-zero [1]. This was because ip_auto_config() initcall times out waiting for the network interfaces to show up when deferred_probe_timeout was non-zero. While ip_auto_config() calls wait_for_device_probe() to make sure any currently running deferred probe work or asynchronous probe finishes, that wasn't sufficient to account for devices being deferred until deferred_probe_timeout. Commit 35a672363ab3 ("driver core: Ensure wait_for_device_probe() waits until the deferred_probe_timeout fires") tried to fix that by making sure wait_for_device_probe() waits for deferred_probe_timeout to expire before returning. However, if wait_for_device_probe() is called from the kernel_init() context: - Before deferred_probe_initcall() [2], it causes the boot process to hang due to a deadlock. - After deferred_probe_initcall() [3], it blocks kernel_init() from continuing till deferred_probe_timeout expires and beats the point of deferred_probe_timeout that's trying to wait for userspace to load modules. Neither of this is good. So revert the changes to wait_for_device_probe(). [1] - https://lore.kernel.org/lkml/TYAPR01MB45443DF63B9EF29054F7C41FD8C60@TYAPR01MB4544.jpnprd01.prod.outlook.com/ [2] - https://lore.kernel.org/lkml/[email protected]/ [3] - https://lore.kernel.org/lkml/[email protected]/ Fixes: 35a672363ab3 ("driver core: Ensure wait_for_device_probe() waits until the deferred_probe_timeout fires") Cc: John Stultz <[email protected]> Cc: "David S. Miller" <[email protected]> Cc: Alexey Kuznetsov <[email protected]> Cc: Hideaki YOSHIFUJI <[email protected]> Cc: Jakub Kicinski <[email protected]> Cc: Rob Herring <[email protected]> Cc: Geert Uytterhoeven <[email protected]> Cc: Yoshihiro Shimoda <[email protected]> Cc: Robin Murphy <[email protected]> Cc: Andy Shevchenko <[email protected]> Cc: Sudeep Holla <[email protected]> Cc: Andy Shevchenko <[email protected]> Cc: Naresh Kamboju <[email protected]> Cc: Basil Eljuse <[email protected]> Cc: Ferry Toth <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: Anders Roxell <[email protected]> Cc: [email protected] Reported-by: Nathan Chancellor <[email protected]> Reported-by: Sebastian Andrzej Siewior <[email protected]> Tested-by: Geert Uytterhoeven <[email protected]> Acked-by: John Stultz <[email protected]> Signed-off-by: Saravana Kannan <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]> Reviewed-by: Rafael J. Wysocki <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions