aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>2005-09-03 15:57:22 -0700
committerLinus Torvalds <torvalds@evo.osdl.org>2005-09-05 00:06:20 -0700
commit640aa46e25922a00b805e6b0d0b5181ad9cf736a (patch)
treeb8551775b41651905d7de27331eea1dd92c0c4d2
parentab1c23c24471c760c573f4fb0dd78e166ddfd844 (diff)
[PATCH] uml: SYSEMU: slight cleanup and speedup
As a follow-up to "UML Support - Ptrace: adds the host SYSEMU support, for UML and general usage" (i.e. uml-support-* in current mm). Avoid unconditionally jumping to work_pending and code copying, just reuse the already existing resume_userspace path. One interesting note, from Charles P. Wright, suggested that the API is improvable with no downsides for UML (except that it will have to support yet another host API, since dropping support for the current API, for UML, is not reasonable from users' point of view). Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> CC: Charles P. Wright <cwright@cs.sunysb.edu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/i386/kernel/entry.S8
1 files changed, 1 insertions, 7 deletions
diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S
index 9a47723469c..abb909793ef 100644
--- a/arch/i386/kernel/entry.S
+++ b/arch/i386/kernel/entry.S
@@ -339,18 +339,12 @@ syscall_trace_entry:
xorl %edx,%edx
call do_syscall_trace
cmpl $0, %eax
- jne syscall_skip # ret != 0 -> running under PTRACE_SYSEMU,
+ jne resume_userspace # ret != 0 -> running under PTRACE_SYSEMU,
# so must skip actual syscall
movl ORIG_EAX(%esp), %eax
cmpl $(nr_syscalls), %eax
jnae syscall_call
jmp syscall_exit
-syscall_skip:
- cli # make sure we don't miss an interrupt
- # setting need_resched or sigpending
- # between sampling and the iret
- movl TI_flags(%ebp), %ecx
- jmp work_pending
# perform syscall exit tracing
ALIGN