Re: [PATCH] docs: iostats: Rewrite intro, remove outdated formats

From: Konstantin Khlebnikov
Date: Sat Feb 15 2025 - 12:20:04 EST


On Fri, 14 Feb 2025 at 18:39, David Reaver <me@xxxxxxxxxxxxxxx> wrote:
>
> 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.

There is another case when counters back to zero:
device reattachment or reinitialization.
The device itself might be the same or completely different,
but statistics sampling will see only restart from zero.

So, maybe rephrase that counters sometimes restarts at zero.
For example at boot, device attachment, or counter overflows.

>
> Thanks,
> David Reaver