Documentation: timers: hrtimers: Make hybrid union historical

Non-scalar time was removed from the ktime hybrid union in v3.17, and
the union itself followed suit in v4.10.

Make it clear that ktime_t is always a 64bit scalar type, to avoid
confusing the casual reader.

While at it, fix a spelling mistake.

Fixes: 24e4a8c3e8 ("ktime: Kill non-scalar ktime_t implementation for 2038")
Fixes: 2456e85535 ("ktime: Get rid of the union")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/59250a3d1c2c827b5c1833169a6e652ca6a784e6.1683021785.git.geert+renesas@glider.be
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Geert Uytterhoeven 2023-05-02 12:05:10 +02:00 committed by Jonathan Corbet
parent 0b656310bf
commit 4c093cbb89

View File

@ -123,17 +123,12 @@ equivalent to timer_delete() and timer_delete_sync()] - so there's no direct
potential for code sharing either. potential for code sharing either.
Basic data types: every time value, absolute or relative, is in a Basic data types: every time value, absolute or relative, is in a
special nanosecond-resolution type: ktime_t. The kernel-internal special nanosecond-resolution 64bit type: ktime_t.
representation of ktime_t values and operations is implemented via (Originally, the kernel-internal representation of ktime_t values and
macros and inline functions, and can be switched between a "hybrid operations was implemented via macros and inline functions, and could be
union" type and a plain "scalar" 64bit nanoseconds representation (at switched between a "hybrid union" type and a plain "scalar" 64bit
compile time). The hybrid union type optimizes time conversions on 32bit nanoseconds representation (at compile time). This was abandoned in the
CPUs. This build-time-selectable ktime_t storage format was implemented context of the Y2038 work.)
to avoid the performance impact of 64-bit multiplications and divisions
on 32bit CPUs. Such operations are frequently necessary to convert
between the storage formats provided by kernel and userspace interfaces
and the internal time format. (See include/linux/ktime.h for further
details.)
hrtimers - rounding of timer values hrtimers - rounding of timer values
----------------------------------- -----------------------------------
@ -148,7 +143,7 @@ a given clock has - be it low-res, high-res, or artificially-low-res.
hrtimers - testing and verification hrtimers - testing and verification
----------------------------------- -----------------------------------
We used the high-resolution clock subsystem ontop of hrtimers to verify We used the high-resolution clock subsystem on top of hrtimers to verify
the hrtimer implementation details in praxis, and we also ran the posix the hrtimer implementation details in praxis, and we also ran the posix
timer tests in order to ensure specification compliance. We also ran timer tests in order to ensure specification compliance. We also ran
tests on low-resolution clocks. tests on low-resolution clocks.