Re: [PATCH v1] driver core: Fix suspend/resume order issue with deferred probe

From: Geert Uytterhoeven
Date: Fri Jun 26 2020 - 16:53:24 EST


Hi Saravana,

On Fri, Jun 26, 2020 at 10:34 PM Saravana Kannan <saravanak@xxxxxxxxxx> wrote:
> On Fri, Jun 26, 2020 at 4:27 AM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
> > On Thu, Jun 25, 2020 at 7:52 PM Saravana Kannan <saravanak@xxxxxxxxxx> wrote:
> > > On Thu, Jun 25, 2020 at 10:47 AM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
> > > > Note that deferred probing gets in the way here and so the problem is
> > > > related to it.
> > >
> > > I mean, we officially support deferred probing. Shouldn't we fix it so
> > > that it doesn't break suspend/resume?
> >
> > Yes, we should fix deferred probing.

Please take into account that breakage is an actual regression.

> > > Also, it's pretty easy to have
> > > cases where one module probes multiple device instances and loading it
> > > in one order would break dpm_list order for one device and loading it
> > > in another order would break it for another device. And there would be
> > > no "proper" order to load modules (because module order != device
> > > order).
> >
> > I'm not saying that the current code is perfect. I'm saying that the
> > fix as proposed adds too much cost for everybody who may not care IMO.
>
> Ok, how about I don't do this reordering until we see the first
> deferred probe request? Will that work for you? In that case, systems
> with no deferred probing will not incur any reordering cost. Or if
> reordering starts only towards the end, all the previous probes won't
> incur reordering cost.

That first deferred probe request is more or less as of the first probe,
since commit 93d2e4322aa74c1a ("of: platform: Batch fwnode parsing when
adding all top level devices"), at least on DT systems.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds