Date: Thu, 10 May 2012 09:30:38 +0000 (UTC) From: David Xu <davidxu@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r235218 - head/lib/libthr/thread Message-ID: <201205100930.q4A9UcWI026597@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: davidxu Date: Thu May 10 09:30:37 2012 New Revision: 235218 URL: http://svn.freebsd.org/changeset/base/235218 Log: Create a common function lookup() to search a chan, this eliminates redundant SC_LOOKUP() calling. Modified: head/lib/libthr/thread/thr_sleepq.c Modified: head/lib/libthr/thread/thr_sleepq.c ============================================================================== --- head/lib/libthr/thread/thr_sleepq.c Thu May 10 09:10:31 2012 (r235217) +++ head/lib/libthr/thread/thr_sleepq.c Thu May 10 09:30:37 2012 (r235218) @@ -94,19 +94,23 @@ _sleepq_unlock(void *wchan) THR_LOCK_RELEASE(curthread, &sc->sc_lock); } -struct sleepqueue * -_sleepq_lookup(void *wchan) +static inline struct sleepqueue * +lookup(struct sleepqueue_chain *sc, void *wchan) { - struct sleepqueue_chain *sc; struct sleepqueue *sq; - sc = SC_LOOKUP(wchan); LIST_FOREACH(sq, &sc->sc_queues, sq_hash) if (sq->sq_wchan == wchan) return (sq); return (NULL); } +struct sleepqueue * +_sleepq_lookup(void *wchan) +{ + return (lookup(SC_LOOKUP(wchan), wchan)); +} + void _sleepq_add(void *wchan, struct pthread *td) { @@ -114,7 +118,7 @@ _sleepq_add(void *wchan, struct pthread struct sleepqueue *sq; sc = SC_LOOKUP(wchan); - sq = _sleepq_lookup(wchan); + sq = lookup(sc, wchan); if (sq != NULL) { SLIST_INSERT_HEAD(&sq->sq_freeq, td->sleepqueue, sq_flink); } else {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201205100930.q4A9UcWI026597>