PERFORCE change 100082 for review

Kip Macy kmacy at FreeBSD.org
Mon Jun 26 20:14:14 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=100082

Change 100082 by kmacy at kmacy_storage:sun4v_work_sleepq on 2006/06/26 18:47:29

	undo locking changes from 99969 as it causes an LOR
	a real fix for the locking overhead in sleepq would require a re-write

Affected files ...

.. //depot/projects/kmacy_sun4v/src/sys/kern/kern_synch.c#10 edit
.. //depot/projects/kmacy_sun4v/src/sys/kern/sys_generic.c#6 edit
.. //depot/projects/kmacy_sun4v/src/sys/kern/vfs_subr.c#8 edit

Differences ...

==== //depot/projects/kmacy_sun4v/src/sys/kern/kern_synch.c#10 (text+ko) ====

@@ -159,9 +159,7 @@
 	 * sleeps.
 	 */
 	if (TD_ON_SLEEPQ(td)) {
-		TD_SLOCK(td);
 		sleepq_remove(td, td->td_wchan);
-		TD_SUNLOCK(td);
 	}
 	flags = SLEEPQ_MSLEEP;
 	if (catch)

==== //depot/projects/kmacy_sun4v/src/sys/kern/sys_generic.c#6 (text+ko) ====

@@ -1136,12 +1136,10 @@
 	}
 	TAILQ_REMOVE(&td->td_selq, sip, si_thrlist);
 	sip->si_thread = NULL;
-	mtx_unlock(&sellock);
 
 	atomic_clear_int(&td->td_flags, TDF_SELECT);
-	TD_SLOCK(td);
 	sleepq_remove(td, &selwait);
-	TD_SUNLOCK(td);
+	mtx_unlock(&sellock);
 
 }
 

==== //depot/projects/kmacy_sun4v/src/sys/kern/vfs_subr.c#8 (text+ko) ====

@@ -1731,9 +1731,7 @@
 	int ret = 0;
 
 	td = FIRST_THREAD_IN_PROC(updateproc);
-	TD_SLOCK(td);
 	sleepq_remove(td, &lbolt);
-	TD_SUNLOCK(td);
 	mtx_lock(&sync_mtx);
 	if (rushjob < syncdelay / 2) {
 		rushjob += 1;


More information about the p4-projects mailing list