diff options
author | Matthew D Fleming <mdf@FreeBSD.org> | 2011-02-08 00:16:36 +0000 |
---|---|---|
committer | Matthew D Fleming <mdf@FreeBSD.org> | 2011-02-08 00:16:36 +0000 |
commit | e7ceb1e99b88b9aedbfa17871819c1cabd2761e3 (patch) | |
tree | 3696b04084e29d2a5b666d5e3854af878bb7879b /sys/dev/sio | |
parent | 2306fc3f4c34684e758f436914068cc118e078e3 (diff) | |
download | src-e7ceb1e99b88b9aedbfa17871819c1cabd2761e3.tar.gz src-e7ceb1e99b88b9aedbfa17871819c1cabd2761e3.zip |
Based on discussions on the svn-src mailing list, rework r218195:
- entirely eliminate some calls to uio_yeild() as being unnecessary,
such as in a sysctl handler.
- move should_yield() and maybe_yield() to kern_synch.c and move the
prototypes from sys/uio.h to sys/proc.h
- add a slightly more generic kern_yield() that can replace the
functionality of uio_yield().
- replace source uses of uio_yield() with the functional equivalent,
or in some cases do not change the thread priority when switching.
- fix a logic inversion bug in vlrureclaim(), pointed out by bde@.
- instead of using the per-cpu last switched ticks, use a per thread
variable for should_yield(). With PREEMPTION, the only reasonable
use of this is to determine if a lock has been held a long time and
relinquish it. Without PREEMPTION, this is essentially the same as
the per-cpu variable.
Notes
Notes:
svn path=/head/; revision=218424
Diffstat (limited to 'sys/dev/sio')
-rw-r--r-- | sys/dev/sio/sio.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c index 2eb2ad1120cd..f1348c4c3576 100644 --- a/sys/dev/sio/sio.c +++ b/sys/dev/sio/sio.c @@ -1466,7 +1466,6 @@ sysctl_siots(SYSCTL_HANDLER_ARGS) error = SYSCTL_OUT(req, buf, len); if (error != 0) return (error); - uio_yield(); } return (0); } |