summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_cpuset.c
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2010-10-25 13:13:16 +0000
committerdavidxu <davidxu@FreeBSD.org>2010-10-25 13:13:16 +0000
commitbc55e49455ed3d1424a3ef788f2c2b53c293e4e0 (patch)
tree048bb90b45e1b0df11351a4d5c65f40568911e40 /sys/kern/kern_cpuset.c
parentb4fee3c1ed8a70a52da851176862f496b045b135 (diff)
downloadFreeBSD-src-bc55e49455ed3d1424a3ef788f2c2b53c293e4e0.zip
FreeBSD-src-bc55e49455ed3d1424a3ef788f2c2b53c293e4e0.tar.gz
Use function tdfind() to find a thread.
Diffstat (limited to 'sys/kern/kern_cpuset.c')
-rw-r--r--sys/kern/kern_cpuset.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/sys/kern/kern_cpuset.c b/sys/kern/kern_cpuset.c
index 3bdb45e..23aa9df 100644
--- a/sys/kern/kern_cpuset.c
+++ b/sys/kern/kern_cpuset.c
@@ -416,19 +416,10 @@ cpuset_which(cpuwhich_t which, id_t id, struct proc **pp, struct thread **tdp,
td = curthread;
break;
}
- sx_slock(&allproc_lock);
- FOREACH_PROC_IN_SYSTEM(p) {
- PROC_LOCK(p);
- FOREACH_THREAD_IN_PROC(p, td)
- if (td->td_tid == id)
- break;
- if (td != NULL)
- break;
- PROC_UNLOCK(p);
- }
- sx_sunlock(&allproc_lock);
+ td = tdfind(id, -1);
if (td == NULL)
return (ESRCH);
+ p = td->td_proc;
break;
case CPU_WHICH_CPUSET:
if (id == -1) {
OpenPOWER on IntegriCloud