aboutsummaryrefslogtreecommitdiff
path: root/sys/cddl
diff options
context:
space:
mode:
authorPawel Jakub Dawidek <pjd@FreeBSD.org>2009-09-07 19:22:44 +0000
committerPawel Jakub Dawidek <pjd@FreeBSD.org>2009-09-07 19:22:44 +0000
commit08780916dd92cf119ffc5eaa2564a9e115bfb313 (patch)
treebd5b63d3577821e2cdb6f889256d79a8e8b206a7 /sys/cddl
parentc739b7b22b127c5fd35f5dc7e24a3b3524070d18 (diff)
downloadsrc-08780916dd92cf119ffc5eaa2564a9e115bfb313.tar.gz
src-08780916dd92cf119ffc5eaa2564a9e115bfb313.zip
Defer thread start until we set priority.
Reviewed by: kib MFC after: 3 days
Notes
Notes: svn path=/head/; revision=196947
Diffstat (limited to 'sys/cddl')
-rw-r--r--sys/cddl/compat/opensolaris/sys/proc.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/cddl/compat/opensolaris/sys/proc.h b/sys/cddl/compat/opensolaris/sys/proc.h
index 52ef867d49e6..e0b7bc5758e3 100644
--- a/sys/cddl/compat/opensolaris/sys/proc.h
+++ b/sys/cddl/compat/opensolaris/sys/proc.h
@@ -37,6 +37,7 @@
#include <sys/sched.h>
#include <sys/lock.h>
#include <sys/mutex.h>
+#include <sys/unistd.h>
#include <sys/debug.h>
#ifdef _KERNEL
@@ -74,11 +75,12 @@ thread_create(caddr_t stk, size_t stksize, void (*proc)(void *), void *arg,
ASSERT(state == TS_RUN);
ASSERT(pp == &p0);
- error = kproc_kthread_add(proc, arg, &zfsproc, &td, 0,
+ error = kproc_kthread_add(proc, arg, &zfsproc, &td, RFSTOPPED,
stksize / PAGE_SIZE, "zfskern", "solthread %p", proc);
if (error == 0) {
thread_lock(td);
sched_prio(td, pri);
+ sched_add(td, SRQ_BORING);
thread_unlock(td);
}
return (td);