summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndrew Morton <akpm@digeo.com>2003-06-20 08:13:39 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2003-06-20 08:13:39 -0700
commit660a73583d38e35da377963eaa7657104ed758c1 (patch)
treef2fb3b2afe18b7897f40bb844986c3496116335f /include
parentb3cc42df5364fbd1bbb888f65d5aa6b1683520d9 (diff)
[PATCH] revert adjtimex changes
From: John Stultz, George Anzinger, Eric Piel There was confusion over the definition of TICK_USEC. TICK_USEC is supposed to be based on USER_HZ, however a recent change caused TICK_USEC to be based on HZ. This broke the adjtimex() interface on systems where USER_HZ != HZ. This patch reverts the change to TICK_USEC, removes an added mis-use of the value and fixes some incorrect comments that could lead to this sort of confusion. Also this patch resolves the related LTP adjtimex failures.
Diffstat (limited to 'include')
-rw-r--r--include/asm-i386/mach-pc9800/setup_arch_pre.h4
-rw-r--r--include/linux/time.h3
-rw-r--r--include/linux/timex.h2
3 files changed, 5 insertions, 4 deletions
diff --git a/include/asm-i386/mach-pc9800/setup_arch_pre.h b/include/asm-i386/mach-pc9800/setup_arch_pre.h
index 47d5f0c7c140..bd53bddd6956 100644
--- a/include/asm-i386/mach-pc9800/setup_arch_pre.h
+++ b/include/asm-i386/mach-pc9800/setup_arch_pre.h
@@ -25,8 +25,8 @@ static inline void arch_setup_pc9800(void)
{
CLOCK_TICK_RATE = PC9800_8MHz_P() ? 1996800 : 2457600;
printk(KERN_DEBUG "CLOCK_TICK_RATE = %d\n", CLOCK_TICK_RATE);
- tick_usec = TICK_USEC; /* ACTHZ period (usec) */
- tick_nsec = TICK_NSEC; /* USER_HZ period (nsec) */
+ tick_usec = TICK_USEC; /* USER_HZ period (usec) */
+ tick_nsec = TICK_NSEC; /* ACTHZ period (nsec) */
pc9800_misc_flags = PC9800_MISC_FLAGS;
#ifdef CONFIG_SMP
diff --git a/include/linux/time.h b/include/linux/time.h
index 12d0a89a4ee9..e739d8128253 100644
--- a/include/linux/time.h
+++ b/include/linux/time.h
@@ -130,7 +130,8 @@ static __inline__ unsigned long
timeval_to_jiffies(struct timeval *value)
{
unsigned long sec = value->tv_sec;
- long usec = value->tv_usec + TICK_USEC - 1;
+ long usec = value->tv_usec
+ + ((TICK_NSEC + 1000UL/2) / 1000UL) - 1;
if (sec >= MAX_SEC_IN_JIFFIES){
sec = MAX_SEC_IN_JIFFIES;
diff --git a/include/linux/timex.h b/include/linux/timex.h
index 593cdf411500..2b1665d57ad0 100644
--- a/include/linux/timex.h
+++ b/include/linux/timex.h
@@ -176,7 +176,7 @@
#define TICK_NSEC (SH_DIV (1000000UL * 1000, ACTHZ, 8))
/* TICK_USEC is the time between ticks in usec assuming fake USER_HZ */
-#define TICK_USEC ((TICK_NSEC + 1000UL/2) / 1000UL)
+#define TICK_USEC ((1000000UL + USER_HZ/2) / USER_HZ)
/* TICK_USEC_TO_NSEC is the time between ticks in nsec assuming real ACTHZ and */
/* a value TUSEC for TICK_USEC (can be set bij adjtimex) */