lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Thu,  5 Dec 2013 00:12:51 +0800
From:	Jiang Liu <liuj97@...il.com>
To:	Andrew Morton <akpm@...ux-foundation.org>,
	Shaohua Li <shli@...nel.org>
Cc:	Jiang Liu <liuj97@...il.com>, Ingo Molnar <mingo@...e.hu>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Steven Rostedt <rostedt@...dmis.org>,
	Jiri Kosina <trivial@...nel.org>,
	Wang YanQing <udknight@...il.com>,
	linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org
Subject: [RFC PATCH v3 00/19] simplify generic cross CPU function call implementation

Resend for v3.14 merge window. Patch for ARC, MIPS and PARISC has been
merged into v3.13.

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 (19):
  Revert "kernel/smp.c: free related resources when failure occurs in
    hotplug_cfd()"
  Revert "smp: Fix SMP function call empty cpu mask race"
  smp, alpha: 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, mn10300: kill SMP single function call interrupt
  smp, mn10300: enable arch_send_call_function_ipi_mask()
  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

 arch/alpha/kernel/smp.c                  |  8 +------
 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          |  6 +-----
 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/mn10300/include/asm/smp.h           |  2 +-
 arch/mn10300/kernel/smp.c                | 19 ++++++++--------
 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 +-------------------------------
 kernel/smp.c                             | 19 ++--------------
 41 files changed, 67 insertions(+), 295 deletions(-)

-- 
1.8.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