From: Jiang Liu <liuj97@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>, Shaohua Li <shli@kernel.org>
Cc: liuj97@gmail.com, Jiang Liu <jiang.liu@huawei.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-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Subject: [RFC PATCH v2 00/25] simplify generic cross CPU function call implementation
Date: Thu, 12 Sep 2013 00:07:04 +0800 [thread overview]
Message-ID: <1378915649-16395-1-git-send-email-liuj97@gmail.com> (raw)
From: Jiang Liu <jiang.liu@huawei.com>
Since commit 9a46ad6d6df3b54 "smp: make smp_call_function_many() use
logic similar to smp_call_function_single()", single and multiple
(mask version) cross CPU function calls are handled in the same way,
and generic_smp_call_function_interrupt() becomes an aliases of
generic_smp_call_function_single_interrupt(), so only one interrupt
is needed for arch code to support generic SMP function call interfaces.
This patch series simplifies arch code by killing the redundant
interrupt for cross CPU function calls.
We choose to keep generic_smp_call_function_interrupt() instead of
generic_smp_call_function_single_interrupt() because the former is
more generic.
Jiang Liu (25):
Revert smp: Fix SMP function call empty cpu mask race
smp, alpha: kill SMP single function call interrupt
smp, ARC: kill SMP single function call interrupt
smp, ARM: kill SMP single function call interrupt
smp, ARM64: kill SMP single function call interrupt
smp, blackfin: kill SMP single function call interrupt
smp, hexagon: kill SMP single function call interrupt
smp, IA64: kill SMP single function call interrupt
smp, m32r: kill SMP single function call interrupt
smp, metag: kill SMP single function call interrupt
smp, mips: kill redundant call of
generic_smp_call_function_single_interrupt()
smp, mn10300: kill SMP single function call interrupt
smp, mn10300: enable arch_send_call_function_ipi_mask()
smp, parisc: kill SMP single function call interrupt
smp, ppc: kill SMP single function call interrupt
smp, s390: prepare for killing
generic_smp_call_function_single_interrupt()
smp, sh: kill SMP single function call interrupt
smp, sparc64: kill SMP single function call interrupt
smp, sparc: kill SMP single function call interrupt
smp, tile: kill SMP single function call interrupt
smp, tile: kill SMP single function call interrupt
smp, x86: kill SMP single function call interrupt
smp: cleanup unsued generic_smp_call_function_single_interrupt()
smp: rename call_single_queue as call_function_queue
SMP, trivial: remove unused code from smp_boot.h
arch/alpha/kernel/smp.c | 9 +-------
arch/arc/kernel/smp.c | 7 +-----
arch/arm/include/asm/hardirq.h | 2 +-
arch/arm/kernel/smp.c | 10 +--------
arch/arm64/include/asm/hardirq.h | 2 +-
arch/arm64/kernel/smp.c | 10 +--------
arch/blackfin/mach-common/smp.c | 7 +-----
arch/hexagon/include/asm/smp.h | 1 -
arch/hexagon/kernel/smp.c | 6 +-----
arch/ia64/kernel/smp.c | 8 ++-----
arch/m32r/include/asm/smp.h | 1 -
arch/m32r/kernel/smp.c | 9 +-------
arch/m32r/kernel/traps.c | 3 +--
arch/metag/include/asm/smp.h | 2 --
arch/metag/kernel/smp.c | 6 +-----
arch/mips/kernel/smp.c | 1 -
arch/mn10300/include/asm/smp.h | 2 +-
arch/mn10300/kernel/smp.c | 19 ++++++++--------
arch/parisc/kernel/smp.c | 8 +------
arch/powerpc/include/asm/smp.h | 3 +--
arch/powerpc/kernel/smp.c | 12 +----------
arch/s390/kernel/smp.c | 10 ++++-----
arch/sh/include/asm/smp.h | 1 -
arch/sh/kernel/smp.c | 5 +----
arch/sparc/include/asm/pil.h | 5 ++---
arch/sparc/include/asm/smp_32.h | 4 +---
arch/sparc/kernel/entry.S | 10 ++-------
arch/sparc/kernel/leon_smp.c | 31 ++++++--------------------
arch/sparc/kernel/smp_32.c | 14 ++----------
arch/sparc/kernel/smp_64.c | 11 +---------
arch/sparc/kernel/sun4d_smp.c | 31 ++++++--------------------
arch/sparc/kernel/sun4m_smp.c | 11 ++--------
arch/sparc/kernel/ttable_64.S | 12 ++++-------
arch/sparc/mm/ultra.S | 5 -----
arch/tile/include/asm/smp.h | 7 +++---
arch/tile/kernel/smp.c | 6 +-----
arch/x86/include/asm/entry_arch.h | 1 -
arch/x86/include/asm/hw_irq.h | 3 ---
arch/x86/include/asm/irq_vectors.h | 7 +++---
arch/x86/include/asm/trace/irq_vectors.h | 6 ------
arch/x86/include/asm/xen/events.h | 1 -
arch/x86/kernel/entry_64.S | 2 --
arch/x86/kernel/irqinit.c | 4 ----
arch/x86/kernel/smp.c | 24 +--------------------
arch/x86/xen/smp.c | 37 +-------------------------------
include/linux/smp.h | 4 +---
include/linux/smpboot.h | 1 -
kernel/smp.c | 36 +++++++++++--------------------
48 files changed, 82 insertions(+), 335 deletions(-)
--
1.8.1.2
next reply other threads:[~2013-09-11 16:08 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-11 16:07 Jiang Liu [this message]
2013-09-11 16:07 ` [PATCH v2 01/25] Revert smp: Fix SMP function call empty cpu mask race Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-14 4:41 ` Wang YanQing
2013-09-14 4:41 ` Wang YanQing
2013-09-14 4:43 ` Wang YanQing
2013-09-16 2:22 ` Chen Gang
2013-09-11 16:07 ` [RFC PATCH v2 02/25] smp, alpha: kill SMP single function call interrupt Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-10-22 10:07 ` Vineet Gupta
2013-10-22 10:18 ` Vineet Gupta
2013-10-22 10:18 ` Vineet Gupta
2013-09-11 16:07 ` [RFC PATCH v2 03/25] smp, ARC: " Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-25 11:31 ` Vineet Gupta
2013-09-11 16:07 ` [RFC PATCH v2 04/25] smp, ARM: " Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-12 9:14 ` Will Deacon
2013-09-11 16:07 ` [RFC PATCH v2 05/25] smp, ARM64: " Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-12 9:14 ` Will Deacon
2013-09-11 16:07 ` [RFC PATCH v2 06/25] smp, blackfin: " Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 07/25] smp, hexagon: " Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 08/25] smp, IA64: " Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 09/25] smp, m32r: " Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 10/25] smp, metag: " Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-12 11:14 ` James Hogan
2013-09-11 16:07 ` [RFC PATCH v2 11/25] smp, mips: kill redundant call of generic_smp_call_function_single_interrupt() Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 12/25] smp, mn10300: kill SMP single function call interrupt Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 13/25] smp, mn10300: enable arch_send_call_function_ipi_mask() Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 14/25] smp, parisc: kill SMP single function call interrupt Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 15/25] smp, ppc: " Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 20:03 ` Srivatsa S. Bhat
2013-09-11 20:03 ` Srivatsa S. Bhat
2013-09-12 14:04 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 16/25] smp, s390: prepare for killing generic_smp_call_function_single_interrupt() Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 17/25] smp, sh: kill SMP single function call interrupt Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-12 8:35 ` Paul Mundt
2013-09-11 16:07 ` [RFC PATCH v2 18/25] smp, sparc64: " Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 19/25] smp, sparc: " Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 20/25] smp, tile: " Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:51 ` Chris Metcalf
2013-09-11 16:07 ` [RFC PATCH v2 21/25] " Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 22/25] smp, x86: " Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 23/25] smp: cleanup unsued generic_smp_call_function_single_interrupt() Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 24/25] smp: rename call_single_queue as call_function_queue Jiang Liu
2013-09-11 16:07 ` Jiang Liu
2013-09-11 16:07 ` [RFC PATCH v2 25/25] SMP, trivial: remove unused code from smp_boot.h Jiang Liu
2013-09-11 16:07 ` 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=1378915649-16395-1-git-send-email-liuj97@gmail.com \
--to=liuj97@gmail.com \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=jiang.liu@huawei.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.org \
--cc=shli@kernel.org \
--cc=trivial@kernel.org \
--cc=udknight@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).