diff options
author | julian <julian@FreeBSD.org> | 2002-09-11 08:13:56 +0000 |
---|---|---|
committer | julian <julian@FreeBSD.org> | 2002-09-11 08:13:56 +0000 |
commit | 5702a380a53c99a00275cb7e2836033a7497bef8 (patch) | |
tree | 10514ece7d621a24c034e4c778c793b9ea2d9675 /sys/kern/vfs_subr.c | |
parent | 58f594ebe3d58d1f0905309bd8494e4e9549d121 (diff) | |
download | FreeBSD-src-5702a380a53c99a00275cb7e2836033a7497bef8.zip FreeBSD-src-5702a380a53c99a00275cb7e2836033a7497bef8.tar.gz |
Completely redo thread states.
Reviewed by: davidxu@freebsd.org
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r-- | sys/kern/vfs_subr.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 631fa72..2bf0721 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1654,10 +1654,14 @@ sched_sync(void) int speedup_syncer() { + struct thread *td; + td = FIRST_THREAD_IN_PROC(updateproc); mtx_lock_spin(&sched_lock); - if (FIRST_THREAD_IN_PROC(updateproc)->td_wchan == &lbolt) /* XXXKSE */ - setrunnable(FIRST_THREAD_IN_PROC(updateproc)); + if (td->td_wchan == &lbolt) /* XXXKSE */ + unsleep(td); + TD_CLR_SLEEPING(td); + setrunnable(td); mtx_unlock_spin(&sched_lock); if (rushjob < syncdelay / 2) { rushjob += 1; |