public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 00/10] Cleanup ipi_call_lock[_irq]()/ipi_call_unlock[_irq]()
@ 2012-05-29  7:15 Yong Zhang
  2012-05-29  7:15 ` [RFC PATCH 01/10] hexagon: smp: remove call to ipi_call_lock()/ipi_call_unlock() Yong Zhang
                   ` (12 more replies)
  0 siblings, 13 replies; 36+ messages in thread
From: Yong Zhang @ 2012-05-29  7:15 UTC (permalink / raw)
  To: linux-kernel
  Cc: ralf, sshtylyov, david.daney, nikunj, paulmck, axboe, mingo, tglx,
	peterz, akpm, srivatsa.bhat

As discussed with Srivatsa [1], it seems there is no need to keep
ipi_call_[un]lock_irq() when cpu bring-up/down. Because:

1) call_function.lock used in smp_call_function_many() is just to protect
   call_function.queue and &data->refs, cpu_online_mask is outside of the
   lock. And it's not necessary to protect cpu_online_mask,
   because data->cpumask is pre-calculate and even if a cpu is brougt up
   when calling arch_send_call_function_ipi_mask(), it's harmless because
   validation test in generic_smp_call_function_interrupt() will take care
   of it.

2) For cpu down issue, stop_machine() will guarantee that no concurrent
   smp_call_fuction() is processing.

In short it's more likely that keeping ipi_call_[un]lock() is leftover
before we introduce generic smp helper. This patchset is just to clean
things up.

[1] http://marc.info/?l=linux-kernel&m=133766786814484&w=2

Yong Zhang (10):
  hexagon: smp: remove call to ipi_call_lock()/ipi_call_unlock()
  mn10300: smp: remove call to ipi_call_lock()/ipi_call_unlock()
  parisc: smp: remove call to ipi_call_lock()/ipi_call_unlock()
  S390: smp: remove call to ipi_call_lock()/ipi_call_unlock()
  tile: smp: remove call to ipi_call_lock()/ipi_call_unlock()
  x86: smp: remove call to ipi_call_lock()/ipi_call_unlock()
  ia64: smp: remove call to ipi_call_lock_irq()/ipi_call_unlock_irq()
  SPARC: smp: remove call to ipi_call_lock_irq()/ipi_call_unlock_irq()
  POWERPC: smp: remove call to ipi_call_lock()/ipi_call_unlock()
  smp: remove ipi_call_lock[_irq]()/ipi_call_unlock[_irq]()

 arch/hexagon/kernel/smp.c  |    2 --
 arch/ia64/kernel/smpboot.c |    2 --
 arch/mn10300/kernel/smp.c  |    2 --
 arch/parisc/kernel/smp.c   |    2 --
 arch/powerpc/kernel/smp.c  |    2 --
 arch/s390/kernel/smp.c     |    2 --
 arch/sparc/kernel/smp_64.c |    6 ++----
 arch/tile/kernel/smpboot.c |   10 ----------
 arch/x86/kernel/smpboot.c  |    9 ---------
 arch/x86/xen/smp.c         |    2 --
 include/linux/smp.h        |    4 ----
 kernel/smp.c               |   20 --------------------
 12 files changed, 2 insertions(+), 61 deletions(-)

-- 
1.7.5.4


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

