Re: [PATCH] cpuidle: Move cpuidle driver forward before acpi driver in Makefile

From: Michael S. Tsirkin
Date: Wed Jul 13 2022 - 16:54:16 EST


On Wed, Jul 13, 2022 at 07:53:13PM +0200, Rafael J. Wysocki wrote:
> On Wed, Jul 13, 2022 at 10:21 AM Dapeng Mi <dapeng1.mi@xxxxxxxxx> wrote:
> >
> > As long as Kconfig ACPI_PROCESSOR is enabled, ACPI_PROCESSOR would
> > select ACPI_PROCESSOR_IDLE and acpi_idle driver is enabled. But
> > in current driver loading order acpi_idle driver is always loaded
> > before cpuidle_haltpoll driver. This leads to cpuidle_hatpoll driver
> > has no chance to be loaded when it's enabled.
> >
> > Thus, move cpuidle driver forward before acpi driver and make
> > cpuidle-hatpoll driver has a chance to be run when it's enabled.
> >
> > Signed-off-by: Dapeng Mi <dapeng1.mi@xxxxxxxxx>
> > ---
> > drivers/Makefile | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/Makefile b/drivers/Makefile
> > index 9a30842b22c5..921ed481b520 100644
> > --- a/drivers/Makefile
> > +++ b/drivers/Makefile
> > @@ -26,6 +26,7 @@ obj-y += idle/
> > # IPMI must come before ACPI in order to provide IPMI opregion support
> > obj-y += char/ipmi/
> >
> > +obj-$(CONFIG_CPU_IDLE) += cpuidle/
> > obj-$(CONFIG_ACPI) += acpi/
> >
> > # PnP must come after ACPI since it will eventually need to check if acpi
> > @@ -126,7 +127,6 @@ obj-$(CONFIG_EDAC) += edac/
> > obj-$(CONFIG_EISA) += eisa/
> > obj-$(CONFIG_PM_OPP) += opp/
> > obj-$(CONFIG_CPU_FREQ) += cpufreq/
> > -obj-$(CONFIG_CPU_IDLE) += cpuidle/
> > obj-y += mmc/
> > obj-y += ufs/
> > obj-$(CONFIG_MEMSTICK) += memstick/
> > --
>
> Well, this change doesn't guarantee loading haltpoll before ACPI idle.
>
> Also what if haltpoll is enabled, but the user wants ACPI idle?

Exactly. For example while on real boxes BIOS might often present broken
ACPI idle, on VMs I am guessing if ACPI is present one can assume it's
actually correct.

--
MST