Commit 1a80521990a0e30e61a92994a009adc52161b070
Committed by
Linus Torvalds
1 parent
61b63c556c
Exists in
master
and in
39 other branches
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
arch/um/include/os.h
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); |