From: Jiang Liu <liuj97@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
Shaohua Li <shli@kernel.org>,
Russell King <linux@arm.linux.org.uk>,
Stephen Boyd <sboyd@codeaurora.org>,
Nicolas Pitre <nico@linaro.org>,
Kevin Hilman <khilman@linaro.org>,
Will Deacon <will.deacon@arm.com>,
Santosh Shilimkar <santosh.shilimkar@ti.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Cc: Jiang Liu <liuj97@gmail.com>, Ingo Molnar <mingo@elte.hu>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Steven Rostedt <rostedt@goodmis.org>,
Jiri Kosina <trivial@kernel.org>,
Wang YanQing <udknight@gmail.com>,
linux-arch@vger.kernel.org,
Catalin Marinas <catalin.marinas@arm.com>,
Arnd Bergmann <arnd@arndb.de>
Subject: [PATCH v3 [resend] 04/18] smp, ARM: kill SMP single function call interrupt
Date: Mon, 16 Dec 2013 00:36:26 +0800 [thread overview]
Message-ID: <1387125400-28849-5-git-send-email-liuj97@gmail.com> (raw)
In-Reply-To: <1387125400-28849-1-git-send-email-liuj97@gmail.com>
Commit 9a46ad6d6df3b54 "smp: make smp_call_function_many() use logic
similar to smp_call_function_single()" has unified the way to handle
single and multiple cross-CPU function calls. Now only one interrupt
is needed for architecture specific code to support generic SMP function
call interfaces, so kill the redundant single function call interrupt.
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Shaohua Li <shli@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Jiri Kosina <trivial@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Jiang Liu <liuj97@gmail.com>
---
arch/arm/include/asm/hardirq.h | 2 +-
arch/arm/kernel/smp.c | 10 +---------
2 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/arch/arm/include/asm/hardirq.h b/arch/arm/include/asm/hardirq.h
index fe3ea77..3d7351c 100644
--- a/arch/arm/include/asm/hardirq.h
+++ b/arch/arm/include/asm/hardirq.h
@@ -5,7 +5,7 @@
#include <linux/threads.h>
#include <asm/irq.h>
-#define NR_IPI 8
+#define NR_IPI 7
typedef struct {
unsigned int __softirq_pending;
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index dc894ab..e24a23d 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -65,7 +65,6 @@ enum ipi_msg_type {
IPI_TIMER,
IPI_RESCHEDULE,
IPI_CALL_FUNC,
- IPI_CALL_FUNC_SINGLE,
IPI_CPU_STOP,
IPI_IRQ_WORK,
IPI_COMPLETION,
@@ -448,7 +447,7 @@ void arch_send_wakeup_ipi_mask(const struct cpumask *mask)
void arch_send_call_function_single_ipi(int cpu)
{
- smp_cross_call(cpumask_of(cpu), IPI_CALL_FUNC_SINGLE);
+ smp_cross_call(cpumask_of(cpu), IPI_CALL_FUNC);
}
#ifdef CONFIG_IRQ_WORK
@@ -465,7 +464,6 @@ static const char *ipi_types[NR_IPI] = {
S(IPI_TIMER, "Timer broadcast interrupts"),
S(IPI_RESCHEDULE, "Rescheduling interrupts"),
S(IPI_CALL_FUNC, "Function call interrupts"),
- S(IPI_CALL_FUNC_SINGLE, "Single function call interrupts"),
S(IPI_CPU_STOP, "CPU stop interrupts"),
S(IPI_IRQ_WORK, "IRQ work interrupts"),
S(IPI_COMPLETION, "completion interrupts"),
@@ -579,12 +577,6 @@ void handle_IPI(int ipinr, struct pt_regs *regs)
irq_exit();
break;
- case IPI_CALL_FUNC_SINGLE:
- irq_enter();
- generic_smp_call_function_single_interrupt();
- irq_exit();
- break;
-
case IPI_CPU_STOP:
irq_enter();
ipi_cpu_stop(cpu);
--
1.8.1.2
WARNING: multiple messages have this Message-ID (diff)
From: liuj97@gmail.com (Jiang Liu)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 [resend] 04/18] smp, ARM: kill SMP single function call interrupt
Date: Mon, 16 Dec 2013 00:36:26 +0800 [thread overview]
Message-ID: <1387125400-28849-5-git-send-email-liuj97@gmail.com> (raw)
In-Reply-To: <1387125400-28849-1-git-send-email-liuj97@gmail.com>
Commit 9a46ad6d6df3b54 "smp: make smp_call_function_many() use logic
similar to smp_call_function_single()" has unified the way to handle
single and multiple cross-CPU function calls. Now only one interrupt
is needed for architecture specific code to support generic SMP function
call interfaces, so kill the redundant single function call interrupt.
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Shaohua Li <shli@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Jiri Kosina <trivial@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: linux-arm-kernel at lists.infradead.org
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Jiang Liu <liuj97@gmail.com>
---
arch/arm/include/asm/hardirq.h | 2 +-
arch/arm/kernel/smp.c | 10 +---------
2 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/arch/arm/include/asm/hardirq.h b/arch/arm/include/asm/hardirq.h
index fe3ea77..3d7351c 100644
--- a/arch/arm/include/asm/hardirq.h
+++ b/arch/arm/include/asm/hardirq.h
@@ -5,7 +5,7 @@
#include <linux/threads.h>
#include <asm/irq.h>
-#define NR_IPI 8
+#define NR_IPI 7
typedef struct {
unsigned int __softirq_pending;
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index dc894ab..e24a23d 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -65,7 +65,6 @@ enum ipi_msg_type {
IPI_TIMER,
IPI_RESCHEDULE,
IPI_CALL_FUNC,
- IPI_CALL_FUNC_SINGLE,
IPI_CPU_STOP,
IPI_IRQ_WORK,
IPI_COMPLETION,
@@ -448,7 +447,7 @@ void arch_send_wakeup_ipi_mask(const struct cpumask *mask)
void arch_send_call_function_single_ipi(int cpu)
{
- smp_cross_call(cpumask_of(cpu), IPI_CALL_FUNC_SINGLE);
+ smp_cross_call(cpumask_of(cpu), IPI_CALL_FUNC);
}
#ifdef CONFIG_IRQ_WORK
@@ -465,7 +464,6 @@ static const char *ipi_types[NR_IPI] = {
S(IPI_TIMER, "Timer broadcast interrupts"),
S(IPI_RESCHEDULE, "Rescheduling interrupts"),
S(IPI_CALL_FUNC, "Function call interrupts"),
- S(IPI_CALL_FUNC_SINGLE, "Single function call interrupts"),
S(IPI_CPU_STOP, "CPU stop interrupts"),
S(IPI_IRQ_WORK, "IRQ work interrupts"),
S(IPI_COMPLETION, "completion interrupts"),
@@ -579,12 +577,6 @@ void handle_IPI(int ipinr, struct pt_regs *regs)
irq_exit();
break;
- case IPI_CALL_FUNC_SINGLE:
- irq_enter();
- generic_smp_call_function_single_interrupt();
- irq_exit();
- break;
-
case IPI_CPU_STOP:
irq_enter();
ipi_cpu_stop(cpu);
--
1.8.1.2
next prev parent reply other threads:[~2013-12-15 16:40 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-15 16:36 [PATCH v3 [resend] 00/18] simplify generic cross CPU function call implementation Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 01/18] Revert "kernel/smp.c: free related resources when failure occurs in hotplug_cfd()" Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 02/18] Revert "smp: Fix SMP function call empty cpu mask race" Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 03/18] smp, alpha: kill SMP single function call interrupt Jiang Liu
2013-12-15 16:36 ` Jiang Liu [this message]
2013-12-15 16:36 ` [PATCH v3 [resend] 04/18] smp, ARM: " Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 05/18] smp, ARM64: " Jiang Liu
2013-12-15 16:36 ` Jiang Liu
2013-12-17 17:16 ` Will Deacon
2013-12-17 17:16 ` Will Deacon
2013-12-15 16:36 ` [PATCH v3 [resend] 06/18] smp, blackfin: " Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 07/18] smp, IA64: " Jiang Liu
2013-12-15 16:36 ` Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 08/18] smp, m32r: " Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 09/18] smp, mn10300: " Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 10/18] smp, mn10300: enable arch_send_call_function_ipi_mask() Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 11/18] smp, sh: kill SMP single function call interrupt Jiang Liu
2013-12-15 16:36 ` Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 12/18] smp, sparc64: " Jiang Liu
2013-12-15 16:36 ` Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 13/18] smp, sparc: " Jiang Liu
2013-12-15 16:36 ` Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 14/18] smp, x86, xen: " Jiang Liu
2013-12-15 16:36 ` Jiang Liu
2013-12-16 3:00 ` Konrad Rzeszutek Wilk
2013-12-16 3:00 ` Konrad Rzeszutek Wilk
2013-12-16 4:24 ` Liu, Jinsong
2013-12-16 4:24 ` Liu, Jinsong
2013-12-16 4:24 ` Liu, Jinsong
2013-12-16 16:33 ` Konrad Rzeszutek Wilk
2013-12-16 16:33 ` Konrad Rzeszutek Wilk
2013-12-15 16:36 ` [PATCH v3 [resend] 15/18] smp, x86: " Jiang Liu
2013-12-15 16:36 ` Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 16/18] smp: cleanup unsued generic_smp_call_function_single_interrupt() Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 17/18] smp: rename call_single_queue as call_function_queue Jiang Liu
2013-12-15 16:36 ` [PATCH v3 [resend] 18/18] SMP, trivial: remove unused code from smp_boot.h Jiang Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1387125400-28849-5-git-send-email-liuj97@gmail.com \
--to=liuj97@gmail.com \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=catalin.marinas@arm.com \
--cc=khilman@linaro.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mingo@elte.hu \
--cc=nico@linaro.org \
--cc=rostedt@goodmis.org \
--cc=santosh.shilimkar@ti.com \
--cc=sboyd@codeaurora.org \
--cc=shli@kernel.org \
--cc=trivial@kernel.org \
--cc=udknight@gmail.com \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.