[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1161435423.3054.111.camel@dyn-9-152-230-71.boeblingen.de.ibm.com>
Date: Sat, 21 Oct 2006 14:57:03 +0200
From: Martin Peschke <mp3@...ibm.com>
To: Andrew Morton <akpm@...l.org>
Cc: linux-kernel@...r.kernel.org
Subject: [Patch 0/5] I/O statistics through request queues
This patch set makes the block layer maintain statistics for request
queues. Resulting data closely resembles the actual I/O traffic to a
device, as the block layer takes hints from block device drivers when a
request is being issued as well as when it is about to complete.
It is crucial (for us) to be able to look at such kernel level data in
case of customer situations. It allows us to determine what kind of
requests might be involved in performance situations. This information
helps to understand whether one faces a device issue or a Linux issue.
Not being able to tap into performance data is regarded as a big minus
by some enterprise customers, who are reluctant to use Linux SCSI
support or Linux.
Statistics data includes:
- request sizes (read + write),
- residual bytes of partially completed requests (read + write),
- request latencies (read + write),
- request retries (read + write),
- request concurrency,
For sample data please have a look at the SCSI stack patch or the DASD
driver patch respectively. This data is only gathered if statistics have
been enabled by users at run time (default is off).
The advantage of instrumenting request queues is that we can cover a
broad range of devices, including SCSI tape devices.
Having the block layer maintain such statistics on behalf of drivers
provides for comparability through a common set of statistics.
A previous approach was to put all the code into the SCSI stack:
http://marc.theaimsgroup.com/?l=linux-kernel&m=115928678420835&w=2
I gathered from feedback that moving that stuff to the block layer
might be preferable.
These patches use the statistics component described in
Documentation/statistics.txt.
Patches are against 2.6.19-rc2-mm2.
[Patch 1/5] I/O statistics through request queues: timeval_to_us()
[Patch 2/5] I/O statistics through request queues: queue instrumentation
[Patch 3/5] I/O statistics through request queues: small SCSI cleanup
[Patch 4/5] I/O statistics through request queues: SCSI
[Patch 5/5] I/O statistics through request queues: DASD
Martin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists