Konstantin Khlebnikov <koct9i@xxxxxxxxx> writes: > Wraparounds here are slightly more complicated than simply 32-bit or 64-bit overflows. > > Internal time counters are 64-bit in nanoseconds. > > Values are converted into milliseconds for printing, > also 32-bit architectures truncate printed values to 32-bit. > > So the common trick: delta = (long)(after - before) does not work, > because the time counter wraps around UINT64_MAX/1000. > Thanks Konstantin. What do you think about just removing this entire sentence? It is mostly tweaked from the old text that was rewritten, but I'm not sure it is particularly insightful. That paragraph would look like this: All fields are cumulative, monotonic counters that start at zero at boot, except for field 9, which resets to zero as I/Os complete. Other fields only increase unless they overflow and wrap. Wrapping may occur on long-running or high-load systems, so applications should handle this properly. Thanks, David Reaver