[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>
This commit is contained in:
Родитель
ab1c23c244
Коммит
640aa46e25
|
@ -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
|
||||||
|
|
Загрузка…
Ссылка в новой задаче