All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: linux-kernel@vger.kernel.org
Cc: rt@linutronix.de, tglx@linutronix.de,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Subject: [PATCH 22/22] Remove obsolete cpu hotplug register / unregister functions
Date: Sun, 27 Nov 2016 00:13:50 +0100	[thread overview]
Message-ID: <20161126231350.10321-23-bigeasy@linutronix.de> (raw)
In-Reply-To: <20161126231350.10321-1-bigeasy@linutronix.de>

Users of
	hotcpu_notifier()
	cpu_notifier()
	__hotcpu_notifier()
	__cpu_notifier()
	register_hotcpu_notifier()
	register_cpu_notifier()
	__register_hotcpu_notifier()
	__register_cpu_notifier()
	unregister_hotcpu_notifier()
	unregister_cpu_notifier()
	__unregister_hotcpu_notifier()
	__unregister_cpu_notifier()

are not longer in tree so remove them.
While at it, some unused CPU states are removed here, too. This includes the
compatibily wrappers. The remaining states (like CPU_ONLINE) are used SMP
bring up code to makr the current state.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 include/linux/cpu.h        |  48 ----------------
 include/linux/cpuhotplug.h |   2 -
 kernel/cpu.c               | 139 +--------------------------------------------
 3 files changed, 1 insertion(+), 188 deletions(-)

diff --git a/include/linux/cpu.h b/include/linux/cpu.h
index b886dc17f2f3..d510e06b377f 100644
--- a/include/linux/cpu.h
+++ b/include/linux/cpu.h
@@ -57,9 +57,6 @@ struct notifier_block;
 
 #define CPU_ONLINE		0x0002 /* CPU (unsigned)v is up */
 #define CPU_UP_PREPARE		0x0003 /* CPU (unsigned)v coming up */
-#define CPU_UP_CANCELED		0x0004 /* CPU (unsigned)v NOT coming up */
-#define CPU_DOWN_PREPARE	0x0005 /* CPU (unsigned)v going down */
-#define CPU_DOWN_FAILED		0x0006 /* CPU (unsigned)v NOT going down */
 #define CPU_DEAD		0x0007 /* CPU (unsigned)v dead */
 #define CPU_POST_DEAD		0x0009 /* CPU (unsigned)v dead, cpu_hotplug
 					* lock is dropped */
@@ -134,33 +131,9 @@ void notify_cpu_starting(unsigned int cpu);
 extern void cpu_maps_update_begin(void);
 extern void cpu_maps_update_done(void);
 
-#define cpu_notifier_register_begin	cpu_maps_update_begin
-#define cpu_notifier_register_done	cpu_maps_update_done
-
 #else	/* CONFIG_SMP */
 #define cpuhp_tasks_frozen	0
 
-#define cpu_notifier(fn, pri)	do { (void)(fn); } while (0)
-#define __cpu_notifier(fn, pri)	do { (void)(fn); } while (0)
-
-static inline int register_cpu_notifier(struct notifier_block *nb)
-{
-	return 0;
-}
-
-static inline int __register_cpu_notifier(struct notifier_block *nb)
-{
-	return 0;
-}
-
-static inline void unregister_cpu_notifier(struct notifier_block *nb)
-{
-}
-
-static inline void __unregister_cpu_notifier(struct notifier_block *nb)
-{
-}
-
 static inline void cpu_maps_update_begin(void)
 {
 }
@@ -169,14 +142,6 @@ static inline void cpu_maps_update_done(void)
 {
 }
 
-static inline void cpu_notifier_register_begin(void)
-{
-}
-
-static inline void cpu_notifier_register_done(void)
-{
-}
-
 #endif /* CONFIG_SMP */
 extern struct bus_type cpu_subsys;
 
@@ -189,12 +154,6 @@ extern void get_online_cpus(void);
 extern void put_online_cpus(void);
 extern void cpu_hotplug_disable(void);
 extern void cpu_hotplug_enable(void);
