missing IO from per-IO dump file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

 I am running blktrace to analyze I/O during a workload run and
obtained seek, latency and Block numbers as well as per-I/O-dump.
 I found some of the I/Os present in seek data to be missing in
per-I/O-dump file. I have checked the binary file from blkparse and it
seems
  to be containing the missing I/O s.

 We tried to debug the issue. We observed that in case of the missing
I/O s that the function handle_issue (in trace_issue.c) does not print
 to the per-io-dump file. The reason is that in routine:

dip_alloc, __dip_find(device) does not return NULL but some of the
fields of dip_info is null.

Code snippet:

struct d_info *dip_alloc(__u32 device, struct io *iop)
{
        struct d_info *dip = __dip_find(device);

        if (dip == NULL) {
                char str[256];

                dip = malloc(sizeof(struct d_info));
                memset(dip, 0, sizeof(*di

....
}

The snippets for missing I/Os in per-io-dump file and the
corresponding seek data files are as follows.

 Seek_d2d_c.dat
   31.497678158             0 w
    31.497684314             8 w
    31.498714725      14965272 r
    31.528598546     -14965280 w    This IO is present in per-io dump
file as well.
 Following IOs in seek file, not present in per-io-dump
  ..................................................................
  31.528613109             0 w
    31.528622309             0 w
    31.528630846             0 w
    31.528634955         83160 w
    31.528642355             0 w
     31.528649434         20528 w
    31.528657480             0 w
    31.528662694             8 w
    31.528670169             0 w
    31.528677839             0 w
    31.528684786             0 w
    31.528691806             0 w
     31.528698477             0 w
    31.528705403             0 w
    31.528709002        400584 w
    31.530779561             0 w
    31.530788126             8 w
    31.530795686             0 w
    31.530802527             0 w
     31.530810438             0 w
    31.530818504             0 w
    31.530825749             0 w
    31.530833630             0 w
    31.530838950     202957448 w
    31.530843604         32328 w
    31.530850399             0 w
     31.530852766             8 w
    31.530859075             0 w
    31.530867215             0 w
    31.530873892             0 w
    31.530880583             0 w
    31.562825308             0 w
    31.562840145             0 w
     31.562852559       1122896 w
    31.562858357         32864 w
    31.562867654             8 w
    31.562877654             0 w
    31.562885449             0 w
    31.562893685             0 w
    31.562901334             0 w
     31.562909789             0 w
    31.562918216             0 w
    31.562924928             0 w
    31.562928089        556128 w
    31.562934325             8 w
    31.562942388             0 w
    31.562949731             0 w
     31.562949731             0 w
    31.564311119             0 w
    31.564320633             0 w
    31.564328996             0 w
    31.564336468             0 w
    31.564345531             0 w
    31.564350328        186288 w
     31.564427881    -206584872 w
    31.564434939     206563432 w
    31.565417543    -205184024 w
    31.565420857         11800 w
    31.565422806             8 w
    31.565430704         45240 w
    31.565438653           256 w
     31.565444983             0 w
    31.565451475          8984 w
    31.565457018             0 w
    31.599583103             0 w
    31.599595560             0 w
    31.599597558         45024 w
    31.599606906             0 w
     31.599609723            16 w
    31.599618273             0 w
    31.599625903             0 w
    31.599634923             0 w
    31.599644617             0 w
    31.599652935             0 w
    31.599655424        264976 w
     31.599662249             0 w
    31.599669961             0 w
    31.599677146             8 w
    31.599685009             0 w
    31.599691789             0 w
    31.601868207             0 w
    31.601882099             0 w
     31.601890870             0 w
    31.601893157        166704 w
    31.601900850             0 w
    31.601906925             0 w
    31.601913350             8 w
    31.601918948             0 w
    31.601921613        262144 w
     31.601926410             0 w
    31.601931174             0 w
    31.601935870             0 w
    31.601940385             0 w
    31.601943616        167472 w
    31.601948108             0 w
    31.601952759             0 w
  ...............................................................
    31.603150381      13656752 r      <== this IO is seen in the
per-io-dump file, so above IOs are not added in per-io dup file


 Per-io-dump file snippet: sda.dump
 ---------------------------------

  8,0  :   31.526714955 Q 2486689584+8
             31.526715179 M 2486689584+8
             31.528598546 D 2486688568+1024
             31.667381793 C 2486688568+1024
    8,0  :    31.526713995 Q 2486689576+8
             31.526714192 M 2486689576+8
             31.528598546 D 2486688568+1024
             31.667381793 C 2486688568+1024
 -----------------------------------------

   8,0  :    31.603144313 Q 2501586080+8                <=== IO till
this is missing from the above IO at time stamp (D) 31.528598546
             31.603147310 G 2501586080+8
             31.603149032 I 2501586080+8
              31.603150381 D 2501586080+8
             31.705885488 C 2501586080+8
 -----------------------------------------
   8,0  :    31.706148511 Q 2501577624+8
             31.706149871 G 2501577624+8
              31.706150682 I 2501577624+8
             31.706151614 D 2501577624+8
             31.802181772 C 2501577624+8
 -----------------------------------------
   8,0  :    31.802552026 Q 2501552992+8
              31.802554440 G 2501552992+8
             31.802555441 I 2501552992+8
             31.802557069 D 2501552992+8
             31.895693951 C 2501552992+8
 -----------------------------------------
   8,0  :    31.895980338 Q 2501544664+8
             31.895981860 G 2501544664+8
             31.895982601 I 2501544664+8
             31.895983806 D 2501544664+8
             31.896308616 C 2501544664+8
 -----------------------------------------
   8,0  :    31.924516917 Q 2501552680+8
             31.924521388 G 2501552680+8
             31.924523914 I 2501552680+8
             31.924526197 D 2501552680+8
             31.924967038 C 2501552680+8
 ----------------------------------------------------




 Please help me to understand this discrepancy.


 Exact commands to generate seek file and per-io dump file

 1. blkparse -i sda -d sda.bin
 2. btt -i sda.bin -p sda.dump
 3. btt -i sda.bin -s sda.seek

 Thanks in advance
 Anindita
--
To unsubscribe from this list: send the line "unsubscribe linux-btrace" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux