[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <864j0wxw74.fsf@davidreaver.com>
Date: Fri, 14 Feb 2025 09:39:11 -0800
From: David Reaver <me@...idreaver.com>
To: Konstantin Khlebnikov <koct9i@...il.com>
Cc: Jonathan Corbet <corbet@....net>, Randy Dunlap <rdunlap@...radead.org>,
Jens Axboe <axboe@...nel.dk>, linux-doc@...r.kernel.org,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] docs: iostats: Rewrite intro, remove outdated formats
Konstantin Khlebnikov <koct9i@...il.com> 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
Powered by blists - more mailing lists