Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Apr 2018 06:13:41 +0000 (UTC)
From:      Andriy Gapon <avg@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: r332757 - in stable/10/sys: amd64/amd64 i386/i386
Message-ID:  <201804190613.w3J6DfXa081869@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: avg
Date: Thu Apr 19 06:13:41 2018
New Revision: 332757
URL: https://svnweb.freebsd.org/changeset/base/332757

Log:
  MFC r331874: x86 cpu_reset_proxy: no need to stop_cpus() the original processor

Modified:
  stable/10/sys/amd64/amd64/vm_machdep.c
  stable/10/sys/i386/i386/vm_machdep.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/amd64/amd64/vm_machdep.c
==============================================================================
--- stable/10/sys/amd64/amd64/vm_machdep.c	Thu Apr 19 06:09:10 2018	(r332756)
+++ stable/10/sys/amd64/amd64/vm_machdep.c	Thu Apr 19 06:13:41 2018	(r332757)
@@ -571,14 +571,11 @@ cpu_set_user_tls(struct thread *td, void *tls_base)
 static void
 cpu_reset_proxy()
 {
-	cpuset_t tcrp;
 
 	cpu_reset_proxy_active = 1;
 	while (cpu_reset_proxy_active == 1)
 		ia32_pause(); /* Wait for other cpu to see that we've started */
 
-	CPU_SETOF(cpu_reset_proxyid, &tcrp);
-	stop_cpus(tcrp);
 	printf("cpu_reset_proxy: Stopped CPU %d\n", cpu_reset_proxyid);
 	DELAY(1000000);
 	cpu_reset_real();
@@ -618,7 +615,6 @@ cpu_reset()
 			}
 			if (cpu_reset_proxy_active == 0)
 				printf("cpu_reset: Failed to restart BSP\n");
-			enable_intr();
 			cpu_reset_proxy_active = 2;
 
 			while (1)

Modified: stable/10/sys/i386/i386/vm_machdep.c
==============================================================================
--- stable/10/sys/i386/i386/vm_machdep.c	Thu Apr 19 06:09:10 2018	(r332756)
+++ stable/10/sys/i386/i386/vm_machdep.c	Thu Apr 19 06:13:41 2018	(r332757)
@@ -645,14 +645,11 @@ kvtop(void *addr)
 static void
 cpu_reset_proxy()
 {
-	cpuset_t tcrp;
 
 	cpu_reset_proxy_active = 1;
 	while (cpu_reset_proxy_active == 1)
 		ia32_pause(); /* Wait for other cpu to see that we've started */
 
-	CPU_SETOF(cpu_reset_proxyid, &tcrp);
-	stop_cpus(tcrp);
 	printf("cpu_reset_proxy: Stopped CPU %d\n", cpu_reset_proxyid);
 	DELAY(1000000);
 	cpu_reset_real();
@@ -700,7 +697,6 @@ cpu_reset()
 			}
 			if (cpu_reset_proxy_active == 0)
 				printf("cpu_reset: Failed to restart BSP\n");
-			enable_intr();
 			cpu_reset_proxy_active = 2;
 
 			while (1)



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