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>
This commit is contained in:
parent
e97cb3e28c
commit
c6a632a2b6
|
@ -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,
|
static int as_close_req(struct as_data *ad, struct as_io_context *aic,
|
||||||
struct request *rq)
|
struct request *rq)
|
||||||
{
|
{
|
||||||
unsigned long delay; /* milliseconds */
|
unsigned long delay; /* jiffies */
|
||||||
sector_t last = ad->last_sector[ad->batch_data_dir];
|
sector_t last = ad->last_sector[ad->batch_data_dir];
|
||||||
sector_t next = rq->sector;
|
sector_t next = rq->sector;
|
||||||
sector_t delta; /* acceptable close offset (in sectors) */
|
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)
|
if (ad->antic_status == ANTIC_OFF || !ad->ioc_finished)
|
||||||
delay = 0;
|
delay = 0;
|
||||||
else
|
else
|
||||||
delay = ((jiffies - ad->antic_start) * 1000) / HZ;
|
delay = jiffies - ad->antic_start;
|
||||||
|
|
||||||
if (delay == 0)
|
if (delay == 0)
|
||||||
delta = 8192;
|
delta = 8192;
|
||||||
else if (delay <= 20 && delay <= ad->antic_expire)
|
else if (delay <= (20 * HZ / 1000) && delay <= ad->antic_expire)
|
||||||
delta = 8192 << delay;
|
delta = 8192 << delay;
|
||||||
else
|
else
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Loading…
Reference in New Issue