From owner-svn-src-user@FreeBSD.ORG Thu May 1 13:54:52 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9045ABE9; Thu, 1 May 2014 13:54:52 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7DA991DBD; Thu, 1 May 2014 13:54:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s41Dsq2Y069835; Thu, 1 May 2014 13:54:52 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s41DspxN069831; Thu, 1 May 2014 13:54:51 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201405011354.s41DspxN069831@svn.freebsd.org> From: Dmitry Chagin Date: Thu, 1 May 2014 13:54:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r265181 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 May 2014 13:54:52 -0000 Author: dchagin Date: Thu May 1 13:54:51 2014 New Revision: 265181 URL: http://svnweb.freebsd.org/changeset/base/265181 Log: Add more KTR records to linux for debug threading. Modified: user/dchagin/lemul/sys/compat/linux/linux_emul.c user/dchagin/lemul/sys/compat/linux/linux_fork.c user/dchagin/lemul/sys/compat/linux/linux_futex.c user/dchagin/lemul/sys/compat/linux/linux_util.h Modified: user/dchagin/lemul/sys/compat/linux/linux_emul.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_emul.c Thu May 1 13:52:14 2014 (r265180) +++ user/dchagin/lemul/sys/compat/linux/linux_emul.c Thu May 1 13:54:51 2014 (r265181) @@ -133,10 +133,14 @@ linux_proc_init(struct thread *td, struc em->robust_futexes = NULL; if (flags & LINUX_CLONE_THREAD) { LIN_SDT_PROBE0(emul, proc_init, create_thread); + LINUX_CTR1(proc_init, "thread newtd(%d)", + newtd->td_tid); em->em_tid = newtd->td_tid; } else { LIN_SDT_PROBE0(emul, proc_init, fork); + LINUX_CTR1(proc_init, "fork newtd(%d)", + newtd->td_proc->p_pid); em->em_tid = newtd->td_proc->p_pid; } @@ -144,6 +148,8 @@ linux_proc_init(struct thread *td, struc } else { /* exec */ LIN_SDT_PROBE0(emul, proc_init, exec); + LINUX_CTR1(proc_init, "exec newtd(%d)", + td->td_proc->p_pid); /* lookup the old one */ em = em_find(td); Modified: user/dchagin/lemul/sys/compat/linux/linux_fork.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_fork.c Thu May 1 13:52:14 2014 (r265180) +++ user/dchagin/lemul/sys/compat/linux/linux_fork.c Thu May 1 13:54:51 2014 (r265181) @@ -230,6 +230,10 @@ linux_clone_proc(struct thread *td, stru exit_signal); #endif + LINUX_CTR4(clone, "thread(%d): successful rfork to %d, " + "stack %p sig = %d", td->td_tid, (int)p2->p_pid, + args->stack, exit_signal); + if (args->flags & LINUX_CLONE_VFORK) { PROC_LOCK(p2); p2->p_flag |= P_PPWAIT; Modified: user/dchagin/lemul/sys/compat/linux/linux_futex.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_futex.c Thu May 1 13:52:14 2014 (r265180) +++ user/dchagin/lemul/sys/compat/linux/linux_futex.c Thu May 1 13:54:51 2014 (r265181) @@ -809,6 +809,10 @@ linux_sys_futex(struct thread *td, struc LIN_SDT_PROBE0(futex, linux_sys_futex, invalid_cmp_requeue_use); LIN_SDT_PROBE1(futex, linux_sys_futex, return, EINVAL); + + LINUX_CTR2(sys_futex, "CMP_REQUEUE second %p eq first %p", + args->uaddr2, args->uaddr); + return (EINVAL); } @@ -828,6 +832,8 @@ linux_sys_futex(struct thread *td, struc error = futex_get(args->uaddr2, NULL, &f2, flags | FUTEX_DONTEXISTS); if (error) { + LINUX_CTR2(sys_futex, "CMP_REQUEUE second %p exists %d", + args->uaddr2, error); futex_put(f, NULL); LIN_SDT_PROBE1(futex, linux_sys_futex, return, error); Modified: user/dchagin/lemul/sys/compat/linux/linux_util.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_util.h Thu May 1 13:52:14 2014 (r265180) +++ user/dchagin/lemul/sys/compat/linux/linux_util.h Thu May 1 13:54:51 2014 (r265181) @@ -115,9 +115,8 @@ void linux_free_get_char_devices(char *s #define LINUX_CTRFMT(nm, fmt) #nm"("fmt")" #define LINUX_CTR6(f, m, p1, p2, p3, p4, p5, p6) do { \ - if (ldebug(f)) \ - CTR6(KTR_LINUX, LINUX_CTRFMT(f, m), \ - p1, p2, p3, p4, p5, p6); \ + CTR6(KTR_LINUX, LINUX_CTRFMT(f, m), \ + p1, p2, p3, p4, p5, p6); \ } while (0) #define LINUX_CTR(f) LINUX_CTR6(f, "", 0, 0, 0, 0, 0, 0)