cpumask: Add enabled cpumask for present CPUs that can be brought online
authorJames Morse <james.morse@arm.com>
Wed, 29 May 2024 13:34:46 +0000 (14:34 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 28 Jun 2024 17:38:33 +0000 (18:38 +0100)
commit4e1a7df4548003fc081360b0f4edce3f7a991bfc
treecf94859fea1576cf6f9c0e691e680212f1960994
parent828ce929d1c3aff0e9a330fea40d29980e17e256
cpumask: Add enabled cpumask for present CPUs that can be brought online

The 'offline' file in sysfs shows all offline CPUs, including those
that aren't present. User-space is expected to remove not-present CPUs
from this list to learn which CPUs could be brought online.

CPUs can be present but not-enabled. These CPUs can't be brought online
until the firmware policy changes, which comes with an ACPI notification
that will register the CPUs.

With only the offline and present files, user-space is unable to
determine which CPUs it can try to bring online. Add a new CPU mask
that shows this based on all the registered CPUs.

Signed-off-by: James Morse <james.morse@arm.com>
Tested-by: Miguel Luis <miguel.luis@oracle.com>
Tested-by: Vishnu Pajjuri <vishnu@os.amperecomputing.com>
Tested-by: Jianyong Wu <jianyong.wu@arm.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240529133446.28446-20-Jonathan.Cameron@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Documentation/ABI/testing/sysfs-devices-system-cpu
drivers/base/cpu.c
include/linux/cpumask.h
kernel/cpu.c