lkml.org 
[lkml]   [2015]   [Sep]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 22/23] driver core: Start processing deferred probes earlier
    Date
    Some initcalls in the late level assume that some devices will have
    already probed without explicitly checking for that.

    After the recent move to defer most device probes when they are
    registered, pressure increased in the late initcall level.

    By starting the processing of the deferred queue in device_initcall_sync
    we increase the chances that the initcalls mentioned before will find
    the devices they depend on to have already probed.

    Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    ---

    Changes in v5: None
    Changes in v4:
    - Start processing deferred probes in device_initcall_sync

    Changes in v3: None
    Changes in v2: None

    drivers/base/dd.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/drivers/base/dd.c b/drivers/base/dd.c
    index 300c59562fc9..5d8572be9b63 100644
    --- a/drivers/base/dd.c
    +++ b/drivers/base/dd.c
    @@ -176,7 +176,7 @@ static void driver_deferred_probe_trigger(void)
    *
    * We don't want to get in the way when the bulk of drivers are getting probed.
    * Instead, this initcall makes sure that deferred probing is delayed until
    - * late_initcall time.
    + * device_initcall_sync time.
    */
    static int deferred_probe_initcall(void)
    {
    @@ -190,7 +190,7 @@ static int deferred_probe_initcall(void)
    flush_workqueue(deferred_wq);
    return 0;
    }
    -late_initcall(deferred_probe_initcall);
    +device_initcall_sync(deferred_probe_initcall);

    static void driver_bound(struct device *dev)
    {
    --
    2.4.3


    \
     
     \ /
      Last update: 2015-09-17 15:21    [W:3.554 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site