public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/6] CPU hotplug: Reverse invocation of notifiers during CPU hotplug
@ 2012-07-25 11:53 Srivatsa S. Bhat
  2012-07-25 11:53 ` [RFC PATCH 1/6] list, rcu: Introduce rcu version of reverse list traversal Srivatsa S. Bhat
                   ` (6 more replies)
  0 siblings, 7 replies; 24+ messages in thread
From: Srivatsa S. Bhat @ 2012-07-25 11:53 UTC (permalink / raw)
  To: tglx, mingo, peterz, rusty, paulmck, namhyung, tj
  Cc: rjw, srivatsa.bhat, nikunj, linux-pm, linux-kernel

Hi,

This patchset implements the approach of invoking the CPU hotplug callbacks
(notifiers) in one order during CPU online and in the reverse order during CPU
offline. The rationale behind this is that services for a CPU are started in a
particular order (perhaps, with implicit dependencies between them) while
bringing up the CPU, and hence, it makes sense to tear down the services in
the opposite order, thereby honoring most of the dependencies automatically
(and also correctly). This is explained in more detail in Patch 6.

Patch 1 adds rcu primitives for traversing a linked list in reverse order.
Patch 2 converts the notifiers to a circular doubly linked list (in
preparation for the reverse invocation support).
Patch 3 adds helpers to invoke notifiers in the reverse order.
Patches 4 and 5 do the necessary prep work for moving over to the reverse
invocation model, by adjusting some of the callbacks/priorities as necessary.
Patch 6 does the final transition and invokes the notifiers in the reverse order
during CPU offline.

This patchset applies on top of:
1. Tejun's workqueue CPU hotplug patchset[1] merged with
2. Thomas Gleixner's park/unpark patchset with Paul McKenney's fixes which
   are available at [2].

References:
[1]. git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git review-wq-hotplug
[2]. git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/smp/hotplug

--
 Srivatsa S. Bhat (6):
      list, rcu: Introduce rcu version of reverse list traversal
      notifiers: Convert notifier chain to circular doubly linked-list
      notifiers: Add support for reverse invocation of notifier chains
      sched, cpuset: Prepare scheduler and cpuset CPU hotplug callbacks for reverse invocation
      sched, perf: Prepare migration and perf CPU hotplug callbacks for reverse invocation
      CPU hotplug: Invoke CPU offline notifiers in reverse order


  arch/mips/powertv/powertv_setup.c                |    2 
 arch/um/drivers/mconsole_kern.c                  |    2 
 arch/um/kernel/um_arch.c                         |    2 
 drivers/acpi/sleep.c                             |    2 
 drivers/char/ipmi/ipmi_msghandler.c              |    2 
 drivers/char/ipmi/ipmi_watchdog.c                |    4 
 drivers/firmware/dcdbas.c                        |    2 
 drivers/md/md.c                                  |    2 
 drivers/net/ethernet/intel/igb/igb_main.c        |    2 
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c    |    2 
 drivers/net/ethernet/myricom/myri10ge/myri10ge.c |    2 
 drivers/staging/vt6655/device_main.c             |    2 
 include/linux/cpu.h                              |   40 +++--
 include/linux/notifier.h                         |   27 ++-
 include/linux/rculist.h                          |   46 ++++++
 kernel/cpu.c                                     |   34 +++-
 kernel/debug/debug_core.c                        |    2 
 kernel/notifier.c                                |  179 ++++++++++++++++------
 kernel/sched/core.c                              |  140 ++++++++++-------
 kernel/trace/trace.c                             |    2 
 kernel/workqueue.c                               |   30 +---
 mm/page-writeback.c                              |    2 
 mm/vmstat.c                                      |    4 
 23 files changed, 357 insertions(+), 175 deletions(-)



Thanks,
Srivatsa S. Bhat
IBM Linux Technology Center


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

end of thread, other threads:[~2012-08-01  7:10 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-25 11:53 [RFC PATCH 0/6] CPU hotplug: Reverse invocation of notifiers during CPU hotplug Srivatsa S. Bhat
2012-07-25 11:53 ` [RFC PATCH 1/6] list, rcu: Introduce rcu version of reverse list traversal Srivatsa S. Bhat
2012-07-25 11:53 ` [RFC PATCH 2/6] notifiers: Convert notifier chain to circular doubly linked-list Srivatsa S. Bhat
2012-07-25 11:54 ` [RFC PATCH 3/6] notifiers: Add support for reverse invocation of notifier chains Srivatsa S. Bhat
2012-07-25 11:54 ` [RFC PATCH 4/6] sched, cpuset: Prepare scheduler and cpuset CPU hotplug callbacks for reverse invocation Srivatsa S. Bhat
2012-07-25 11:54 ` [RFC PATCH 5/6] sched, perf: Prepare migration and perf " Srivatsa S. Bhat
2012-07-25 11:55 ` [RFC PATCH 6/6] CPU hotplug: Invoke CPU offline notifiers in reverse order Srivatsa S. Bhat
2012-07-25 16:43   ` Tejun Heo
2012-07-25 14:57 ` [RFC PATCH 0/6] CPU hotplug: Reverse invocation of notifiers during CPU hotplug Alan Stern
2012-07-25 15:56   ` Srivatsa S. Bhat
2012-07-25 16:10     ` Alan Stern
2012-07-25 16:37       ` Srivatsa S. Bhat
2012-07-25 16:43       ` Paul E. McKenney
2012-07-25 19:44         ` Alan Stern
2012-07-25 16:30     ` Thomas Gleixner
2012-07-25 16:51       ` Srivatsa S. Bhat
2012-07-26 11:02         ` Thomas Gleixner
2012-07-26 11:11           ` Srivatsa S. Bhat
2012-07-25 18:22       ` Srivatsa S. Bhat
2012-07-26 10:55         ` Thomas Gleixner
2012-07-26 11:13           ` Srivatsa S. Bhat
2012-07-26 11:22       ` Srivatsa S. Bhat
2012-07-27  7:40       ` Rusty Russell
2012-08-01  7:10         ` Thomas Gleixner

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