diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2010-03-01 02:55:20 -0500 | 
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2010-03-01 02:55:20 -0500 | 
| commit | 35858adbfca13678af99fb31618ef4428d6dedb0 (patch) | |
| tree | 3336feaa61324486945816cb52c347733e7c0821 /kernel/kthread.c | |
| parent | 197d4db752e67160d79fed09968c2140376a80a3 (diff) | |
| parent | 4b70858ba8d4537daf782defebe5f2ff80ccef2b (diff) | |
Merge branch 'next' into for-linus
Diffstat (limited to 'kernel/kthread.c')
| -rw-r--r-- | kernel/kthread.c | 23 | 
1 files changed, 23 insertions, 0 deletions
| diff --git a/kernel/kthread.c b/kernel/kthread.c index ab7ae57773e1..fbb6222fe7e0 100644 --- a/kernel/kthread.c +++ b/kernel/kthread.c | |||
| @@ -150,6 +150,29 @@ struct task_struct *kthread_create(int (*threadfn)(void *data), | |||
| 150 | EXPORT_SYMBOL(kthread_create); | 150 | EXPORT_SYMBOL(kthread_create); | 
| 151 | 151 | ||
| 152 | /** | 152 | /** | 
| 153 | * kthread_bind - bind a just-created kthread to a cpu. | ||
| 154 | * @p: thread created by kthread_create(). | ||
| 155 | * @cpu: cpu (might not be online, must be possible) for @k to run on. | ||
| 156 | * | ||
| 157 | * Description: This function is equivalent to set_cpus_allowed(), | ||
| 158 | * except that @cpu doesn't need to be online, and the thread must be | ||
| 159 | * stopped (i.e., just returned from kthread_create()). | ||
| 160 | */ | ||
| 161 | void kthread_bind(struct task_struct *p, unsigned int cpu) | ||
| 162 | { | ||
| 163 | /* Must have done schedule() in kthread() before we set_task_cpu */ | ||
| 164 | if (!wait_task_inactive(p, TASK_UNINTERRUPTIBLE)) { | ||
| 165 | WARN_ON(1); | ||
| 166 | return; | ||
| 167 | } | ||
| 168 | |||
| 169 | p->cpus_allowed = cpumask_of_cpu(cpu); | ||
| 170 | p->rt.nr_cpus_allowed = 1; | ||
| 171 | p->flags |= PF_THREAD_BOUND; | ||
| 172 | } | ||
| 173 | EXPORT_SYMBOL(kthread_bind); | ||
| 174 | |||
| 175 | /** | ||
| 153 | * kthread_stop - stop a thread created by kthread_create(). | 176 | * kthread_stop - stop a thread created by kthread_create(). | 
| 154 | * @k: thread created by kthread_create(). | 177 | * @k: thread created by kthread_create(). | 
| 155 | * | 178 | * | 
