summaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
authorNick Piggin <nickpiggin@yahoo.com.au>2007-05-08 00:26:34 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 11:15:03 -0700
commitc6a632a2b610c1bc123f1d258d688e8fe5cc70dd (patch)
treeb43e9dffcc1ad012955483f22141676f199f6930 /block
parente97cb3e28ce2fdd3b06a65f67d00462d86929008 (diff)
downloadlwn-c6a632a2b610c1bc123f1d258d688e8fe5cc70dd.tar.gz
lwn-c6a632a2b610c1bc123f1d258d688e8fe5cc70dd.zip
as: fix antic_expire check
Fix units mismatch (jiffies vs msecs) in as-iosched.c, spotted by Xiaoning Ding <dingxn@cse.ohio-state.edu>. Signed-off-by: Nick Piggin <npiggin@suse.de> Cc: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'block')
-rw-r--r--block/as-iosched.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/block/as-iosched.c b/block/as-iosched.c
index ef126277b4b3..640aa839d63f 100644
--- a/block/as-iosched.c
+++ b/block/as-iosched.c
@@ -569,7 +569,7 @@ static void as_update_iohist(struct as_data *ad, struct as_io_context *aic,
static int as_close_req(struct as_data *ad, struct as_io_context *aic,
struct request *rq)
{
- unsigned long delay; /* milliseconds */
+ unsigned long delay; /* jiffies */
sector_t last = ad->last_sector[ad->batch_data_dir];
sector_t next = rq->sector;
sector_t delta; /* acceptable close offset (in sectors) */
@@ -578,11 +578,11 @@ static int as_close_req(struct as_data *ad, struct as_io_context *aic,
if (ad->antic_status == ANTIC_OFF || !ad->ioc_finished)
delay = 0;
else
- delay = ((jiffies - ad->antic_start) * 1000) / HZ;
+ delay = jiffies - ad->antic_start;
if (delay == 0)
delta = 8192;
- else if (delay <= 20 && delay <= ad->antic_expire)
+ else if (delay <= (20 * HZ / 1000) && delay <= ad->antic_expire)
delta = 8192 << delay;
else
return 1;