Hi, Jens and All,
A couple of months ago, I made a patch to gathering disk I/O statistics
for all majors. Thank you all for your feedbacks. Basically, in that
patch, the disk I/O statistics are gathered at the per request queue
level, instead of at the global level in the current implementation.
Statistic data are moved from the global kstat structure to the
request_queue structures, and it is allocated/freed when the request
queue is initialized and freed. This way it is 1)self-controlled,
2)statistics implementation is not affected by the major/minor numbers,
3) faster the lookup, and 4)able to gathering statistics for all disks
while keep the memory needs minimized.
Here is the updated disk I/O statistics patch corresponding to the block
I/O layer changes in 2.5. It's aganist 2.5.3-pre6. Please take a look.
IBM Linux Technology Center