Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Mar 2016 17:28:30 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r296731 - stable/10/sys/kern
Message-ID:  <201603121728.u2CHSU5f042164@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Sat Mar 12 17:28:30 2016
New Revision: 296731
URL: https://svnweb.freebsd.org/changeset/base/296731

Log:
  MFC r295391:
  Remove the assert which outlived its usefulness.

Modified:
  stable/10/sys/kern/kern_proc.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/kern/kern_proc.c
==============================================================================
--- stable/10/sys/kern/kern_proc.c	Sat Mar 12 17:25:33 2016	(r296730)
+++ stable/10/sys/kern/kern_proc.c	Sat Mar 12 17:28:30 2016	(r296731)
@@ -2908,6 +2908,12 @@ static SYSCTL_NODE(_kern_proc, KERN_PROC
 
 int allproc_gen;
 
+/*
+ * stop_all_proc() purpose is to stop all process which have usermode,
+ * except current process for obvious reasons.  This makes it somewhat
+ * unreliable when invoked from multithreaded process.  The service
+ * must not be user-callable anyway.
+ */
 void
 stop_all_proc(void)
 {
@@ -2916,17 +2922,6 @@ stop_all_proc(void)
 	bool restart, seen_stopped, seen_exiting, stopped_some;
 
 	cp = curproc;
-	/*
-	 * stop_all_proc() assumes that all process which have
-	 * usermode must be stopped, except current process, for
-	 * obvious reasons.  Since other threads in the process
-	 * establishing global stop could unstop something, disable
-	 * calls from multithreaded processes as precaution.  The
-	 * service must not be user-callable anyway.
-	 */
-	KASSERT((cp->p_flag & P_HADTHREADS) == 0 ||
-	    (cp->p_flag & P_KTHREAD) != 0, ("mt stop_all_proc"));
-
 allproc_loop:
 	sx_xlock(&allproc_lock);
 	gen = allproc_gen;
@@ -3013,7 +3008,7 @@ resume_all_proc(void)
 	sx_xunlock(&allproc_lock);
 }
 
-#define	TOTAL_STOP_DEBUG	1
+/* #define	TOTAL_STOP_DEBUG	1 */
 #ifdef TOTAL_STOP_DEBUG
 volatile static int ap_resume;
 #include <sys/mount.h>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201603121728.u2CHSU5f042164>