um: fix global timer issue when using CONFIG_NO_HZ
This fixes a issue which was introduced by fe2cc53e
("uml: track and make
up lost ticks").
timeval_to_ns() returns long long and not int. Due to that UML's timer
did not work properlt and caused timer freezes.
Signed-off-by: Richard Weinberger <richard@nod.at>
Acked-by: Pekka Enberg <penberg@kernel.org>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
b7f50cfa36
commit
482db6df17
|
@ -60,7 +60,7 @@ static inline long long timeval_to_ns(const struct timeval *tv)
|
||||||
long long disable_timer(void)
|
long long disable_timer(void)
|
||||||
{
|
{
|
||||||
struct itimerval time = ((struct itimerval) { { 0, 0 }, { 0, 0 } });
|
struct itimerval time = ((struct itimerval) { { 0, 0 }, { 0, 0 } });
|
||||||
int remain, max = UM_NSEC_PER_SEC / UM_HZ;
|
long long remain, max = UM_NSEC_PER_SEC / UM_HZ;
|
||||||
|
|
||||||
if (setitimer(ITIMER_VIRTUAL, &time, &time) < 0)
|
if (setitimer(ITIMER_VIRTUAL, &time, &time) < 0)
|
||||||
printk(UM_KERN_ERR "disable_timer - setitimer failed, "
|
printk(UM_KERN_ERR "disable_timer - setitimer failed, "
|
||||||
|
|
Loading…
Reference in New Issue