Messages in this thread | | | From | "Rafael J. Wysocki" <> | Date | Mon, 24 May 2021 16:16:13 +0200 | Subject | Re: [PATCH] acpi-cpufreq: Skip initialization if a cpufreq driver exists |
| |
On Sat, May 22, 2021 at 12:19 AM Kyle Meyer <kyle.meyer@hpe.com> wrote: > > Revert part of commit 75c0758137c7a > ("acpi-cpufreq: Fail initialization if driver cannot be registered"). > > acpi-cpufreq is mutually exclusive with intel_pstate, however, > acpi-cpufreq is loaded multiple times during startup while intel_pstate is > enabled. On systems using systemd the kernel triggers one uevent for each > device as a result of systemd-udev-trigger.service. The service exists to > retrigger all devices as uevents sent by the kernel before systemd-udevd > is running are missed. The delay caused by systemd-udevd repeatedly loading > the driver, getting a fail return, and unloading the driver twice per > logical CPU has a significant impact on the startup time, and can cause > some devices to be unavailable after reaching the root login prompt. > > Load the driver once but skip initialization if a cpufreq driver exists by > changing the return value of cpufreq_get_current_driver() from -EEXIST to > 0. > > Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com> > --- > drivers/cpufreq/acpi-cpufreq.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c > index 7e7450453714..e79a945369d1 100644 > --- a/drivers/cpufreq/acpi-cpufreq.c > +++ b/drivers/cpufreq/acpi-cpufreq.c > @@ -1003,7 +1003,7 @@ static int __init acpi_cpufreq_init(void) > > /* don't keep reloading if cpufreq_driver exists */ > if (cpufreq_get_current_driver()) > - return -EEXIST; > + return 0; > > pr_debug("%s\n", __func__); > > --
Applied as 5.14 material with some edits in the subject and changelog, thanks!
| |