diff options
author | phk <phk@FreeBSD.org> | 2002-04-22 06:53:20 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2002-04-22 06:53:20 +0000 |
commit | 68aee74f02a2096ba6c52e06d9d7da4f87ebeae5 (patch) | |
tree | d59411764ca8a1adbe2d8ed4697eb5b37cc2f8bd /lib/libc/stdlib | |
parent | f094098e55e8c0555efc769184372be770b875ff (diff) | |
download | FreeBSD-src-68aee74f02a2096ba6c52e06d9d7da4f87ebeae5.zip FreeBSD-src-68aee74f02a2096ba6c52e06d9d7da4f87ebeae5.tar.gz |
Comment out Kirks io-request priority hack until we can do this in a
civilized way which doesn't cause grief.
The problem is that it is not generally safe to cast a "struct bio
*" to a "struct buf *". Things like ccd, vinum, ata-raid and GEOM
constructs bio's which are not entrails of a struct buf.
Also, curthread may or may not have anything to do with the I/O request
at hand.
The correct solution can either be to tag struct bio's with a
priority derived from the requesting threads nice and have disksort
act on this field, this wouldn't address the "silly-seek syndrome"
where two equal processes bang the diskheads from one edge to the
other of the disk repeatedly.
Alternatively, and probably better: a sleep should be introduced
either at the time the I/O is requested or at the time it is completed
where we can be sure to sleep in the right thread.
The sleep also needs to be in constant timeunits, 1/hz can be practicaly
any sub-second size, at high HZ the current code practically doesn't
do anything.
Diffstat (limited to 'lib/libc/stdlib')
0 files changed, 0 insertions, 0 deletions