diff options
author | mdf <mdf@FreeBSD.org> | 2011-02-02 16:35:10 +0000 |
---|---|---|
committer | mdf <mdf@FreeBSD.org> | 2011-02-02 16:35:10 +0000 |
commit | b291e9a36525d7da10edd8e2df1a5b70f92905af (patch) | |
tree | 65ff6d1131476610f63482b561b568602f898ff1 /sys/kern/imgact_elf.c | |
parent | 95c40e7f0914505b7f251ea147472c9de5e76cec (diff) | |
download | FreeBSD-src-b291e9a36525d7da10edd8e2df1a5b70f92905af.zip FreeBSD-src-b291e9a36525d7da10edd8e2df1a5b70f92905af.tar.gz |
Put the general logic for being a CPU hog into a new function
should_yield(). Use this in various places. Encapsulate the common
case of check-and-yield into a new function maybe_yield().
Change several checks for a magic number of iterations to use
should_yield() instead.
MFC after: 1 week
Diffstat (limited to 'sys/kern/imgact_elf.c')
-rw-r--r-- | sys/kern/imgact_elf.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 38029b0..80bb700 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -1622,8 +1622,7 @@ compress_core (gzFile file, char *inbuf, char *dest_buf, unsigned int len, } inbuf += chunk_len; len -= chunk_len; - if (ticks - PCPU_GET(switchticks) >= hogticks) - uio_yield(); + maybe_yield(); } return (error); |