svn commit: r192604 - in user/kmacy/releng_7_2_fcs/sys:
dev/hwpmc sys
Attilio Rao
attilio at freebsd.org
Tue May 26 18:45:41 UTC 2009
2009/5/22 Kip Macy <kmacy at freebsd.org>:
> Author: kmacy
> Date: Fri May 22 21:45:43 2009
> New Revision: 192604
> URL: http://svn.freebsd.org/changeset/base/192604
>
> Log:
> - remove pmc_kthread_mtx
> - replace sleep/wakeup on kthread with a condvar
> @@ -341,14 +335,12 @@ pmclog_loop(void *arg)
>
> mtx_lock_spin(&pmc_bufferlist_mtx);
> TAILQ_INSERT_HEAD(&pmc_bufferlist, lb, plb_next);
> - mtx_unlock_spin(&pmc_bufferlist_mtx);
>
> lb = NULL;
> }
Is this mtx_unlock_spin() removal intended to happen?
If not, it does introduce a LO between pmc_bufferlist_mtx and po_mtx.
> @@ -591,10 +582,10 @@ pmclog_configure_log(struct pmc_mdep *md
>
> error:
> /* shutdown the thread */
> - mtx_lock(&pmc_kthread_mtx);
> + mtx_lock_spin(&po->po_mtx);
> if (po->po_kthread)
> pmclog_stop_kthread(po);
> - mtx_unlock(&pmc_kthread_mtx);
> + mtx_lock_spin(&po->po_mtx);
Shouldn't this be mtx_unlock_spin() ?
The other part looks good.
Thanks,
Attilio
--
Peace can only be achieved by understanding - A. Einstein
More information about the svn-src-user
mailing list