Commit 1a80521990a0e30e61a92994a009adc52161b070

Authored by Jeff Dike
Committed by Linus Torvalds
1 parent 61b63c556c

uml: use *SEC_PER_*SEC constants

There are various uses of powers of 1000, plus the odd BILLION constant in the
time code.  However, there are perfectly good definitions of *SEC_PER_*SEC in
linux/time.h which can be used instaed.

These are replaced directly in kernel code.  Userspace code imports those
constants as UM_*SEC_PER_*SEC and uses these.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 5 changed files with 22 additions and 17 deletions Side-by-side Diff

arch/um/include/common-offsets.h
... ... @@ -34,4 +34,8 @@
34 34 DEFINE(UM_THREAD_SIZE, THREAD_SIZE);
35 35  
36 36 DEFINE(UM_HZ, HZ);
  37 +
  38 +DEFINE(UM_USEC_PER_SEC, USEC_PER_SEC);
  39 +DEFINE(UM_NSEC_PER_SEC, NSEC_PER_SEC);
  40 +DEFINE(UM_NSEC_PER_USEC, NSEC_PER_USEC);
arch/um/include/os.h
... ... @@ -249,8 +249,6 @@
249 249 extern void os_dump_core(void);
250 250  
251 251 /* time.c */
252   -#define BILLION (1000 * 1000 * 1000)
253   -
254 252 extern void idle_sleep(unsigned long long nsecs);
255 253 extern int set_interval(void);
256 254 extern int timer_one_shot(int ticks);
arch/um/kernel/time.c
... ... @@ -17,7 +17,7 @@
17 17 */
18 18 unsigned long long sched_clock(void)
19 19 {
20   - return (unsigned long long)jiffies_64 * (1000000000 / HZ);
  20 + return (unsigned long long)jiffies_64 * (NSEC_PER_SEC / HZ);
21 21 }
22 22  
23 23 void timer_handler(int sig, struct uml_pt_regs *regs)
... ... @@ -118,9 +118,10 @@
118 118 timer_init();
119 119  
120 120 nsecs = os_nsecs();
121   - set_normalized_timespec(&wall_to_monotonic, -nsecs / BILLION,
122   - -nsecs % BILLION);
123   - set_normalized_timespec(&xtime, nsecs / BILLION, nsecs % BILLION);
  121 + set_normalized_timespec(&wall_to_monotonic, -nsecs / NSEC_PER_SEC,
  122 + -nsecs % NSEC_PER_SEC);
  123 + set_normalized_timespec(&xtime, nsecs / NSEC_PER_SEC,
  124 + nsecs % NSEC_PER_SEC);
124 125 late_time_init = setup_itimer;
125 126 }
arch/um/os-Linux/skas/process.c
... ... @@ -294,8 +294,8 @@
294 294  
295 295 if (getitimer(ITIMER_VIRTUAL, &timer))
296 296 printk("Failed to get itimer, errno = %d\n", errno);
297   - nsecs = timer.it_value.tv_sec * BILLION +
298   - timer.it_value.tv_usec * 1000;
  297 + nsecs = timer.it_value.tv_sec * UM_NSEC_PER_SEC +
  298 + timer.it_value.tv_usec * UM_NSEC_PER_USEC;
299 299 nsecs += os_nsecs();
300 300  
301 301 while (1) {
... ... @@ -347,8 +347,10 @@
347 347 block_signals();
348 348 (*sig_info[sig])(sig, regs);
349 349 unblock_signals();
350   - nsecs = timer.it_value.tv_sec * BILLION +
351   - timer.it_value.tv_usec * 1000;
  350 + nsecs = timer.it_value.tv_sec *
  351 + UM_NSEC_PER_SEC +
  352 + timer.it_value.tv_usec *
  353 + UM_NSEC_PER_USEC;
352 354 nsecs += os_nsecs();
353 355 break;
354 356 case SIGIO:
... ... @@ -395,7 +397,7 @@
395 397  
396 398 int copy_context_skas0(unsigned long new_stack, int pid)
397 399 {
398   - struct timeval tv = { .tv_sec = 0, .tv_usec = 1000000 / UM_HZ };
  400 + struct timeval tv = { .tv_sec = 0, .tv_usec = UM_USEC_PER_SEC / UM_HZ };
399 401 int err;
400 402 unsigned long current_stack = current_stub_stack();
401 403 struct stub_data *data = (struct stub_data *) current_stack;
arch/um/os-Linux/time.c
... ... @@ -14,7 +14,7 @@
14 14  
15 15 int set_interval(void)
16 16 {
17   - int usec = 1000000/UM_HZ;
  17 + int usec = UM_USEC_PER_SEC / UM_HZ;
18 18 struct itimerval interval = ((struct itimerval) { { 0, usec },
19 19 { 0, usec } });
20 20  
21 21  
... ... @@ -26,11 +26,11 @@
26 26  
27 27 int timer_one_shot(int ticks)
28 28 {
29   - unsigned long usec = ticks * 1000000 / UM_HZ;
30   - unsigned long sec = usec / 1000000;
  29 + unsigned long usec = ticks * UM_USEC_PER_SEC / UM_HZ;
  30 + unsigned long sec = usec / UM_USEC_PER_SEC;
31 31 struct itimerval interval;
32 32  
33   - usec %= 1000000;
  33 + usec %= UM_USEC_PER_SEC;
34 34 interval = ((struct itimerval) { { 0, 0 }, { sec, usec } });
35 35  
36 36 if (setitimer(ITIMER_VIRTUAL, &interval, NULL) == -1)
... ... @@ -78,8 +78,8 @@
78 78  
79 79 void idle_sleep(unsigned long long nsecs)
80 80 {
81   - struct timespec ts = { .tv_sec = nsecs / BILLION,
82   - .tv_nsec = nsecs % BILLION };
  81 + struct timespec ts = { .tv_sec = nsecs / UM_NSEC_PER_SEC,
  82 + .tv_nsec = nsecs % UM_NSEC_PER_SEC };
83 83  
84 84 if (nanosleep(&ts, &ts) == 0)
85 85 alarm_handler(SIGVTALRM, NULL);