mirror of https://gitee.com/openkylin/linux.git
block: only calculate part_in_flight() once
We first check if we have inflight IO, then retrieve that same number again. Usually this isn't that costly since the chance of having the data dirtied in between is small, but there's no reason for calling part_in_flight() twice. Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
cf4b50afc2
commit
7276d02e24
|
@ -1233,12 +1233,15 @@ static void add_acct_request(struct request_queue *q, struct request *rq,
|
||||||
static void part_round_stats_single(int cpu, struct hd_struct *part,
|
static void part_round_stats_single(int cpu, struct hd_struct *part,
|
||||||
unsigned long now)
|
unsigned long now)
|
||||||
{
|
{
|
||||||
|
int inflight;
|
||||||
|
|
||||||
if (now == part->stamp)
|
if (now == part->stamp)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (part_in_flight(part)) {
|
inflight = part_in_flight(part);
|
||||||
|
if (inflight) {
|
||||||
__part_stat_add(cpu, part, time_in_queue,
|
__part_stat_add(cpu, part, time_in_queue,
|
||||||
part_in_flight(part) * (now - part->stamp));
|
inflight * (now - part->stamp));
|
||||||
__part_stat_add(cpu, part, io_ticks, (now - part->stamp));
|
__part_stat_add(cpu, part, io_ticks, (now - part->stamp));
|
||||||
}
|
}
|
||||||
part->stamp = now;
|
part->stamp = now;
|
||||||
|
|
Loading…
Reference in New Issue