Commit 640aa46e authored by Paolo 'Blaisorblade' Giarrusso's avatar Paolo 'Blaisorblade' Giarrusso Committed by Linus Torvalds

[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: default avatarPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
CC: Charles P. Wright <cwright@cs.sunysb.edu>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent ab1c23c2
...@@ -339,18 +339,12 @@ syscall_trace_entry: ...@@ -339,18 +339,12 @@ syscall_trace_entry:
xorl %edx,%edx xorl %edx,%edx
call do_syscall_trace call do_syscall_trace
cmpl $0, %eax 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 # so must skip actual syscall
movl ORIG_EAX(%esp), %eax movl ORIG_EAX(%esp), %eax
cmpl $(nr_syscalls), %eax cmpl $(nr_syscalls), %eax
jnae syscall_call jnae syscall_call
jmp syscall_exit 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 # perform syscall exit tracing
ALIGN ALIGN
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment