diff mbox series

arm64: kernel: Make IPI_WAKEUP under control of CONFIG_ARM64_ACPI_PARKING_PROTOCOL

Message ID 20210119140609.106420-1-chenjun102@huawei.com (mailing list archive)
State New, archived
Headers show
Series arm64: kernel: Make IPI_WAKEUP under control of CONFIG_ARM64_ACPI_PARKING_PROTOCOL | expand

Commit Message

Chen Jun Jan. 19, 2021, 2:06 p.m. UTC
since commit 5e89c55e4ed81d7abb1ce8828db35fa389dc0e90
("arm64: kernel: implement ACPI parking protocol")

On arm64, IPI 6 will be wasted without setting
CONFIG_ARM64_ACPI_PARKING_PROTOCOL.

Signed-off-by: Chen Jun <chenjun102@huawei.com>
---
 arch/arm64/kernel/smp.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Sudeep Holla Jan. 19, 2021, 7:12 p.m. UTC | #1
On Tue, Jan 19, 2021 at 02:06:09PM +0000, Chen Jun wrote:
> since commit 5e89c55e4ed81d7abb1ce8828db35fa389dc0e90
> ("arm64: kernel: implement ACPI parking protocol")
> 
> On arm64, IPI 6 will be wasted without setting
> CONFIG_ARM64_ACPI_PARKING_PROTOCOL.
> 
> Signed-off-by: Chen Jun <chenjun102@huawei.com>
> ---
>  arch/arm64/kernel/smp.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
> index ad00f99ee9b0..8b494ad1c61e 100644
> --- a/arch/arm64/kernel/smp.c
> +++ b/arch/arm64/kernel/smp.c
> @@ -73,7 +73,9 @@ enum ipi_msg_type {
>  	IPI_CPU_CRASH_STOP,
>  	IPI_TIMER,

Going by that logic, IPI_TIMER is used only when
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y and

>  	IPI_IRQ_WORK,

IPI_IRQ_WORK when CONFIG_IRQ_WORK=y

Not sure if we what to go down that path as it may result in confusion
about IPI number and what OS is using it for. I am not against this, just
want to know others opinion on this.

> +#ifdef CONFIG_ARM64_ACPI_PARKING_PROTOCOL
>  	IPI_WAKEUP,
> +#endif

Just out of curiosity, are you changing this only by code inspection or
or you running short of IPI with some downstream patches. It will be
interesting to know how you are using then if you are as it may break if
kernel decides to you them in future for its own use.
diff mbox series

Patch

diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
index ad00f99ee9b0..8b494ad1c61e 100644
--- a/arch/arm64/kernel/smp.c
+++ b/arch/arm64/kernel/smp.c
@@ -73,7 +73,9 @@  enum ipi_msg_type {
 	IPI_CPU_CRASH_STOP,
 	IPI_TIMER,
 	IPI_IRQ_WORK,
+#ifdef CONFIG_ARM64_ACPI_PARKING_PROTOCOL
 	IPI_WAKEUP,
+#endif
 	NR_IPI
 };
 
@@ -795,7 +797,9 @@  static const char *ipi_types[NR_IPI] __tracepoint_string = {
 	[IPI_CPU_CRASH_STOP]	= "CPU stop (for crash dump) interrupts",
 	[IPI_TIMER]		= "Timer broadcast interrupts",
 	[IPI_IRQ_WORK]		= "IRQ work interrupts",
+#ifdef CONFIG_ARM64_ACPI_PARKING_PROTOCOL
 	[IPI_WAKEUP]		= "CPU wake-up interrupts",
+#endif
 };
 
 static void smp_cross_call(const struct cpumask *target, unsigned int ipinr);