[PATCH 10/10] padata debug
Tvrtko Ursulin
tursulin at ursulin.net
Wed Oct 18 19:10:02 UTC 2017
From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
---
kernel/padata.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/kernel/padata.c b/kernel/padata.c
index 868f947166d7..8e3225de22f2 100644
--- a/kernel/padata.c
+++ b/kernel/padata.c
@@ -496,9 +496,12 @@ static void __padata_stop(struct padata_instance *pinst)
static void padata_replace(struct padata_instance *pinst,
struct parallel_data *pd_new)
{
- struct parallel_data *pd_old = pinst->pd;
+ struct parallel_data *pd_old = rcu_access_pointer(pinst->pd);
int notification_mask = 0;
+ printk("padata_replace pd_old=%p\n", pd_old);
+ WARN_ON(!pd_old);
+
pinst->flags |= PADATA_RESET;
rcu_assign_pointer(pinst->pd, pd_new);
@@ -783,6 +786,8 @@ static int padata_cpu_prep_down(unsigned int cpu, struct hlist_node *node)
int ret;
pinst = hlist_entry_safe(node, struct padata_instance, node);
+ printk("padata_cpu_prep_down cpu=%u node=%p pinst=%p\n", cpu, node, pinst);
+ WARN_ON(!pinst);
if (!pinst_has_cpu(pinst, cpu))
return 0;
@@ -800,7 +805,7 @@ static void __padata_free(struct padata_instance *pinst)
#ifdef CONFIG_HOTPLUG_CPU
cpuhp_state_remove_instance_nocalls(hp_online, &pinst->node);
#endif
-
+ printk("__data_free pinst=%p\n", pinst);
padata_stop(pinst);
padata_free_pd(pinst->pd);
free_cpumask_var(pinst->cpumask.pcpu);
@@ -984,6 +989,7 @@ static struct padata_instance *padata_alloc(struct workqueue_struct *wq,
#ifdef CONFIG_HOTPLUG_CPU
cpuhp_state_add_instance_nocalls_cpuslocked(hp_online, &pinst->node);
#endif
+ printk("padata_alloc pinst=%p\n", pinst);
return pinst;
err_free_masks:
--
2.9.5
More information about the Intel-gfx-trybot
mailing list