diff mbox

Remove CLOCK_TICK_RATE from ACTHZ definition

Message ID 20110804000046.GA23503@plexity.net
State New
Headers show

Commit Message

dsaxena-linaro2 Aug. 4, 2011, midnight UTC
As per https://lkml.org/lkml/2011/2/21/323, we remove
CLOCK_TICK_RATE from the definition of ACTHZ as the
majority of CLOCK_TICK_RATE values are no longer valid
or needed for proper operation of the time code.

Signed-off-by: Deepak Saxena <dsaxena@linaro.org>
---
 include/linux/jiffies.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

john stultz Aug. 5, 2011, 10:21 a.m. UTC | #1
On Wed, 2011-08-03 at 17:00 -0700, Deepak Saxena wrote:
> As per https://lkml.org/lkml/2011/2/21/323, we remove
> CLOCK_TICK_RATE from the definition of ACTHZ as the
> majority of CLOCK_TICK_RATE values are no longer valid
> or needed for proper operation of the time code.
> 
> Signed-off-by: Deepak Saxena <dsaxena@linaro.org>
> ---
>  include/linux/jiffies.h |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h
> index f97672a..d232f00 100644
> --- a/include/linux/jiffies.h
> +++ b/include/linux/jiffies.h
> @@ -55,7 +55,7 @@
>                               + ((((NOM) % (DEN)) << (LSH)) + (DEN) / 2) / (DEN))
> 
>  /* HZ is the requested value. ACTHZ is actual HZ ("<< 8" is for accuracy) */
> -#define ACTHZ (SH_DIV (CLOCK_TICK_RATE, LATCH, 8))
> +#define ACTHZ (HZ << 8)
> 
>  /* TICK_NSEC is the time between ticks in nsec assuming real ACTHZ */
>  #define TICK_NSEC (SH_DIV (1000000UL * 1000, ACTHZ, 8))

So I'm hesitant about this patch, since the whole point of ACTHZ is to
provide a higher precision value for the actual irq frequency (as
hardware won't be able to do exactly 100/250/300/1000HZ).

One could argue that with highres timers, jiffies is usually updated by
the timekeeping code, which for the most part isn't affected by irq freq
error. So we could reasonably forgo this minor error correction, only
hurting systems that use the jiffies clocksource, or require
ARCH_USES_GETTIMEOFFSET.

However, we would probably want to kill off all the ACTHZ usage as well
since we're at that point gaining nothing from the extra complexity.

thanks
-john
diff mbox

Patch

diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h
index f97672a..d232f00 100644
--- a/include/linux/jiffies.h
+++ b/include/linux/jiffies.h
@@ -55,7 +55,7 @@ 
                              + ((((NOM) % (DEN)) << (LSH)) + (DEN) / 2) / (DEN))
 
 /* HZ is the requested value. ACTHZ is actual HZ ("<< 8" is for accuracy) */
-#define ACTHZ (SH_DIV (CLOCK_TICK_RATE, LATCH, 8))
+#define ACTHZ (HZ << 8)
 
 /* TICK_NSEC is the time between ticks in nsec assuming real ACTHZ */
 #define TICK_NSEC (SH_DIV (1000000UL * 1000, ACTHZ, 8))