Commit cc1b923a authored by Maciej W. Rozycki's avatar Maciej W. Rozycki Committed by Thomas Gleixner

time/sched_clock: Use Hz as the unit for clock rate reporting below 4kHz

The kernel uses kHz as the unit for clock rates reported between 1MHz
(inclusive) and 4MHz (exclusive), e.g.:

 sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every 2199023255500ns

This reduces the amount of data lost due to rounding, but hasn't been
replicated for the kHz range when support was added for proper reporting of
sub-kHz clock rates.  Take the same approach for rates between 1kHz
(inclusive) and 4kHz (exclusive), which makes it consistent.
Signed-off-by: default avatarMaciej W. Rozycki <macro@orcam.me.uk>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/alpine.DEB.2.21.2204240106380.9383@angie.orcam.me.uk
parent 92067440
...@@ -203,7 +203,7 @@ sched_clock_register(u64 (*read)(void), int bits, unsigned long rate) ...@@ -203,7 +203,7 @@ sched_clock_register(u64 (*read)(void), int bits, unsigned long rate)
r = DIV_ROUND_CLOSEST(r, 1000000); r = DIV_ROUND_CLOSEST(r, 1000000);
r_unit = 'M'; r_unit = 'M';
} else { } else {
if (r >= 1000) { if (r >= 4000) {
r = DIV_ROUND_CLOSEST(r, 1000); r = DIV_ROUND_CLOSEST(r, 1000);
r_unit = 'k'; r_unit = 'k';
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment