[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e867fba1-3df4-8e1d-fb5e-e19ef4e0e588@huawei.com>
Date: Tue, 23 Apr 2024 19:13:46 +0800
From: Hanjun Guo <guohanjun@...wei.com>
To: "Rafael J. Wysocki" <rafael@...nel.org>
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>, 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 2024/4/23 17:31, Rafael J. Wysocki wrote:
> 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.
Thanks for the pointer, I can see the detail in the acpi_bus_attach()
now,
Reviewed-by: Hanjun Guo <guohanjun@...wei.com>
Thanks
Hanjun
Powered by blists - more mailing lists