linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v2 00/25] simplify generic cross CPU function call implementation
@ 2013-09-11 16:07 Jiang Liu
  2013-09-11 16:07 ` [PATCH v2 01/25] Revert smp: Fix SMP function call empty cpu mask race Jiang Liu
                   ` (24 more replies)
  0 siblings, 25 replies; 66+ messages in thread
From: Jiang Liu @ 2013-09-11 16:07 UTC (permalink / raw)
  To: Andrew Morton, Shaohua Li
  Cc: liuj97, Jiang Liu, Ingo Molnar, Peter Zijlstra, Steven Rostedt,
	Jiri Kosina, Wang YanQing, linux-kernel, linux-arch

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

^ permalink raw reply	[flat|nested] 66+ messages in thread

end of thread, other threads:[~2013-10-22 10:19 UTC | newest]

Thread overview: 66+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-11 16:07 [RFC PATCH v2 00/25] simplify generic cross CPU function call implementation Jiang Liu
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

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).