• Saravana Kannan's avatar
    driver core: Extend deferred probe timeout on driver registration · 2b28a1a8
    Saravana Kannan authored
    The deferred probe timer that's used for this currently starts at
    late_initcall and runs for driver_deferred_probe_timeout seconds. The
    assumption being that all available drivers would be loaded and
    registered before the timer expires. This means, the
    driver_deferred_probe_timeout has to be pretty large for it to cover the
    worst case. But if we set the default value for it to cover the worst
    case, it would significantly slow down the average case. For this
    reason, the default value is set to 0.
    
    Also, with CONFIG_MODULES=y and the current default values of
    driver_deferred_probe_timeout=0 and fw_devlink=on, devices with missing
    drivers will cause their consumer devices to always defer their probes.
    This is because device links created by fw_devlink defer the probe even
    before the consumer driver's probe() is called.
    
    Instead of a fixed timeout, if we extend an unexpired deferred probe
    timer on every successful driver registration, with the expectation more
    modules would be loaded in the near future, then the default value of
    driver_deferred_probe_timeout only needs to be as long as the worst case
    time difference between two consecutive module loads.
    
    So let's implement that and set the default value to 10 seconds when
    CONFIG_MODULES=y.
    
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: Will Deacon <will@kernel.org>
    Cc: Ulf Hansson <ulf.hansson@linaro.org>
    Cc: Kevin Hilman <khilman@kernel.org>
    Cc: Thierry Reding <treding@nvidia.com>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Cc: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
    Cc: linux-gpio@vger.kernel.org
    Cc: linux-pm@vger.kernel.org
    Cc: iommu@lists.linux-foundation.org
    Reviewed-by: default avatarMark Brown <broonie@kernel.org>
    Acked-by: default avatarRob Herring <robh@kernel.org>
    Signed-off-by: default avatarSaravana Kannan <saravanak@google.com>
    Link: https://lore.kernel.org/r/20220429220933.1350374-1-saravanak@google.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    2b28a1a8
kernel-parameters.txt 233 KB