lkml.org 
[lkml]   [2021]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH] driver core: Avoid pointless deferred probe attempts
    On Thu, Feb 18, 2021 at 9:24 AM Saravana Kannan <saravanak@google.com> wrote:
    >
    > On Thu, Feb 18, 2021 at 9:18 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
    > >
    > > On Thu, Feb 18, 2021 at 12:51 AM Saravana Kannan <saravanak@google.com> wrote:
    > > >
    > > > There's no point in adding a device to the deferred probe list if we
    > > > know for sure that it doesn't have a matching driver. So, check if a
    > > > device can match with a driver before adding it to the deferred probe
    > > > list.
    > >
    > > What if a matching driver module loads in the meantime?
    >
    > Driver registration always triggers a match attempt and this flag will
    > get set at that point. Yes, the user can disable autoprobe, but
    > that'll block deferred probes too.
    >

    Btw, this can wait for 5.13. Doesn't need to go into 5.12-rcX.

    > > > diff --git a/drivers/base/dd.c b/drivers/base/dd.c
    > > > index 9179825ff646..f18963f42e21 100644
    > > > --- a/drivers/base/dd.c
    > > > +++ b/drivers/base/dd.c
    > > > @@ -123,6 +123,9 @@ static DECLARE_WORK(deferred_probe_work, deferred_probe_work_func);
    > > >
    > > > void driver_deferred_probe_add(struct device *dev)
    > > > {
    > > > + if (!dev->can_match)
    > > > + return;
    > > > +

    Also, if you are worried about this check, for now, I can move it
    inside device_links_driver_bound() which is the only place that
    currently adds a device to the deferred probe list before the driver
    is present. But it seemed like a good check in general to have in
    driver_deferred_probe_add(), so I put it there.

    -Saravana

    \
     
     \ /
      Last update: 2021-02-18 20:18    [W:5.370 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site