Hi, The ptrace misses clearing the syscall trace flag. The increased syscall overhead is retained after the trace is finished. This case happens when strace is terminated by force. Thanks, Akiyama Signed-off-by: Akiyama, Nobuyuki <akiyama.nobuyuk@xxxxxxxxxxxxxx> --- diff -Nurp linux-2.6.21-rc1.orig/arch/ia64/kernel/ptrace.c linux-2.6.21-rc1.mod/arch/ia64/kernel/ptrace.c --- linux-2.6.21-rc1.orig/arch/ia64/kernel/ptrace.c 2007-02-22 17:15:38.000000000 +0900 +++ linux-2.6.21-rc1.mod/arch/ia64/kernel/ptrace.c 2007-02-22 22:12:50.000000000 +0900 @@ -1573,6 +1573,7 @@ sys_ptrace (long request, pid_t pid, uns case PTRACE_DETACH: /* detach a process that was attached. */ + clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); ret = ptrace_detach(child, data); goto out_tsk; - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |