浏览代码

[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>
Paolo 'Blaisorblade' Giarrusso 19 年之前
父节点
当前提交
640aa46e25
共有 1 个文件被更改,包括 1 次插入7 次删除
  1. 1 7
      arch/i386/kernel/entry.S

+ 1 - 7
arch/i386/kernel/entry.S

@@ -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