android_kernel_xiaomi_sm8350/arch/um/kernel
Paolo 'Blaisorblade' Giarrusso 972410b023 [PATCH] uml: clean arch_switch usage
Call arch_switch also in switch_to_skas, even if it's, for now, a no-op for
that case (and mark this in the comment); this will change soon.

Also, arch_switch for TT mode is actually useless when the PT proxy (a
complicate debugging instrumentation for TT mode) is not enabled.  In fact, it
only calls update_debugregs, which checks debugregs_seq against seq (to check
if the registers are up-to-date - seq here means a "version number" of the
registers).

If the ptrace proxy is not enabled, debugregs_seq always stays 0 and
update_debugregs will be a no-op.  So, optimize this out (the compiler can't
do it).

Also, I've been disappointed by the fact that it would make a lot of sense if,
after calling a successful
update_debugregs(current->thread.arch.debugregs_seq),
current->thread.arch.debugregs_seq were updated with the new debugregs_seq.
But this is not done.  Is this a bug or a feature?  For all purposes, it seems
a bug (otherwise the whole mechanism does not make sense, which is also a
possibility to check), which causes some performance only problems (not
correctness), since we write_debugregs when not needed.

Also, as suggested by Jeff, remove a redundant enabling of SIGVTALRM,
comprised in the subsequent local_irq_enable().  I'm just a bit dubious if
ordering matters there...

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Acked-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-31 12:18:52 -08:00
..
skas [PATCH] uml: clean arch_switch usage 2006-03-31 12:18:52 -08:00
tt [PATCH] uml: clean arch_switch usage 2006-03-31 12:18:52 -08:00
asm-offsets.c [PATCH] uml: fix missing KBUILD_BASENAME 2006-01-11 18:42:09 -08:00
config.c.in
dyn.lds.S
exec_kern.c [PATCH] uml: sparse cleanups 2006-03-31 12:18:51 -08:00
exitcode.c
gmon_syms.c
gprof_syms.c
init_task.c
initrd.c
irq.c [PATCH] uml: merge irq_user.c and irq.c 2006-03-27 08:44:37 -08:00
ksyms.c [PATCH] uml: separate libc-dependent helper code 2005-11-07 07:53:31 -08:00
Makefile [PATCH] uml: move tty logging to os-Linux 2006-03-27 08:44:38 -08:00
mem.c [PATCH] uml: redeclare highmem 2006-03-31 12:18:50 -08:00
physmem.c [PATCH] unify PFN_* macros 2006-03-27 08:44:48 -08:00
process_kern.c [PATCH] uml: idle thread needn't take access to init_mm 2006-03-31 12:18:51 -08:00
ptrace.c [PATCH] uml: sparse cleanups 2006-03-31 12:18:51 -08:00
reboot.c [PATCH] uml: avoid "CONFIG_NR_CPUS undeclared" bogus error messages 2006-02-01 08:53:23 -08:00
resource.c
sigio_kern.c [PATCH] uml: move SIGIO startup code to os-Linux/start_up.c 2006-03-27 08:44:38 -08:00
signal_kern.c [PATCH] uml: use generic sys_rt_sigsuspend 2006-01-18 19:20:30 -08:00
smp.c [PATCH] pidhash: don't count idle threads 2006-03-28 18:36:41 -08:00
syscall_kern.c [PATCH] uml: sparse cleanups 2006-03-31 12:18:51 -08:00
syscall.c [PATCH] uml: move libc-dependent time code 2006-01-18 19:20:19 -08:00
sysrq.c [PATCH] uml: Fix sysrq-r support for skas mode 2005-10-04 13:22:01 -07:00
time_kern.c [PATCH] uml: TT mode softint fixes 2006-01-18 19:20:20 -08:00
time.c [PATCH] hrtimer: convert posix timers completely 2006-01-10 08:01:39 -08:00
tlb.c
trap_kern.c [PATCH] uml: sparse cleanups 2006-03-31 12:18:51 -08:00
uaccess.c [PATCH] uml: separate libc-dependent uaccess code 2005-11-07 07:53:31 -08:00
um_arch.c [PATCH] Notifier chain update: API changes 2006-03-27 08:44:50 -08:00
umid.c [PATCH] uml: umid cleanup 2006-01-06 08:33:47 -08:00
uml.lds.S
vmlinux.lds.S