Author: mjg
Date: Sat Nov 11 18:03:26 2017
New Revision: 325720
URL: https://svnweb.freebsd.org/changeset/base/325720

Log:
  Avoid allproc lock in pfind if curproc->pid == pid

Modified:
  head/sys/kern/kern_proc.c

Modified: head/sys/kern/kern_proc.c
==============================================================================
--- head/sys/kern/kern_proc.c   Sat Nov 11 18:02:23 2017        (r325719)
+++ head/sys/kern/kern_proc.c   Sat Nov 11 18:03:26 2017        (r325720)
@@ -342,6 +342,11 @@ pfind(pid_t pid)
 {
        struct proc *p;
 
+       p = curproc;
+       if (p->p_pid == pid) {
+               PROC_LOCK(p);
+               return (p);
+       }
        sx_slock(&allproc_lock);
        p = pfind_locked(pid);
        sx_sunlock(&allproc_lock);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to