Module Name:    src
Committed By:   rmind
Date:           Fri Jun  4 23:02:18 UTC 2010

Modified Files:
        src/sys/kern: kern_proc.c

Log Message:
proc_alloc: move kdtrace_proc_ctor() out of the proc_lock.


To generate a diff of this commit:
cvs rdiff -u -r1.163 -r1.164 src/sys/kern/kern_proc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/kern_proc.c
diff -u src/sys/kern/kern_proc.c:1.163 src/sys/kern/kern_proc.c:1.164
--- src/sys/kern/kern_proc.c:1.163	Fri Feb 26 18:47:13 2010
+++ src/sys/kern/kern_proc.c	Fri Jun  4 23:02:18 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_proc.c,v 1.163 2010/02/26 18:47:13 jym Exp $	*/
+/*	$NetBSD: kern_proc.c,v 1.164 2010/06/04 23:02:18 rmind Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -62,7 +62,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_proc.c,v 1.163 2010/02/26 18:47:13 jym Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_proc.c,v 1.164 2010/06/04 23:02:18 rmind Exp $");
 
 #include "opt_kstack.h"
 #include "opt_maxuprc.h"
@@ -444,9 +444,8 @@
 	mutex_init(&p->p_sigacts->sa_mutex, MUTEX_DEFAULT, IPL_SCHED);
 	siginit(p);
 
-	kdtrace_proc_ctor(NULL, p);
-
 	proc_initspecific(p);
+	kdtrace_proc_ctor(NULL, p);
 	lwp_initspecific(l);
 
 	SYSCALL_TIME_LWP_INIT(l);
@@ -684,7 +683,7 @@
 	p->p_stat = SIDL;			/* protect against others */
 
 	proc_initspecific(p);
-	/* allocate next free pid */
+	kdtrace_proc_ctor(NULL, p);
 
 	for (;;expand_pid_table()) {
 		if (__predict_false(pid_alloc_cnt >= pid_alloc_lim))
@@ -713,9 +712,6 @@
 	/* Grab table slot */
 	pt->pt_proc = p;
 	pid_alloc_cnt++;
-
-	kdtrace_proc_ctor(NULL, p);
-
 	mutex_exit(proc_lock);
 
 	return p;

Reply via email to