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