Date: Tue, 01 Apr 2008 21:38:28 +0200 From: Kris Kennaway <kris@FreeBSD.org> To: David Xu <davidxu@FreeBSD.org> Cc: Jeff Roberson <jroberson@chesapeake.net>, src-committers@FreeBSD.org, cvs-all@FreeBSD.org, cvs-src@FreeBSD.org Subject: Re: cvs commit: src/lib/libthr/thread thr_cond.c thr_private.h thr_rwlock.c Message-ID: <47F28F34.7060007@FreeBSD.org> In-Reply-To: <47F19B89.20601@freebsd.org> References: <200803310255.m2V2toJl053104@repoman.freebsd.org> <20080331150346.R72156@desktop> <47F19B89.20601@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
David Xu wrote: > Jeff Roberson wrote: >> On Mon, 31 Mar 2008, David Xu wrote: >> >>> davidxu 2008-03-31 02:55:50 UTC >>> >>> FreeBSD src repository >>> >>> Modified files: >>> lib/libthr/thread thr_cond.c thr_private.h thr_rwlock.c >>> Log: >>> Rewrite rwlock to user atomic operations to change rwlock state, this >>> eliminates internal mutex lock contention when most rwlock operations >>> are read. >>> >>> Orignal patch provided by: jeff >> >> Thanks David! >> >> Do you still plan to do kernel side support so we can totally >> eliminate the pthread mutex and condvars from rwlock? I have evidence >> that this would produce further improvements. >> >> Jeff > > I have pure kernel version working, sometimes locking kernel sleep > chain is more expensive than a pure userland mutex locking, since > kernel sleep chain lock is global. I am hestiate adding more code > to kernel since I have tested mysql super-smack and sysbench > read-only and seen no visible performance differences. > all patches are here: > > http://people.freebsd.org/~davidxu/patch/libthr_umtx_rwlock.diff This patch appears to be incomplete (it also doesn't apply cleanly). /zoo/kris/src8/lib/libthr/thread/thr_rwlock.c: In function 'rwlock_rdlock_common': /zoo/kris/src8/lib/libthr/thread/thr_rwlock.c:133: warning: implicit declaration of function '_thr_rwlock_tryrdlock' /zoo/kris/src8/lib/libthr/thread/thr_rwlock.c:173: warning: implicit declaration of function '__thr_rwlock_rdlock' /zoo/kris/src8/lib/libthr/thread/thr_rwlock.c: In function '_pthread_rwlock_trywrlock': /zoo/kris/src8/lib/libthr/thread/thr_rwlock.c:246: warning: implicit declaration of function '_thr_rwlock_trywrlock' /zoo/kris/src8/lib/libthr/thread/thr_rwlock.c: In function '_pthread_rwlock_unlock': /zoo/kris/src8/lib/libthr/thread/thr_rwlock.c:275: warning: implicit declaration of function '_thr_rwlock_unlock' /zoo/kris/src8/lib/libthr/thread/thr_rwlock.c: In function 'rwlock_wrlock_common': /zoo/kris/src8/lib/libthr/thread/thr_rwlock.c:331: warning: implicit declaration of function '__thr_rwlock_wrlock' *** Error code 1 Kris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47F28F34.7060007>