-#define hotcpu_notifier(fn, pri)	cpu_notifier(fn, pri)
-#define __hotcpu_notifier(fn, pri)	__cpu_notifier(fn, pri)
-#define register_hotcpu_notifier(nb)	register_cpu_notifier(nb)
-#define __register_hotcpu_notifier(nb)	__register_cpu_notifier(nb)
-#define unregister_hotcpu_notifier(nb)	unregister_cpu_notifier(nb)
-#define __unregister_hotcpu_notifier(nb)	__unregister_cpu_notifier(nb)
 void clear_tasks_mm_cpumask(int cpu);
 int cpu_down(unsigned int cpu);
 
@@ -206,13 +165,6 @@ static inline void cpu_hotplug_done(void) {}
 #define put_online_cpus()	do { } while (0)
 #define cpu_hotplug_disable()	do { } while (0)
 #define cpu_hotplug_enable()	do { } while (0)
-#define hotcpu_notifier(fn, pri)	do { (void)(fn); } while (0)
-#define __hotcpu_notifier(fn, pri)	do { (void)(fn); } while (0)
-/* These aren't inline functions due to a GCC bug. */
-#define register_hotcpu_notifier(nb)	({ (void)(nb); 0; })
-#define __register_hotcpu_notifier(nb)	({ (void)(nb); 0; })
-#define unregister_hotcpu_notifier(nb)	({ (void)(nb); })
-#define __unregister_hotcpu_notifier(nb)	({ (void)(nb); })
 #endif		/* CONFIG_HOTPLUG_CPU */
 
 #ifdef CONFIG_PM_SLEEP_SMP
diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h
index 141c3be242d1..42287b4a32f3 100644
--- a/include/linux/cpuhotplug.h
+++ b/include/linux/cpuhotplug.h
@@ -57,7 +57,6 @@ enum cpuhp_state {
 	CPUHP_POWERPC_MMU_CTX_PREPARE,
 	CPUHP_XEN_PREPARE,
 	CPUHP_XEN_EVTCHN_PREPARE,
-	CPUHP_NOTIFY_PREPARE,
 	CPUHP_ARM_SHMOBILE_SCU_PREPARE,
 	CPUHP_SH_SH3X_PREPARE,
 	CPUHP_BLK_MQ_PREPARE,
@@ -142,7 +141,6 @@ enum cpuhp_state {
 	CPUHP_AP_PERF_ARM_L2X0_ONLINE,
 	CPUHP_AP_WORKQUEUE_ONLINE,
 	CPUHP_AP_RCUTREE_ONLINE,
-	CPUHP_AP_NOTIFY_ONLINE,
 	CPUHP_AP_ONLINE_DYN,
 	CPUHP_AP_ONLINE_DYN_END		= CPUHP_AP_ONLINE_DYN + 30,
 	CPUHP_AP_X86_HPET_ONLINE,
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 29de1a9352c0..e222600e53ec 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -183,23 +183,16 @@ EXPORT_SYMBOL_GPL(cpuhp_tasks_frozen);
 /*
  * The following two APIs (cpu_maps_update_begin/done) must be used when
  * attempting to serialize the updates to cpu_online_mask & cpu_present_mask.
- * The APIs cpu_notifier_register_begin/done() must be used to protect CPU
- * hotplug callback (un)registration performed using __register_cpu_notifier()
- * or __unregister_cpu_notifier().
  */
 void cpu_maps_update_begin(void)
 {
 	mutex_lock(&cpu_add_remove_lock);
 }
-EXPORT_SYMBOL(cpu_notifier_register_begin);
 
 void cpu_maps_update_done(void)
 {
 	mutex_unlock(&cpu_add_remove_lock);
 }
-EXPORT_SYMBOL(cpu_notifier_register_done);
-
-static RAW_NOTIFIER_HEAD(cpu_chain);
 
 /* If set, cpu_up and cpu_down will return -EBUSY and do nothing.
  * Should always be manipulated under cpu_add_remove_lock
@@ -349,66 +342,7 @@ void cpu_hotplug_enable(void)
 EXPORT_SYMBOL_GPL(cpu_hotplug_enable);
 #endif	/* CONFIG_HOTPLUG_CPU */
 
-/* Need to know about CPUs going up/down? */
-int register_cpu_notifier(struct notifier_block *nb)
-{
-	int ret;
-	cpu_maps_update_begin();
-	ret = raw_notifier_chain_register(&cpu_chain, nb);
-	cpu_maps_update_done();
-	return ret;
-}
-
-int __register_cpu_notifier(struct notifier_block *nb)
-{
-	return raw_notifier_chain_register(&cpu_chain, nb);
-}
-
-static int __cpu_notify(unsigned long val, unsigned int cpu, int nr_to_call,
-			int *nr_calls)
-{
-	unsigned long mod = cpuhp_tasks_frozen ? CPU_TASKS_FROZEN : 0;
-	void *hcpu = (void *)(long)cpu;
-
-	int ret;
-
-	ret = __raw_notifier_call_chain(&cpu_chain, val | mod, hcpu, nr_to_call,
-					nr_calls);
-
-	return notifier_to_errno(ret);
-}
-
-static int cpu_notify(unsigned long val, unsigned int cpu)
-{
-	return __cpu_notify(val, cpu, -1, NULL);
-}
-
-static void cpu_notify_nofail(unsigned long val, unsigned int cpu)
-{
-	BUG_ON(cpu_notify(val, cpu));
-}
-
 /* Notifier wrappers for transitioning to state machine */
-static int notify_prepare(unsigned int cpu)
-{
-	int nr_calls = 0;
-	int ret;
-
-	ret = __cpu_notify(CPU_UP_PREPARE, cpu, -1, &nr_calls);
-	if (ret) {
-		nr_calls--;
-		printk(KERN_WARNING "%s: attempt to bring up CPU %u failed\n",
-				__func__, cpu);
-		__cpu_notify(CPU_UP_CANCELED, cpu, nr_calls, NULL);
-	}
-	return ret;
-}
-
-static int notify_online(unsigned int cpu)
-{
-	cpu_notify(CPU_ONLINE, cpu);
-	return 0;
-}
 
 static int bringup_wait_for_ap(unsigned int cpu)
 {
@@ -433,10 +367,8 @@ static int bringup_cpu(unsigned int cpu)
 	/* Arch-specific enabling code. */
 	ret = __cpu_up(cpu, idle);
 	irq_unlock_sparse();
-	if (ret) {
-		cpu_notify(CPU_UP_CANCELED, cpu);
+	if (ret)
 		return ret;
-	}
 	ret = bringup_wait_for_ap(cpu);
 	BUG_ON(!cpu_online(cpu));
 	return ret;
@@ -565,11 +497,6 @@ static void cpuhp_thread_fun(unsigned int cpu)
 		BUG_ON(st->state < CPUHP_AP_ONLINE_IDLE);
 
 		undo_cpu_down(cpu, st);
-		/*
-		 * This is a momentary workaround to keep the notifier users
-		 * happy. Will go away once we got rid of the notifiers.
-		 */
-		cpu_notify_nofail(CPU_DOWN_FAILED, cpu);
 		st->rollback = false;
 	} else {
 		/* Cannot happen .... */
@@ -660,22 +587,6 @@ void __init cpuhp_threads_init(void)
 }
 
 #ifdef CONFIG_HOTPLUG_CPU
-EXPORT_SYMBOL(register_cpu_notifier);
-EXPORT_SYMBOL(__register_cpu_notifier);
-void unregister_cpu_notifier(struct notifier_block *nb)
-{
-	cpu_maps_update_begin();
-	raw_notifier_chain_unregister(&cpu_chain, nb);
-	cpu_maps_update_done();
-}
-EXPORT_SYMBOL(unregister_cpu_notifier);
-
-void __unregister_cpu_notifier(struct notifier_block *nb)
-{
-	raw_notifier_chain_unregister(&cpu_chain, nb);
-}
-EXPORT_SYMBOL(__unregister_cpu_notifier);
-
 /**
  * clear_tasks_mm_cpumask - Safely clear tasks' mm_cpumask for a CPU
  * @cpu: a CPU id
@@ -741,20 +652,6 @@ static inline void check_for_tasks(int dead_cpu)
 	read_unlock(&tasklist_lock);
 }
 
-static int notify_down_prepare(unsigned int cpu)
-{
-	int err, nr_calls = 0;
-
-	err = __cpu_notify(CPU_DOWN_PREPARE, cpu, -1, &nr_calls);
-	if (err) {
-		nr_calls--;
-		__cpu_notify(CPU_DOWN_FAILED, cpu, nr_calls, NULL);
-		pr_warn("%s: attempt to take down CPU %u failed\n",
-				__func__, cpu);
-	}
-	return err;
-}
-
 /* Take this CPU down. */
 static int take_cpu_down(void *_param)
 {
@@ -833,13 +730,6 @@ static int takedown_cpu(unsigned int cpu)
 	return 0;
 }
 
-static int notify_dead(unsigned int cpu)
-{
-	cpu_notify_nofail(CPU_DEAD, cpu);
-	check_for_tasks(cpu);
-	return 0;
-}
-
 static void cpuhp_complete_idle_dead(void *arg)
 {
 	struct cpuhp_cpu_state *st = arg;
@@ -863,9 +753,7 @@ void cpuhp_report_idle_dead(void)
 }
 
 #else
-#define notify_down_prepare	NULL
 #define takedown_cpu		NULL
-#define notify_dead		NULL
 #endif
 
 #ifdef CONFIG_HOTPLUG_CPU
@@ -924,9 +812,6 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen,
 	hasdied = prev_state != st->state && st->state == CPUHP_OFFLINE;
 out:
 	cpu_hotplug_done();
-	/* This post dead nonsense must die */
-	if (!ret && hasdied)
-		cpu_notify_nofail(CPU_POST_DEAD, cpu);
 	return ret;
 }
 
@@ -1292,17 +1177,6 @@ static struct cpuhp_step cpuhp_bp_states[] = {
 		.teardown.single	= rcutree_dead_cpu,
 	},
 	/*
-	 * Preparatory and dead notifiers. Will be replaced once the notifiers
-	 * are converted to states.
-	 */
-	[CPUHP_NOTIFY_PREPARE] = {
-		.name			= "notify:prepare",
-		.startup.single		= notify_prepare,
-		.teardown.single	= notify_dead,
-		.skip_onerr		= true,
-		.cant_stop		= true,
-	},
-	/*
 	 * On the tear-down path, timers_dead_cpu() must be invoked
 	 * before blk_mq_queue_reinit_notify() from notify_dead(),
 	 * otherwise a RCU stall occurs.
@@ -1391,17 +1265,6 @@ static struct cpuhp_step cpuhp_ap_states[] = {
 		.startup.single		= rcutree_online_cpu,
 		.teardown.single	= rcutree_offline_cpu,
 	},
-
-	/*
-	 * Online/down_prepare notifiers. Will be removed once the notifiers
-	 * are converted to states.
-	 */
-	[CPUHP_AP_NOTIFY_ONLINE] = {
-		.name			= "notify:online",
-		.startup.single		= notify_online,
-		.teardown.single	= notify_down_prepare,
-		.skip_onerr		= true,
-	},
 #endif
 	/*
 	 * The dynamically registered state space is here
-- 
2.10.2

  parent reply	other threads:[~2016-11-26 23:15 UTC|newest]

Thread overview: 131+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-26 23:13 cpu hotplug: convert more drivers (batch #6 and last) Sebastian Andrzej Siewior
2016-11-26 23:13 ` [PATCH 01/22] cpufreq/acpi-cpufreq: Convert to hotplug state machine Sebastian Andrzej Siewior
2016-11-28  5:15   ` Viresh Kumar
2016-11-28  9:49     ` Sebastian Andrzej Siewior
2016-11-28  9:51       ` [PATCH 01/22 v2] " Sebastian Andrzej Siewior
2016-11-28  9:54         ` Viresh Kumar
2016-11-28 12:46         ` Rafael J. Wysocki
2016-11-26 23:13 ` [PATCH 02/22] cpufreq/acpi-cpufreq: drop rdmsr_on_cpus() usage Sebastian Andrzej Siewior
2016-11-28  9:52   ` [PATCH 02/22 v2] " Sebastian Andrzej Siewior
2016-11-28  9:54     ` Viresh Kumar
2016-11-26 23:13 ` [PATCH 03/22] idle/intel: Remove superfluous SMP fuction call Sebastian Andrzej Siewior
2016-11-26 23:13 ` [PATCH 04/22] idle/intel: Convert to hotplug state machine Sebastian Andrzej Siewior
2016-11-28 17:29   ` Thomas Gleixner
2016-11-29  9:40     ` Sebastian Andrzej Siewior
2016-11-29  9:51       ` [PATCH 04/22 v2] " Sebastian Andrzej Siewior
2016-11-26 23:13 ` [PATCH 05/22] oprofile/nmi timer: " Sebastian Andrzej Siewior
2016-12-02  0:09   ` [tip:smp/hotplug] " tip-bot for Sebastian Andrzej Siewior
2016-11-26 23:13 ` [PATCH 06/22] tracing/rb: " Sebastian Andrzej Siewior
2016-12-02  0:10   ` [tip:smp/hotplug] " tip-bot for Sebastian Andrzej Siewior
2016-12-07 11:15     ` [linux-next] tracing/rb: NULL pointer dereference at trace_rb_cpu_prepare() Tetsuo Handa
2016-12-07 13:31       ` [PATCH] tracing/rb: init the CPU mask on allocation Sebastian Andrzej Siewior
2016-12-07 13:43         ` [tip:smp/hotplug] tracing/rb: Init " tip-bot for Sebastian Andrzej Siewior
2016-12-07 14:33         ` [PATCH] tracing/rb: init " Tetsuo Handa
2016-11-26 23:13 ` [PATCH 07/22] mm/vmstat: Drop get_online_cpus() from init_cpu_node_state/vmstat_cpu_dead() Sebastian Andrzej Siewior
2016-11-26 23:13   ` Sebastian Andrzej Siewior
2016-11-28  9:24   ` Michal Hocko
2016-11-28  9:24     ` Michal Hocko
2016-12-02  0:10   ` [tip:smp/hotplug] " tip-bot for Sebastian Andrzej Siewior
2016-11-26 23:13 ` [PATCH 08/22] mm/vmstat: Avoid on each online CPU loops Sebastian Andrzej Siewior
2016-11-26 23:13   ` Sebastian Andrzej Siewior
2016-11-28  9:28   ` Michal Hocko
2016-11-28  9:28     ` Michal Hocko
2016-11-29 14:08     ` Thomas Gleixner
2016-11-29 14:08       ` Thomas Gleixner
2016-11-29 14:44       ` Michal Hocko
2016-11-29 14:44         ` Michal Hocko
2016-11-29 14:51       ` [PATCH 08/22 v2] " Sebastian Andrzej Siewior
2016-11-29 14:51         ` Sebastian Andrzej Siewior
2016-11-29 15:20         ` Michal Hocko
2016-11-29 15:20           ` Michal Hocko
2016-12-02  0:11         ` [tip:smp/hotplug] " tip-bot for Sebastian Andrzej Siewior
2016-11-26 23:13 ` [PATCH 09/22] mm/vmstat: Convert to hotplug state machine Sebastian Andrzej Siewior
2016-11-26 23:13   ` Sebastian Andrzej Siewior
2016-11-29 14:52   ` [PATCH 09/22 v2] " Sebastian Andrzej Siewior
2016-11-29 14:52     ` Sebastian Andrzej Siewior
2016-12-02  0:11     ` [tip:smp/hotplug] " tip-bot for Sebastian Andrzej Siewior
2016-11-26 23:13 ` [PATCH 10/22] mm/zsmalloc: " Sebastian Andrzej Siewior
2016-11-26 23:13   ` Sebastian Andrzej Siewior
2016-12-02  0:12   ` [tip:smp/hotplug] " tip-bot for Sebastian Andrzej Siewior
2016-11-26 23:13 ` [PATCH 11/22] mm/zswap: Convert dst-mem " Sebastian Andrzej Siewior
2016-11-26 23:13   ` Sebastian Andrzej Siewior
2016-12-02  0:12   ` [tip:smp/hotplug] " tip-bot for Sebastian Andrzej Siewior
2016-11-26 23:13 ` [PATCH 12/22] mm/zswap: Convert pool " Sebastian Andrzej Siewior
2016-11-26 23:13   ` Sebastian Andrzej Siewior
2016-12-02  0:13   ` [tip:smp/hotplug] " tip-bot for Sebastian Andrzej Siewior
2016-11-26 23:13 ` [PATCH 13/22] iommu/vt-d: Convert " Sebastian Andrzej Siewior
2016-11-26 23:13   ` Sebastian Andrzej Siewior
2016-12-02  0:13   ` [tip:smp/hotplug] " tip-bot for Anna-Maria Gleixner
2016-11-26 23:13 ` [PATCH 14/22] mm/compaction: " Sebastian Andrzej Siewior
2016-11-26 23:13   ` Sebastian Andrzej Siewior
2016-12-02  0:14   ` [tip:smp/hotplug] " tip-bot for Anna-Maria Gleixner
2016-11-26 23:13 ` [PATCH 15/22] arm64/cpuinfo: Make hotplug notifier symmetric Sebastian Andrzej Siewior
2016-11-26 23:13   ` Sebastian Andrzej Siewior
2016-11-29 17:22   ` Suzuki K Poulose
2016-11-29 17:22     ` Suzuki K Poulose
2016-12-02  0:14   ` [tip:smp/hotplug] " tip-bot for Anna-Maria Gleixner
2016-11-26 23:13 ` [PATCH 16/22] arm64/cpuinfo: Convert to hotplug state machine Sebastian Andrzej Siewior
2016-11-26 23:13   ` Sebastian Andrzej Siewior
2016-11-29 17:26   ` Suzuki K Poulose
2016-11-29 17:26     ` Suzuki K Poulose
2016-12-02  0:15   ` [tip:smp/hotplug] " tip-bot for Anna-Maria Gleixner
2016-11-26 23:13 ` [PATCH 17/22] KVM/PPC/Book3S HV: " Sebastian Andrzej Siewior
2016-11-26 23:13   ` Sebastian Andrzej Siewior
2016-11-26 23:13   ` Sebastian Andrzej Siewior
2016-12-02  0:15   ` [tip:smp/hotplug] " tip-bot for Anna-Maria Gleixner
2016-11-26 23:13 ` [PATCH 18/22] zram: " Sebastian Andrzej Siewior
2016-12-02  0:16   ` [tip:smp/hotplug] " tip-bot for Anna-Maria Gleixner
2016-11-26 23:13 ` [PATCH 19/22] soc/fsl/qbman: " Sebastian Andrzej Siewior
2016-12-02  0:16   ` [tip:smp/hotplug] " tip-bot for Sebastian Andrzej Siewior
2016-11-26 23:13 ` [PATCH 20/22] " Sebastian Andrzej Siewior
2016-12-02  0:17   ` [tip:smp/hotplug] " tip-bot for Sebastian Andrzej Siewior
2016-11-26 23:13 ` [PATCH 21/22] staging/lustre/libcfs: " Sebastian Andrzej Siewior
2016-11-26 23:14   ` [lustre-devel] " Sebastian Andrzej Siewior
2016-12-02 10:18   ` [PATCH 21/22 v2] " Sebastian Andrzej Siewior
2016-12-02 10:18     ` [lustre-devel] " Sebastian Andrzej Siewior
2016-12-02 10:42     ` Greg Kroah-Hartman
2016-12-02 10:42       ` [lustre-devel] " Greg Kroah-Hartman
2016-12-02 11:00       ` [PATCH 21/22 v3] " Sebastian Andrzej Siewior
2016-12-02 11:00         ` [lustre-devel] " Sebastian Andrzej Siewior
2016-11-26 23:13 ` Sebastian Andrzej Siewior [this message]
2016-12-21 19:19 [patch 00/10] cpu/hotplug: Final cleanup Thomas Gleixner
2016-12-21 19:19 ` [patch 01/10] ARM: imx: mmcd: Fix broken cpu hotplug handling Thomas Gleixner
2016-12-22 20:18   ` [tip:smp/urgent] ARM/imx/mmcd: " tip-bot for Thomas Gleixner
2016-12-25 10:02   ` tip-bot for Thomas Gleixner
2016-12-21 19:19 ` [patch 02/10] cpu/hotplug: Prevent overwriting of callbacks Thomas Gleixner
2016-12-22 11:07   ` Thomas Gleixner
2016-12-26 23:04     ` ojab
2016-12-26 23:12       ` ojab
2016-12-22 20:21   ` [tip:smp/urgent] " tip-bot for Thomas Gleixner
2016-12-25 10:04   ` tip-bot for Thomas Gleixner
2016-12-21 19:19 ` [patch 03/10] scsi/bnx2fc: Convert to hotplug state machine Thomas Gleixner
2016-12-22 20:21   ` [tip:smp/urgent] " tip-bot for Sebastian Andrzej Siewior
2016-12-25 10:05   ` tip-bot for Sebastian Andrzej Siewior
2016-12-21 19:19 ` [patch 04/10] scsi/bnx2i: " Thomas Gleixner
2016-12-22 20:22   ` [tip:smp/urgent] " tip-bot for Sebastian Andrzej Siewior
2016-12-25 10:05   ` tip-bot for Sebastian Andrzej Siewior
2016-12-21 19:19 ` [patch 05/10] staging/lustre/libcfs: " Thomas Gleixner
2016-12-21 19:29   ` [lustre-devel] " Thomas Gleixner
2016-12-22 20:22   ` [tip:smp/urgent] " tip-bot for Anna-Maria Gleixner
2016-12-25 10:06   ` tip-bot for Anna-Maria Gleixner
2016-12-21 19:19 ` [patch 06/10] cpu/hotplug: Remove obsolete cpu hotplug register/unregister functions Thomas Gleixner
2016-12-22 20:23   ` [tip:smp/urgent] " tip-bot for Thomas Gleixner
2016-12-25 10:06   ` tip-bot for Thomas Gleixner
2016-12-21 19:19 ` [patch 07/10] cpu/hotplug: Cleanup state names Thomas Gleixner
2016-12-22 20:23   ` [tip:smp/urgent] " tip-bot for Thomas Gleixner
2016-12-25 10:07   ` tip-bot for Thomas Gleixner
2016-12-21 19:19 ` [patch 08/10] coresight: etm3/4x: Consolidate hotplug state space Thomas Gleixner
2016-12-22 16:30   ` Mathieu Poirier
2016-12-22 20:24   ` [tip:smp/urgent] coresight/etm3/4x: " tip-bot for Thomas Gleixner
2016-12-25 10:07   ` tip-bot for Thomas Gleixner
2016-12-21 19:19 ` [patch 09/10] irqchip/gic: " Thomas Gleixner
2016-12-22 20:24   ` [tip:smp/urgent] " tip-bot for Thomas Gleixner
2016-12-25 10:08   ` tip-bot for Thomas Gleixner
2016-12-21 19:19 ` [patch 10/10] irqchip/armada-xp: " Thomas Gleixner
2016-12-21 20:22   ` Thomas Petazzoni
2016-12-21 20:27     ` Thomas Gleixner
2016-12-22 20:25   ` [tip:smp/urgent] " tip-bot for Thomas Gleixner
2016-12-25 10:08   ` tip-bot for Thomas Gleixner
2016-12-22 17:59 ` [patch 00/10] cpu/hotplug: Final cleanup Sam Ravnborg
2016-12-27 11:17   ` Thomas Gleixner
2016-12-27 19:41     ` Sam Ravnborg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161126231350.10321-23-bigeasy@linutronix.de \
    --to=bigeasy@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rt@linutronix.de \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.