• Thomas Gleixner's avatar
    cpu/hotplug: Implement setup/removal interface · 5b7aa87e
    Thomas Gleixner authored
    Implement function which allow to setup/remove hotplug state callbacks.
    
    The default behaviour for setup is to call the startup function for this state
    for (or on) all cpus which have a hotplug state >= the installed state.
    
    The default behaviour for removal is to call the teardown function for this
    state for (or on) all cpus which have a hotplug state >= the installed state.
    
    This includes rollback to the previous state in case of failure.
    
    A special state is CPUHP_ONLINE_DYN. Its for dynamically registering a hotplug
    callback pair. This is for drivers which have no dependencies to avoid that we
    need to allocate CPUHP states for each of them
    
    For both setup and remove helper functions are provided, which prevent the
    core to issue the callbacks. This simplifies the conversion of existing
    hotplug notifiers.
    
    [ Dynamic registering implemented by Sebastian Siewior ]
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: linux-arch@vger.kernel.org
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Rafael Wysocki <rafael.j.wysocki@intel.com>
    Cc: "Srivatsa S. Bhat" <srivatsa@mit.edu>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Arjan van de Ven <arjan@linux.intel.com>
    Cc: Sebastian Siewior <bigeasy@linutronix.de>
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Paul Turner <pjt@google.com>
    Link: http://lkml.kernel.org/r/20160226182341.103464877@linutronix.deSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    5b7aa87e
cpu.c 33.3 KB