end of thread, other threads:[~2012-06-18 17:14 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-29  7:15 [RFC PATCH 00/10] Cleanup ipi_call_lock[_irq]()/ipi_call_unlock[_irq]() Yong Zhang
2012-05-29  7:15 ` [RFC PATCH 01/10] hexagon: smp: remove call to ipi_call_lock()/ipi_call_unlock() Yong Zhang
2012-06-05 15:43   ` [tip:smp/hotplug] hexagon: SMP: Remove call to ipi_call_lock()/ ipi_call_unlock() tip-bot for Yong Zhang
2012-05-29  7:15 ` [RFC PATCH 02/10] mn10300: smp: remove call to ipi_call_lock()/ipi_call_unlock() Yong Zhang
2012-06-05 15:44   ` [tip:smp/hotplug] mn10300: SMP: Remove call to ipi_call_lock()/ ipi_call_unlock() tip-bot for Yong Zhang
2012-05-29  7:15 ` [RFC PATCH 03/10] parisc: smp: remove call to ipi_call_lock()/ipi_call_unlock() Yong Zhang
2012-06-05 15:45   ` [tip:smp/hotplug] parisc: Smp: remove call to ipi_call_lock()/ ipi_call_unlock() tip-bot for Yong Zhang
2012-05-29  7:15 ` [RFC PATCH 04/10] S390: smp: remove call to ipi_call_lock()/ipi_call_unlock() Yong Zhang
2012-06-05 15:46   ` [tip:smp/hotplug] S390: Smp: remove call to ipi_call_lock()/ ipi_call_unlock() tip-bot for Yong Zhang
2012-05-29  7:16 ` [RFC PATCH 05/10] tile: smp: remove call to ipi_call_lock()/ipi_call_unlock() Yong Zhang
2012-06-05 15:47   ` [tip:smp/hotplug] tile: SMP: Remove call to ipi_call_lock()/ ipi_call_unlock() tip-bot for Yong Zhang
2012-05-29  7:16 ` [RFC PATCH 06/10] x86: smp: remove call to ipi_call_lock()/ipi_call_unlock() Yong Zhang
2012-06-05 15:47   ` [tip:smp/hotplug] x86-smp-remove-call-to-ipi_call_lock-ipi_call_unlock tip-bot for Yong Zhang
2012-05-29  7:16 ` [RFC PATCH 07/10] ia64: smp: remove call to ipi_call_lock_irq()/ipi_call_unlock_irq() Yong Zhang
2012-06-05 15:48   ` [tip:smp/hotplug] ia64: SMP: Remove call to ipi_call_lock_irq()/ ipi_call_unlock_irq() tip-bot for Yong Zhang
2012-05-29  7:16 ` [PATCH 08/10] SPARC: smp: remove call to ipi_call_lock_irq()/ipi_call_unlock_irq() Yong Zhang
2012-05-29  8:01   ` Srivatsa S. Bhat
2012-05-29  8:14     ` David Miller
2012-05-29  8:27     ` [UPDATED] [RFC PATCH " Yong Zhang
2012-05-29  8:30       ` Srivatsa S. Bhat
2012-05-29  8:36       ` David Miller
2012-06-05 15:49       ` [tip:smp/hotplug] SPARC: SMP: Remove call to ipi_call_lock_irq()/ ipi_call_unlock_irq() tip-bot for Yong Zhang
2012-05-29  7:16 ` [RFC PATCH 09/10] POWERPC: smp: remove call to ipi_call_lock()/ipi_call_unlock() Yong Zhang
2012-06-05 15:50   ` [tip:smp/hotplug] POWERPC: Smp: remove call to ipi_call_lock()/ ipi_call_unlock() tip-bot for Yong Zhang
2012-06-16 16:32   ` [RFC PATCH 09/10] POWERPC: smp: remove call to ipi_call_lock()/ipi_call_unlock() Paul E. McKenney
2012-06-16 17:30     ` Peter Zijlstra
2012-06-16 20:57       ` Paul E. McKenney
2012-06-18  2:51     ` Yong Zhang
2012-06-18 17:05       ` Paul E. McKenney
2012-05-29  7:16 ` [RFC PATCH 10/10] smp: remove ipi_call_lock[_irq]()/ipi_call_unlock[_irq]() Yong Zhang
2012-06-05 15:51   ` [tip:smp/hotplug] smp: Remove ipi_call_lock[_irq]()/ ipi_call_unlock[_irq]() tip-bot for Yong Zhang
2012-05-29  8:02 ` [RFC PATCH 00/10] Cleanup ipi_call_lock[_irq]()/ipi_call_unlock[_irq]() Srivatsa S. Bhat
2012-05-29  8:28 ` Peter Zijlstra
2012-05-29  8:32   ` Peter Zijlstra
2012-05-29  8:34   ` Srivatsa S. Bhat
2012-06-16 16:30 ` Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox