Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Feb 2012 15:50:56 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 205637 for review
Message-ID:  <201202031550.q13FouDw006719@skunkworks.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@205637?ac=10

Change 205637 by jhb@jhb_jhbbsd on 2012/02/03 15:50:53

	Revert these hacks as they are superseded by the SCHEDULER_STOPPED
	stuff in HEAD.

Affected files ...

.. //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#55 edit
.. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#103 edit
.. //depot/projects/smpng/sys/kern/kern_mutex.c#162 edit

Differences ...

==== //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#55 (text+ko) ====

@@ -515,7 +515,6 @@
 {
 	cpuset_t tcrp;
 
-	disable_intr();
 	cpu_reset_proxy_active = 1;
 	while (cpu_reset_proxy_active == 1)
 		;	/* Wait for other cpu to see that we've started */
@@ -534,7 +533,6 @@
 	cpuset_t map;
 	u_int cnt;
 
-	disable_intr();
 	if (smp_active) {
 		map = all_cpus;
 		CPU_CLR(PCPU_GET(cpuid), &map);

==== //depot/projects/smpng/sys/i386/i386/vm_machdep.c#103 (text+ko) ====

@@ -575,7 +575,6 @@
 {
 	cpuset_t tcrp;
 
-	disable_intr();
 	cpu_reset_proxy_active = 1;
 	while (cpu_reset_proxy_active == 1)
 		;	/* Wait for other cpu to see that we've started */
@@ -602,7 +601,6 @@
 	cpuset_t map;
 	u_int cnt;
 
-	disable_intr();
 	if (smp_active) {
 		map = all_cpus;
 		CPU_CLR(PCPU_GET(cpuid), &map);

==== //depot/projects/smpng/sys/kern/kern_mutex.c#162 (text+ko) ====

@@ -349,15 +349,6 @@
 		return;
 	}
 
-	/*
-	 * If we have already panic'd and this is the thread that called
-	 * panic(), then don't block on any mutexes but silently succeed.
-	 * Otherwise, the kernel will deadlock since the scheduler isn't
-	 * going to run the thread that holds the lock we need.
-	 */
-	if (panicstr != NULL && curthread->td_flags & TDF_INPANIC)
-		return;
-
 	lock_profile_obtain_lock_failed(&m->lock_object,
 		    &contested, &waittime);
 	if (LOCK_LOG_TEST(&m->lock_object, opts))
@@ -674,15 +665,6 @@
 	}
 
 	/*
-	 * If we failed to unlock this lock and we are a thread that has
-	 * called panic(), it may be due to the bypass in _mtx_lock_sleep()
-	 * above.  In that case, just return and leave the lock alone to
-	 * avoid changing the state.
-	 */
-	if (panicstr != NULL && curthread->td_flags & TDF_INPANIC)
-		return;
-
-	/*
 	 * We have to lock the chain before the turnstile so this turnstile
 	 * can be removed from the hash list if it is empty.
 	 */



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