Bug 23226 - posixmutexes Patch für db4.7 aus UCS 2.4 sollte auch für db4.8 angewendet werden
posixmutexes Patch für db4.7 aus UCS 2.4 sollte auch für db4.8 angewendet werden
Status: CLOSED WORKSFORME
Product: UCS
Classification: Unclassified
Component: LDAP
UCS 3.0
Other Linux
: P5 normal (vote)
: UCS 3.0 - MS2
Assigned To: Moritz Muehlenhoff
Andreas Büsching
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-08-09 16:55 CEST by Arvid Requate
Modified: 2011-12-13 15:47 CET (History)
1 user (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arvid Requate univentionstaff 2011-08-09 16:55:11 CEST
Der Patch für db4.7 aus UCS 2.4, der configure mit --enable-posixmutexes aufruft sollte auch für db4.8 angewendet werden.

+++ This bug was initially created as a clone of Bug #23224 +++

svn/patches/db/2.4-0-0-ucs/4.7.25-6-ucs2.4-2/01_posix_mutexes.patch muss noch
nach svn/patches/db4.7/3.0-0-0-ucs/4.7.25-9/ übernommen werden.
Comment 1 Moritz Muehlenhoff univentionstaff 2011-09-01 15:15:03 CEST
Ich habe das im Rahmen der Patchübernahme (Bug 22103) geprüft:

Die Performanceprobleme mit BDB sind spezifisch für amd64, siehe diese Mail von Howard Chu: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=421946#70

Mit dem in 2.4 angewendeten Patch übergeben wir zusätzlich folgende Optionen an das BDB configure-Skript:

"--enable-posixmutexes --with-mutex=POSIX/pthreads"

--enable-posixmutexes ist nicht nötig sein, es wird unter Linux automatisch durch das configure-Skript erkannt. Das betrifft nur Nischen-Ports / BSDs u.ä.

Hier der Ausschnitt aus der Entwickler-Doku:
http://sewm.pku.edu.cn/src/paradise/thirdparty/installed/docs/ref/build_unix/conf.html

<start>
--enable-posixmutexes
    To force Berkeley DB to use the POSIX pthread mutex interfaces for underlying mutex support, enter --enable-posixmutexes as an argument to configure. This is rarely necessary: POSIX mutexes will be selected automatically on systems where they are the preferred implementation. 
<end>

Über die "--with-mutex"-Option kann eine alternative Mutex-Implementierung gewählt werden:

Im Debian-Paket wird seit Revision 4.8.24-1 (und somit auch im Squeeze-Paket) folgendes übergeben:

ifeq (zx86_64-linux-gnuz,z$(DEB_HOST_GNU_TYPE)z)
CONFIGURE_SWITCHES += --with-mutex=POSIX/pthreads/library
endif

D.h. "POSIX/pthreads/library" statt "POSIX/pthreads". Die beiden verschiedenen an --with-mutex übergebenen Argumente sind aber identisch. Diese werden unter db4.8-4.8.30/dist/aclocal/mutex.m4 definiert, hier der relevante Ausschnitt:

        if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then
                LIBS="$LIBS -lpthread"
                AM_PTHREADS_SHARED(POSIX/pthreads/library)
                LIBS="$orig_libs"
        fi
        if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then
                AM_PTHREADS_SHARED(POSIX/pthreads)
        fi

Die Squeeze-Version von db4.8 muss diesen Patch folglich nicht übernehmen.
Comment 2 Andreas Büsching univentionstaff 2011-09-27 10:36:04 CEST
(In reply to comment #1)
> Die Squeeze-Version von db4.8 muss diesen Patch folglich nicht übernehmen.

Im Build-Log ist zu sehen, dass der Parameter gesetzt ist:

checking if --with-mutex=MUTEX option specified... POSIX/pthreads/library
Comment 3 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:41:14 CET
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert werden:
"Clone This Bug"