linux-stable/arch/um/kernel
Jeff Dike 181bde801a uml: fix timer switching
Fix up the switching between virtual and real timers.  The idle loop sleeps,
so the timer at that point must be real time.  At all other times, the timer
must be virtual.  Even when userspace is running, and the kernel is asleep,
the virtual timer is correct because the process timer will be running and the
process timer will be firing.

The timer switch used to be in the context switch and timer handler code.
This is moved to the idle loop and the signal handler, making it much more
clear why it is happening.

switch_timers now returns the old timer type so that it may be restored.  The
signal handler uses this in order to restore the previous timer type when it
returns.

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>
2007-10-16 09:43:08 -07:00
..
skas uml: remove os_* usage from userspace files 2007-10-16 09:43:06 -07:00
asm-offsets.c [PATCH] uml: fix missing KBUILD_BASENAME 2006-01-11 18:42:09 -08:00
config.c.in Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dyn.lds.S uml: throw out CONFIG_MODE_TT 2007-10-16 09:43:05 -07:00
exec.c uml: fold mmu_context_skas into mm_context 2007-10-16 09:43:06 -07:00
exitcode.c uml: get declaration of simple_strtoul 2007-06-08 17:23:33 -07:00
gmon_syms.c [PATCH] uml: fix gcov support 2006-09-27 08:26:16 -07:00
gprof_syms.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
init_task.c uml: style fixes pass 1 2007-10-16 09:43:05 -07:00
initrd.c uml: rename os_{read_write}_file_k back to os_{read_write}_file 2007-05-07 12:13:03 -07:00
irq.c uml: style fixes pass 3 2007-10-16 09:43:05 -07:00
ksyms.c uml: userspace files should call libc directly 2007-10-16 09:43:06 -07:00
Makefile uml: style fixes pass 1 2007-10-16 09:43:05 -07:00
mem.c uml: get rid of do_longjmp 2007-10-16 09:43:05 -07:00
physmem.c uml: userspace files should call libc directly 2007-10-16 09:43:06 -07:00
process.c uml: fix timer switching 2007-10-16 09:43:08 -07:00
ptrace.c uml: style fixes in FP code 2007-10-16 09:43:07 -07:00
reboot.c uml: fold mmu_context_skas into mm_context 2007-10-16 09:43:06 -07:00
sigio.c uml: rename os_{read_write}_file_k back to os_{read_write}_file 2007-05-07 12:13:03 -07:00
signal.c uml: style fixes pass 3 2007-10-16 09:43:05 -07:00
smp.c uml: style fixes pass 1 2007-10-16 09:43:05 -07:00
syscall.c uml: style fixes pass 3 2007-10-16 09:43:05 -07:00
sysrq.c uml: remove user_util.h 2007-05-07 12:13:01 -07:00
time.c uml: eliminate hz() 2007-10-16 09:43:08 -07:00
tlb.c uml: clean up tlb flush path 2007-10-16 09:43:06 -07:00
trap.c uml: get rid of do_longjmp 2007-10-16 09:43:05 -07:00
uaccess.c uml: get rid of do_longjmp 2007-10-16 09:43:05 -07:00
um_arch.c uml: style fixes pass 3 2007-10-16 09:43:05 -07:00
umid.c [PATCH] uml: umid tidying 2007-02-11 10:51:24 -08:00
uml.lds.S uml: throw out CONFIG_MODE_TT 2007-10-16 09:43:05 -07:00
vmlinux.lds.S [PATCH] uml: tidy biarch gcc support 2006-07-14 21:53:52 -07:00