[Date Prev][Date Next]
Re: 2.4.14 prerelease call for testing #2
On Thu, Feb 19, 2009 at 2:15 AM, Dieter Kluenter <firstname.lastname@example.org> wrote:
> Brett Maxfield <email@example.com> writes:
> > Doesnt "currently asm" indicate asm spinlocks.. Which can be unreliable. These can be even more unreliable with unpatched bdb?
> > So perhaps you should try posix style semaphores.. Forcing posix/pthreads both at compile time and at run time..
> db-4.7.25 has been build with --enable-posixmutexes
I use ../dist/configure --disable-java --enable-posixmutexes
--with-mutex=POSIX/pthreads --enable-largefile --enable-cxx
--with-mutex=POSIX/pthreads is important as it selects posix mutex at
runtime, not compile time.
If i remember above was also the workaround for before 4.7 patch #3
was released, which would cause asm to be selected by the selection
algorithm and it was asm spinlocks which had the bug.
On solaris at least, i think POSIX/pthreads is better as the thread
library is pretty good (IMHO) but i suspect newer Linuxes will have
good POSIX/pthreads also.. the BDB library makes debatable choice of
asm at runtime even if the platform has a good pthreads
I think on multi-threaded platform, spinlocks are non-optimal as there
are more possible race conditions and consumtion of large numbers of
locking / locker objects with openldap using asm spinlocks.. it is
probably fine / optimal for single threaded use though.