RE: Direct io on block device has performance regression on 2.6.x kernel

From: Chen, Kenneth W
Date: Wed Mar 09 2005 - 21:20:50 EST


Chen, Kenneth W wrote on Wednesday, March 09, 2005 5:45 PM
> Andrew Morton wrote on Wednesday, March 09, 2005 5:34 PM
> > What are these percentages? Total CPU time? The direct-io stuff doesn't
> > look too bad. It's surprising that tweaking the direct-io submission code
> > makes much difference.
>
> Percentage is relative to total kernel time. There are three DIO functions
> showed up in the profile:
>
> __blockdev_direct_IO 4.97%
> dio_bio_end_io 2.70%
> dio_bio_complete 1.20%

For the sake of comparison, let's look at the effect of performance patch on
raw device, in place of the above three functions, we now have two:

raw_file_rw 1.59%
raw_file_aio_rw 1.19%

A total saving of 6.09% (4.97+2.70+1.20 -1.59-1.19). That's only counting
the cpu cycles. We have tons of other data showing significant kernel path
length reduction with the performance patch. Cache misses reduced across
the entire 3 level cache hierarchy, that's a secondary effect can not be
ignored since kernel is also competing cache resource with application.

- Ken


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/