Lines Matching refs:td
107 struct smpboot_thread_data *td = data; in smpboot_thread_fn() local
108 struct smp_hotplug_thread *ht = td->ht; in smpboot_thread_fn()
117 ht->cleanup(td->cpu, cpu_online(td->cpu)); in smpboot_thread_fn()
118 kfree(td); in smpboot_thread_fn()
125 if (ht->park && td->status == HP_THREAD_ACTIVE) { in smpboot_thread_fn()
126 BUG_ON(td->cpu != smp_processor_id()); in smpboot_thread_fn()
127 ht->park(td->cpu); in smpboot_thread_fn()
128 td->status = HP_THREAD_PARKED; in smpboot_thread_fn()
135 BUG_ON(td->cpu != smp_processor_id()); in smpboot_thread_fn()
138 switch (td->status) { in smpboot_thread_fn()
143 ht->setup(td->cpu); in smpboot_thread_fn()
144 td->status = HP_THREAD_ACTIVE; in smpboot_thread_fn()
151 ht->unpark(td->cpu); in smpboot_thread_fn()
152 td->status = HP_THREAD_ACTIVE; in smpboot_thread_fn()
156 if (!ht->thread_should_run(td->cpu)) { in smpboot_thread_fn()
162 ht->thread_fn(td->cpu); in smpboot_thread_fn()
171 struct smpboot_thread_data *td; in __smpboot_create_thread() local
176 td = kzalloc_node(sizeof(*td), GFP_KERNEL, cpu_to_node(cpu)); in __smpboot_create_thread()
177 if (!td) in __smpboot_create_thread()
179 td->cpu = cpu; in __smpboot_create_thread()
180 td->ht = ht; in __smpboot_create_thread()
182 tsk = kthread_create_on_cpu(smpboot_thread_fn, td, cpu, in __smpboot_create_thread()
185 kfree(td); in __smpboot_create_thread()