RE: [patch] optimize disk_round_stats

From: Chen, Kenneth W
Date: Fri Oct 14 2005 - 14:17:40 EST

Arjan van de Ven wrote on Friday, October 14, 2005 3:20 AM
> On Thu, 2005-10-13 at 12:19 -0700, Chen, Kenneth W wrote:
> > Following the same idea, it occurs to me that we should only update
> > disk stat when "now" is different from disk->stamp. Otherwise, we
> > are again needlessly adding zero to the stats.
> have you measured this?
> Conditionals in code are not free, so it might well be more expensive...

Yes I did, on a null block driver[1], this optimization gets about
2% improvement. The reasoning is that for example, user submits
100,000 I/O per second, we only need to update the stats per jiffies.
With latest kernel have 250 Hz as default. It's 250 updates versus
100,000 updates (with 99,750 updates of adding zero). I see that the
condition is well worth it. The address calculation for per cpu disk
stats has lots of indirection and index calculation. Compiler generates
lots of code just for address calculation.

- Ken

[1] this driver completes an I/O request as soon as it enters block queue.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at