[PATCHv6 16/16] x86/acpi: Add support for CPU offlining for ACPI MADT wakeup method
Huang, Kai
kai.huang at intel.com
Fri Jan 26 06:21:30 PST 2024
On Wed, 2024-01-24 at 14:55 +0200, Kirill A. Shutemov wrote:
> MADT Multiprocessor Wakeup structure version 1 brings support of CPU
> offlining: BIOS provides a reset vector where the CPU has to jump to
> for offlining itself. The new TEST mailbox command can be used to test
> whether the CPU offlined itself which means the BIOS has control over
> the CPU and can online it again via the ACPI MADT wakeup method.
>
> Add CPU offling support for the ACPI MADT wakeup method by implementing
> custom cpu_die(), play_dead() and stop_this_cpu() SMP operations.
>
> CPU offlining makes is possible to hand over secondary CPUs over kexec,
> not limiting the second kernel to a single CPU.
>
> The change conforms to the approved ACPI spec change proposal. See the
> Link.
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov at linux.intel.com>
> Link: https://lore.kernel.org/all/13356251.uLZWGnKmhe@kreacher
FWIW:
Acked-by: Kai Huang <kai.huang at intel.com>
[...]
> +
> +static int __init acpi_mp_setup_reset(u64 reset_vector)
> +{
> + pgd_t *pgd;
> + struct x86_mapping_info info = {
> + .alloc_pgt_page = alloc_pgt_page,
> + .free_pgt_page = free_pgt_page,
> + .page_flag = __PAGE_KERNEL_LARGE_EXEC,
> + .kernpg_flag = _KERNPG_TABLE_NOENC,
> + };
Nit: Reverse Christmas-tree style
[...]
>
> -#define ACPI_MP_WAKE_COMMAND_WAKEUP 1
> +#define ACPI_MP_WAKE_COMMAND_WAKEUP 1
Nit: Is this change intended?
> +#define ACPI_MP_WAKE_COMMAND_TEST 2
>
More information about the kexec
mailing list