ACPI: ignore processors that doesn't support hot plug
PATCH 1/1 ACPI: ignore processors that doesn't support hot plug
Hi, Len,
will you please consider this patch as the fix for bug 8570, rather than the one at http://bugzilla.kernel.org/show_bug.cgi?id=8570#c21 ?
is_processor_present is only called in the processor hotplug case, and _STA method is mandatory at this time.
We should ignore those processors that are disabled in the MADT and don't have _STA methods.
Because they will never exist in this system.
For the processors that don't physically exist but can be hot plugged later, we still need this debug info.
http://bugzilla.kernel.org/show_bug.cgi?id=8570
--- drivers/acpi/processor_core.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-)
drivers/acpi/processor_core.c +14 -5
@@ -812,11 +812,20 @@ static int is_processor_present(acpi_han status =acpi_evaluate_integer (handle,"_STA" ,NULL , &sta); -if (ACPI_FAILURE (status) || !(sta &ACPI_STA_DEVICE_PRESENT )) { -ACPI_EXCEPTION ((AE_INFO , status,"Processor Device is not present" )); -return 0 ; - } -return 1 ; + +if (ACPI_SUCCESS (status) && (sta &ACPI_STA_DEVICE_PRESENT )) +return 1 ; + +/* +* _STA is mandatory for a processor that supports hot plug +*/ +if (status ==AE_NOT_FOUND ) +ACPI_DEBUG_PRINT ((ACPI_DB_INFO , +"Processor does not support hot plug\n" )); +else +ACPI_EXCEPTION ((AE_INFO , status, +"Processor Device is not present" )); +return 0 ; } static
Len Brown
reviewerQuoted 9 lines · zhangrui
is_processor_presentis only called in the processor hotplug case, and_STAmethod is mandatory at this time.We should ignore those processors that are disabled in the MADT and don't have
_STAmethods.
Because they will never exist in this system.
For the processors that don't physically exist but can be hot plugged later, we still need this debug info.
Quoted 3 lines
http://bugzilla.kernel.org/show_bug.cgi?id=8570
Signed-off-by Zhang Rui <[email protected]>
Okay. As the original patch shipped in rc1,
below is the incremental.
thanks,
-Len
Subject: ACPI Exception (): AE_NOT_FOUND, Processor Device is not present (update)
From: Zhang Rui <[email protected]>
update cfaf3747ff3d431fba33f75083b7f50f58ae22ff
ACPI: ACPI Exception (): AE_NOT_FOUND, Processor Device is not present
is_processor_present is only called in the processor hotplug case, and _STA method is mandatory at this time.
We should ignore those processors that are disabled in the MADT and don't have _STA methods.
Because they will never exist in this system.
For the processors that don't physically exist but can be hot plugged later, we still need this debug info.
http://bugzilla.kernel.org/show_bug.cgi?id=8570
---
drivers/acpi/processor_core.c +9 -7
@@ -840,17 +840,19 @@ static int is_processor_present(acpi_handle handle) status =acpi_evaluate_integer (handle,"_STA" ,NULL , &sta); -/* -* if a processor object does not have an _STA object, -* OSPM assumes that the processor is present. -*/ -if (status ==AE_NOT_FOUND ) -return 1 ;if (ACPI_SUCCESS (status) && (sta &ACPI_STA_DEVICE_PRESENT ))return 1 ; -ACPI_EXCEPTION ((AE_INFO , status,"Processor Device is not present" )); +/* +* _STA is mandatory for a processor that supports hot plug +*/ +if (status ==AE_NOT_FOUND ) +ACPI_DEBUG_PRINT ((ACPI_DB_INFO , +"Processor does not support hot plug\n" )); +else +ACPI_EXCEPTION ((AE_INFO , status, +"Processor Device is not present" ));return 0 ; }