block: leave the request timeout timer running even on an empty list
authorJens Axboe <jens.axboe@oracle.com>
Wed, 19 Nov 2008 13:38:39 +0000 (14:38 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Mon, 29 Dec 2008 07:28:42 +0000 (08:28 +0100)
commit70ed28b92a786f44750ab64117b03d126dd14656
tree03e84c48c262b380fbcccb21f55ff979aaeb4e77
parent65d3618ccfe686e8d7b3f01a838d0578182406df
block: leave the request timeout timer running even on an empty list

For sync IO, we'll often do them serialized. This means we'll be touching
the queue timer for every IO, as opposed to only occasionally like we
do for queued IO. Instead of deleting the timer when the last request
is removed, just let continue running. If a new request comes up soon
we then don't have to readd the timer again. If no new requests arrive,
the timer will expire without side effect later.

This improves high iops sync IO by ~1%.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
block/blk-core.c
block/blk-timeout.c