[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0gDJzCTkUP3i8H3pivrCHdU4-qVf3SVCvTF9hQyKJHtBQ@mail.gmail.com>
Date: Tue, 23 Apr 2024 11:31:14 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Hanjun Guo <guohanjun@...wei.com>
Cc: Jonathan Cameron <Jonathan.Cameron@...wei.com>, Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>, linux-pm@...r.kernel.org, loongarch@...ts.linux.dev,
linux-acpi@...r.kernel.org, linux-arch@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
kvmarm@...ts.linux.dev, x86@...nel.org, Russell King <linux@...linux.org.uk>,
"Rafael J . Wysocki" <rafael@...nel.org>, Miguel Luis <miguel.luis@...cle.com>,
James Morse <james.morse@....com>, Salil Mehta <salil.mehta@...wei.com>,
Jean-Philippe Brucker <jean-philippe@...aro.org>, Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>, Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>, linuxarm@...wei.com, justin.he@....com,
jianyong.wu@....com
Subject: Re: [PATCH v7 03/16] ACPI: processor: Drop duplicated check on _STA
(enabled + present)
On Tue, Apr 23, 2024 at 8:49 AM Hanjun Guo <guohanjun@...wei.com> wrote:
>
> On 2024/4/18 21:53, Jonathan Cameron wrote:
> > The ACPI bus scan will only result in acpi_processor_add() being called
> > if _STA has already been checked and the result is that the
> > processor is enabled and present. Hence drop this additional check.
> >
> > Suggested-by: Rafael J. Wysocki <rafael@...nel.org>
> > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@...wei.com>
> >
> > ---
> > v7: No change
> > v6: New patch to drop this unnecessary code. Now I think we only
> > need to explicitly read STA to print a warning in the ARM64
> > arch_unregister_cpu() path where we want to know if the
> > present bit has been unset as well.
> > ---
> > drivers/acpi/acpi_processor.c | 6 ------
> > 1 file changed, 6 deletions(-)
> >
> > diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
> > index 7fc924aeeed0..ba0a6f0ac841 100644
> > --- a/drivers/acpi/acpi_processor.c
> > +++ b/drivers/acpi/acpi_processor.c
> > @@ -186,17 +186,11 @@ static void __init acpi_pcc_cpufreq_init(void) {}
> > #ifdef CONFIG_ACPI_HOTPLUG_CPU
> > static int acpi_processor_hotadd_init(struct acpi_processor *pr)
> > {
> > - unsigned long long sta;
> > - acpi_status status;
> > int ret;
> >
> > if (invalid_phys_cpuid(pr->phys_id))
> > return -ENODEV;
> >
> > - status = acpi_evaluate_integer(pr->handle, "_STA", NULL, &sta);
> > - if (ACPI_FAILURE(status) || !(sta & ACPI_STA_DEVICE_PRESENT))
> > - return -ENODEV;
> > -
> > cpu_maps_update_begin();
> > cpus_write_lock();
>
> Since the status bits were checked before acpi_processor_add() being
> called, do we need to remove the if (!acpi_device_is_enabled(device))
> check in acpi_processor_add() as well?
No, because its caller only checks the present bit. The function
itself checks the enabled bit.
Powered by blists - more mailing lists