lkml.org 
[lkml]   [2006]   [Oct]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [Patch 0/5] I/O statistics through request queues
    Well, the instrumentation "on demand" aspect is half of the truth.
    A probe inserted through kprobes impacts performance more than static
    instrumentation.


    Phillip Susi wrote:
    > Would this be a good candidate to implement using kprobes? I was under
    > the impression that basing instrumentation on kprobes would be a good
    > thing since you can load the instrumentation code only when needed, then
    > unload it.
    >
    > Martin Peschke wrote:
    >> 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@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-10-24 18:07    [W:0.026 / U:31.208 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site