X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=kernel%2Fcpuset.c;h=50f5dc46368841de3497fe96534df12b871e530b;hb=6506f2aa6670da9970ca13daccd466ad7ce2cd29;hp=fa31cb9f98984fcd88483400c79cbf34969e0bc3;hpb=8707d8b8c0cbdf4441507f8dded194167da896c7;p=powerpc.git diff --git a/kernel/cpuset.c b/kernel/cpuset.c index fa31cb9f98..50f5dc4636 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c @@ -1818,10 +1818,23 @@ cpumask_t cpuset_cpus_allowed(struct task_struct *tsk) cpumask_t mask; mutex_lock(&callback_mutex); + mask = cpuset_cpus_allowed_locked(tsk); + mutex_unlock(&callback_mutex); + + return mask; +} + +/** + * cpuset_cpus_allowed_locked - return cpus_allowed mask from a tasks cpuset. + * Must be called with callback_mutex held. + **/ +cpumask_t cpuset_cpus_allowed_locked(struct task_struct *tsk) +{ + cpumask_t mask; + task_lock(tsk); guarantee_online_cpus(task_cs(tsk), &mask); task_unlock(tsk); - mutex_unlock(&callback_mutex); return mask; }